Merge pull request #258 in TEA/mina-sidor-fa-web from bugfix/TV-889-avrop-model to develop

Squashed commit of the following:

commit 8e98b79d711a708eec7908417506d8f707d023b4
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Fri Nov 12 10:16:54 2021 +0100

    Added personnummer to deltagare avrop

commit 6ac1849fa61b65346084c2304339a628844a7617
Merge: 095585ff 0cf61c0b
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Fri Nov 12 09:52:10 2021 +0100

    Merged develop and fixed conflicts

commit 095585ffa78b25f5d5ddd6987dcd3702c78bb494
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Thu Nov 11 09:07:46 2021 +0100

    Updated avrop model for nya deltagare
This commit is contained in:
Erik Tiekstra
2021-11-12 10:17:27 +01:00
parent 0cf61c0b44
commit 8682ca963a
42 changed files with 287 additions and 201 deletions

View File

@@ -10,48 +10,53 @@
(change)="emitToggle($event.target.checked)"
></digi-form-checkbox>
</div>
<dl class="avrop-row__name">
<dt class="avrop-table__label">Namn:</dt>
<dd *ngIf="avrop.fullName; else emptyText">{{avrop.fullName}}</dd>
</dl>
<dl class="avrop-row__tjanst">
<dt class="avrop-table__label">Tjänst:</dt>
<dd *ngIf="avrop.tjanst; else emptyText">{{avrop.tjanst}}</dd>
</dl>
<dl class="avrop-row__start">
<dt class="avrop-table__label">Startdatum:</dt>
<dd>
<digi-typography-time
*ngIf="avrop.startDate; else emptyText"
[afDateTime]="avrop.startDate"
></digi-typography-time>
</dd>
</dl>
<dl class="avrop-row__end">
<dt class="avrop-table__label">Slutdatum:</dt>
<dd>
<digi-typography-time *ngIf="avrop.endDate; else emptyText" [afDateTime]="avrop.endDate"></digi-typography-time>
</dd>
</dl>
<dl class="avrop-row__translator">
<dt class="avrop-table__label">Språkstöd/Tolk:</dt>
<dd>{{avrop.sprakstod || '- '}}/{{avrop.tolkbehov || ' -'}}</dd>
</dl>
<dl class="avrop-row__address">
<dt class="avrop-table__label">Utförande adress:</dt>
<dd *ngIf="avrop.utforandeAdress; else emptyText">{{avrop.utforandeAdress + ', ' + avrop.kommun}}</dd>
</dl>
<dl class="avrop-row__level">
<dt class="avrop-table__label">Spår/nivå:</dt>
<dd *ngIf="avrop.trackCode; else emptyText">{{avrop.trackName}}</dd>
</dl>
<dl>
<dt class="avrop-table__label">Genomförandereferens:</dt>
<dd *ngIf="avrop.genomforandeReferens; else emptyText">{{avrop.genomforandeReferens}}</dd>
</dl>
<dl class="avrop-row__handledare" *ngIf="isLocked">
<dt class="avrop-table__label">Vald handledare:</dt>
<dd *ngIf="handledare?.fullName; else emptyText">{{handledare?.fullName}}</dd>
<dl class="avrop-row__description-list">
<div class="avrop-row__name">
<dt>Namn:</dt>
<dd><ng-container *ngIf="avrop.fullName; else emptyText">{{avrop.fullName}}</ng-container></dd>
</div>
<div class="avrop-row__tjanst">
<dt>Tjänst:</dt>
<dd><ng-container *ngIf="avrop.tjanst; else emptyText">{{avrop.tjanst}}</ng-container></dd>
</div>
<div class="avrop-row__start">
<dt>Startdatum:</dt>
<dd>
<digi-typography-time
*ngIf="avrop.startDate; else emptyText"
[afDateTime]="avrop.startDate"
></digi-typography-time>
</dd>
</div>
<div class="avrop-row__end">
<dt>Slutdatum:</dt>
<dd>
<digi-typography-time
*ngIf="avrop.endDate; else emptyText"
[afDateTime]="avrop.endDate"
></digi-typography-time>
</dd>
</div>
<div class="avrop-row__translator">
<dt>Språkstöd/Tolk:</dt>
<dd>{{avrop.sprakstod || '- '}}/{{avrop.tolkbehov || ' -'}}</dd>
</div>
<div class="avrop-row__address">
<dt>Utförande adress:</dt>
<dd *ngIf="avrop.utforandeAdress; else emptyText">{{avrop.utforandeAdress + ', ' + avrop.kommun}}</dd>
</div>
<div class="avrop-row__level">
<dt>Spår/nivå:</dt>
<dd *ngIf="avrop.trackName; else emptyText">{{avrop.trackName}}</dd>
</div>
<div class="avrop-row__genomforandereferens">
<dt>Genomförandereferens:</dt>
<dd *ngIf="avrop.genomforandeReferens; else emptyText">{{avrop.genomforandeReferens}}</dd>
</div>
<div class="avrop-row__handledare" *ngIf="isLocked">
<dt>Vald handledare:</dt>
<dd *ngIf="handledare?.fullName; else emptyText">{{handledare?.fullName}}</dd>
</div>
</dl>
<div *ngIf="isLocked" class="avrop-row__delete">
<digi-button

View File

@@ -9,20 +9,22 @@
gap: var(--digi--layout--gutter) $digi--layout--gutter--l;
grid-template-areas:
'select name start translator level'
'select tjanst end address handledare';
'select genomforandereferens tjanst end address';
&--locked {
grid-template-columns: repeat(4, 1fr) 7.5rem;
grid-template-areas:
'name start translator level delete'
'tjanst end address handledare delete';
'genomforandereferens tjanst end address handledare';
}
&__description-list {
display: contents;
}
&__select {
grid-area: select;
margin-right: var(--digi--layout--gutter);
display: flex;
justify-content: center;
align-items: center;
}
@@ -50,6 +52,9 @@
&__handledare {
grid-area: handledare;
}
&__genomforandereferens {
grid-area: genomforandereferens;
}
&__delete {
grid-area: delete;
display: flex;

View File

@@ -1,5 +1,5 @@
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
@Component({
selector: 'msfa-report-description-list',
@@ -8,5 +8,5 @@ import { Avrop } from '@msfa-models/avrop.model';
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class ReportDescriptionListComponent {
@Input() avrop: Avrop;
@Input() avrop: DeltagareAvrop;
}

View File

@@ -1,5 +1,5 @@
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
@Component({
selector: 'msfa-report-layout',
@@ -13,6 +13,6 @@ export class ReportLayoutComponent {
@Input() description: string;
@Input() startDate: string;
@Input() endDate: string;
@Input() avrop: Avrop;
@Input() avrop: DeltagareAvrop;
@Input() showAvropDetails = true;
}

View File

@@ -1,5 +1,5 @@
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { ContactInformation } from '@msfa-models/contact-information.model';
import { Handledare } from '@msfa-models/handledare.model';
import { Role } from '@msfa-models/role.model';
@@ -18,7 +18,7 @@ export class DeltagareTabPersonalInformationComponent {
@Input() userRoles: Role[];
@Input() handledarePickerVisible: boolean;
avropInformation$: Observable<Avrop> = this.deltagareCardService.avropInformation$;
avropInformation$: Observable<DeltagareAvrop> = this.deltagareCardService.avropInformation$;
contactInformation$: Observable<ContactInformation> = this.deltagareCardService.contactInformation$;
availableHandledare$: Observable<Handledare[]> = this.avropInformation$.pipe(
distinctUntilChanged((prevAvrop, currAvrop) => prevAvrop.id === currAvrop.id),

View File

@@ -1,6 +1,6 @@
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { Disability } from '@msfa-models/disability.model';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { combineLatest, Observable } from 'rxjs';
@@ -17,7 +17,7 @@ export class DeltagareTabSensitiveInformationComponent {
genomforandereferens$: Observable<number> = this.activatedRoute.params.pipe(
map(({ genomforandeReferens }) => +genomforandeReferens)
);
avropInformation$: Observable<Avrop> = this.deltagareCardService.avropInformation$;
avropInformation$: Observable<DeltagareAvrop> = this.deltagareCardService.avropInformation$;
workLanguages$: Observable<string[]> = this.genomforandereferens$.pipe(
switchMap(genomforandeReferens =>
genomforandeReferens ? this.deltagareApiService.fetchWorkLanguages$(genomforandeReferens) : null

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { ContactInformation } from '@msfa-models/contact-information.model';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { HandledareService } from '@msfa-services/handledare.service';
@@ -30,7 +30,7 @@ export class DeltagareCardService {
shareReplay(1)
);
avropInformation$: Observable<Avrop> = combineLatest([
avropInformation$: Observable<DeltagareAvrop> = combineLatest([
this.currentGenomforandeReferens$,
this.avropNeedsUpdate$,
]).pipe(

View File

@@ -3,7 +3,7 @@ import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/
import { AbstractControl, FormArray, FormControl, FormGroup } from '@angular/forms';
import { ActivatedRoute } from '@angular/router';
import { AvvikelseReportRequest, AvvikelseRequest } from '@msfa-models/api/avvikelse-request.model';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { AvvikelseQuestion } from '@msfa-models/avvikelse-question.model';
import { AvvikelseReason } from '@msfa-models/avvikelse-reason.model';
import { CustomError } from '@msfa-models/error/custom-error';
@@ -46,7 +46,7 @@ export class AvvikelseReportFormComponent implements OnInit, OnDestroy {
genomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
map((params: Params) => +params.genomforandeReferens)
);
avrop$: Observable<Avrop> = this.genomforandeReferens$.pipe(
avrop$: Observable<DeltagareAvrop> = this.genomforandeReferens$.pipe(
switchMap(genomforandeReferens => this.avvikelseReportFormService.fetchAvropInformation$(genomforandeReferens)),
shareReplay(1)
);
@@ -143,11 +143,11 @@ export class AvvikelseReportFormComponent implements OnInit, OnDestroy {
return lastPossibleReportDay > new Date();
}
isAllowedToReport(avrop: Avrop): boolean {
isAllowedToReport(avrop: DeltagareAvrop): boolean {
return this._isAfterStartDate(avrop.startDate) && this._isBeforeLastPossibleReportDay(avrop.endDate);
}
notAllowedToReportWarning(avrop: Avrop): string {
notAllowedToReportWarning(avrop: DeltagareAvrop): string {
if (!this._isBeforeLastPossibleReportDay(avrop.endDate)) {
return 'Det går inte att göra Avvikelserapport (avvikelse) eftersom tjänsten har avslutats.';
}

View File

@@ -1,6 +1,6 @@
import { Injectable } from '@angular/core';
import { AvvikelseReportRequest } from '@msfa-models/api/avvikelse-request.model';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { AvvikelseQuestion } from '@msfa-models/avvikelse-question.model';
import { AvvikelseReason, sortAvvikelseReasons } from '@msfa-models/avvikelse-reason.model';
import { AvvikelseApiService } from '@msfa-services/api/avvikelse-api.service';
@@ -14,10 +14,9 @@ export class AvvikelseReportFormService {
.fetchAvvikelseQuestions$()
.pipe(shareReplay(1));
fetchAvvikelseReasons$: Observable<AvvikelseReason[]> = this.avvikelseApiService.fetchAvvikelseReasons$()
.pipe(
map(reasons => sortAvvikelseReasons(reasons))
);
fetchAvvikelseReasons$: Observable<AvvikelseReason[]> = this.avvikelseApiService
.fetchAvvikelseReasons$()
.pipe(map(reasons => sortAvvikelseReasons(reasons)));
constructor(private avvikelseApiService: AvvikelseApiService, private deltagareApiService: DeltagareApiService) {}
@@ -25,7 +24,7 @@ export class AvvikelseReportFormService {
return this.avvikelseApiService.createAvvikelse$(avvikelse);
}
fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
}
}

View File

@@ -4,7 +4,7 @@ import { ActivatedRoute } from '@angular/router';
import { ANNAN_ORSAK_ID } from '@msfa-constants/franvaro-reasons';
import { OrsaksKoderKanda } from '@msfa-enums/orsaks-koder-kanda.enum';
import { FranvaroReportRequest } from '@msfa-models/api/franvaro-request.model';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { CustomError } from '@msfa-models/error/custom-error';
import { FranvaroReason, setKnownReason, sortFranvaroReasons } from '@msfa-models/franvaro-reason.model';
import { Franvaro } from '@msfa-models/franvaro.model';
@@ -45,15 +45,15 @@ export class FranvaroReportFormComponent {
currentGenomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
map(params => +params.genomforandeReferens)
);
avrop$: Observable<Avrop> = this.currentGenomforandeReferens$.pipe(
avrop$: Observable<DeltagareAvrop> = this.currentGenomforandeReferens$.pipe(
switchMap(genomforandeReferens => this.franvaroReportFormService.fetchAvropInformation$(genomforandeReferens)),
shareReplay(1)
);
reasons$: Observable<FranvaroReason[]> = this.franvaroReportFormService.reasons$;
allReasons$: Observable<FranvaroReason[]> = combineLatest([this.reasons$, this.franvaroReportFormService.otherKnownReasons$])
.pipe(
map(([reasons, otherKnownReasons]) => sortFranvaroReasons(reasons.concat(otherKnownReasons)))
)
allReasons$: Observable<FranvaroReason[]> = combineLatest([
this.reasons$,
this.franvaroReportFormService.otherKnownReasons$,
]).pipe(map(([reasons, otherKnownReasons]) => sortFranvaroReasons(reasons.concat(otherKnownReasons))));
otherKnownReasons$: Observable<FranvaroReason[]> = this.franvaroReportFormService.otherKnownReasons$;
wholeDayOrPartOfDayRadiobuttons: Radiobutton[] = [
@@ -123,11 +123,11 @@ export class FranvaroReportFormComponent {
return lastPossibleReportDay > new Date();
}
isAllowedToReport(avrop: Avrop): boolean {
isAllowedToReport(avrop: DeltagareAvrop): boolean {
return this._isAfterStartDate(avrop.startDate) && this._isBeforeLastPossibleReportDay(avrop.endDate);
}
notAllowedToReportWarning(avrop: Avrop): string {
notAllowedToReportWarning(avrop: DeltagareAvrop): string {
if (!this._isBeforeLastPossibleReportDay(avrop.endDate)) {
return 'Det går inte att göra Avvikelserapport (frånvaro) eftersom tjänsten har avslutats.';
}
@@ -197,9 +197,9 @@ export class FranvaroReportFormComponent {
slutTid: this.showTimePickers ? endTime : '23:59', // BÄR doesn't accept empty string or null
alternativForKandaOrsaker: this.isOtherKnownReason
? {
typ: reason,
motivering: this.showKnownReasonTextArea ? knownReasonComment : '',
}
typ: reason,
motivering: this.showKnownReasonTextArea ? knownReasonComment : '',
}
: null,
forvantadNarvaro: {
startTid: expectedPresenceStartTime,

View File

@@ -1,6 +1,6 @@
import { Injectable } from '@angular/core';
import { FranvaroReportRequest } from '@msfa-models/api/franvaro-request.model';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { FranvaroReason } from '@msfa-models/franvaro-reason.model';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { FranvaroReportApiService } from '@msfa-services/api/franvaro-report.api.service';
@@ -16,7 +16,7 @@ export class FranvaroReportFormService {
private deltagareApiService: DeltagareApiService
) {}
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
}

View File

@@ -3,7 +3,7 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
import { FormArray, FormControl, FormGroup } from '@angular/forms';
import { ActivatedRoute } from '@angular/router';
import { Activity } from '@msfa-models/activity.model';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { CustomError } from '@msfa-models/error/custom-error';
import {
GemensamPlanering,
@@ -36,7 +36,7 @@ export class GemensamPlaneringFormComponent {
currentGenomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
map(params => +params.genomforandeReferens)
);
avrop$: Observable<Avrop> = this.currentGenomforandeReferens$.pipe(
avrop$: Observable<DeltagareAvrop> = this.currentGenomforandeReferens$.pipe(
switchMap(genomforandeReferens => this.gemensamPlaneringFormService.fetchAvropInformation$(genomforandeReferens)),
shareReplay(1)
);
@@ -158,11 +158,11 @@ export class GemensamPlaneringFormComponent {
return lastPossibleReportDay > new Date();
}
isAllowedToReport(avrop: Avrop): boolean {
isAllowedToReport(avrop: DeltagareAvrop): boolean {
return this._isAfterStartDate(avrop.startDate) && this._isBeforeLastPossibleReportDay(avrop.endDate);
}
notAllowedToReportWarning(avrop: Avrop): string {
notAllowedToReportWarning(avrop: DeltagareAvrop): string {
if (!this._isBeforeLastPossibleReportDay(avrop.endDate)) {
return 'Det går inte att göra Gemensam planering eftersom tjänsten har avslutats.';
}

View File

@@ -1,7 +1,7 @@
import { Injectable } from '@angular/core';
import { Activity } from '@msfa-models/activity.model';
import { GemensamPlaneringPostRequest } from '@msfa-models/api/gemensam-planering.request.model';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service';
import { Observable } from 'rxjs';
@@ -11,7 +11,7 @@ export class GemensamPlaneringFormService {
constructor(private gemensamPlaneringApiService: GemensamPlaneringApiService) {}
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
return this.gemensamPlaneringApiService.fetchAvropInformation$(genomforandeReferens);
}

View File

@@ -4,7 +4,7 @@ import { FormControl, FormGroup } from '@angular/forms';
import { ActivatedRoute } from '@angular/router';
import { InformativRapportCategory, InformativRapportCategoryKey } from '@msfa-enums/informativ-rapport-category.enum';
import { InformativRapportRequest } from '@msfa-models/api/informativ-rapport.request.model';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { CustomError } from '@msfa-models/error/custom-error';
import { RequiredValidator } from '@msfa-utils/validators/required.validator';
import { BehaviorSubject, combineLatest, Observable } from 'rxjs';
@@ -28,7 +28,7 @@ export class InformativRapportFormComponent {
genomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
map(params => +params.genomforandeReferens)
);
avrop$: Observable<Avrop> = this.genomforandeReferens$.pipe(
avrop$: Observable<DeltagareAvrop> = this.genomforandeReferens$.pipe(
switchMap(genomforandeReferens => this.informativRapportFormService.fetchAvropInformation$(genomforandeReferens)),
shareReplay(1)
);

View File

@@ -1,6 +1,6 @@
import { Injectable } from '@angular/core';
import { InformativRapportRequest } from '@msfa-models/api/informativ-rapport.request.model';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { InformativRapportApiService } from '@msfa-services/api/informativ-rapport.api.service';
import { Observable } from 'rxjs';
@@ -16,7 +16,7 @@ export class InformativRapportFormService {
return this.informativRapportApiService.postInformativRapport$(requestData);
}
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
}
}

View File

@@ -9,7 +9,7 @@ import {
PeriodiskRedovisningRequest,
} from '@msfa-models/api/periodisk-redovisning.request.model';
import { AvropPeriod } from '@msfa-models/avrop-period.model';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { CustomError } from '@msfa-models/error/custom-error';
import { capitalizeWords } from '@msfa-utils/capitalize-words.util';
import { formatDate, formatToDate } from '@msfa-utils/format-to-date.util';
@@ -53,7 +53,7 @@ export class PeriodiskRedovisningFormComponent implements OnInit {
genomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
map((params: Params) => +params.genomforandeReferens)
);
avrop$: Observable<Avrop> = this.genomforandeReferens$.pipe(
avrop$: Observable<DeltagareAvrop> = this.genomforandeReferens$.pipe(
switchMap(genomforandeReferens =>
this.periodiskRedovisningFormService.fetchAvropInformation$(genomforandeReferens)
),

View File

@@ -1,12 +1,12 @@
import { Injectable } from '@angular/core';
import { Avrop } from '@msfa-models/avrop.model';
import { Activity, mapResponseToActivity } from '@msfa-models/activity.model';
import { PeriodiskRedovisningRequest } from '@msfa-models/api/periodisk-redovisning.request.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service';
import { PeriodiskRedovisningApiService } from '@msfa-services/api/periodisk-redovisning.api.service';
import { Observable } from 'rxjs';
import { PeriodiskRedovisningRequest } from '@msfa-models/api/periodisk-redovisning.request.model';
import { map } from 'rxjs/operators';
import { Activity, mapResponseToActivity } from '@msfa-models/activity.model';
import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service';
@Injectable()
export class PeriodiskRedovisningFormService {
@@ -16,7 +16,7 @@ export class PeriodiskRedovisningFormService {
private gemensamPlaneringApiService: GemensamPlaneringApiService
) {}
fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
}

View File

@@ -3,7 +3,7 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
import { FormControl, FormGroup } from '@angular/forms';
import { ActivatedRoute } from '@angular/router';
import { SignalRequest } from '@msfa-models/api/signal.request.model';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { CustomError } from '@msfa-models/error/custom-error';
import { Signal } from '@msfa-models/signal.model';
import { formatDate } from '@msfa-utils/format-to-date.util';
@@ -39,7 +39,7 @@ export class SignalFormComponent {
currentGenomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
map(params => +params.genomforandeReferens)
);
avrop$: Observable<Avrop> = this.currentGenomforandeReferens$.pipe(
avrop$: Observable<DeltagareAvrop> = this.currentGenomforandeReferens$.pipe(
switchMap(genomforandeReferens => this.signalFormService.fetchAvropInformation$(genomforandeReferens)),
shareReplay(1)
);

View File

@@ -1,6 +1,6 @@
import { Injectable } from '@angular/core';
import { SignalRequest } from '@msfa-models/api/signal.request.model';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { SignalApiService } from '@msfa-services/api/signal.api.service';
import { Observable } from 'rxjs';
@@ -13,7 +13,7 @@ export class SignalFormService {
return this.signalApiService.postSignal$(requestData);
}
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
}
}

View File

@@ -1,13 +1,13 @@
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { slutredovisningFormDataToSlutredovisningRequest } from '../utils/form-data-to-slutredovisning.util';
import { CustomError } from '@msfa-models/error/custom-error';
import { BehaviorSubject } from 'rxjs';
import { SlutredovisningFormService } from '../slutredovisning-form.service';
import { SlutredovisningResponseMainOccupationDetails } from '@msfa-models/api/slutredovisning.response.model';
import { Avrop } from '@msfa-models/avrop.model';
import { map } from 'rxjs/operators';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { CustomError } from '@msfa-models/error/custom-error';
import { MainOccupation, Slutredovisning } from '@msfa-models/slutredovisning.model';
import { BehaviorSubject } from 'rxjs';
import { map } from 'rxjs/operators';
import { SlutredovisningFormData } from '../models/slutredovisning-form-data.model';
import { SlutredovisningFormService } from '../slutredovisning-form.service';
import { slutredovisningFormDataToSlutredovisningRequest } from '../utils/form-data-to-slutredovisning.util';
@Component({
selector: 'msfa-slutredovisning-form-step3',
@@ -17,7 +17,7 @@ import { SlutredovisningFormData } from '../models/slutredovisning-form-data.mod
export class SlutredovisningFormStep3Component {
@Output() backClick = new EventEmitter<void>();
@Input() slutredovisningFormData: SlutredovisningFormData;
@Input() avrop: Avrop;
@Input() avrop: DeltagareAvrop;
submitIsLoading$ = new BehaviorSubject<boolean>(false);
submitError$ = new BehaviorSubject<CustomError>(null);

View File

@@ -1,17 +1,17 @@
import { ChangeDetectionStrategy, Component, OnDestroy } from '@angular/core';
import { AbstractControl, FormGroup } from '@angular/forms';
import { ActivatedRoute } from '@angular/router';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { addDays } from 'date-fns';
import { BehaviorSubject, combineLatest, Observable, Subscription } from 'rxjs';
import { map, shareReplay, switchMap } from 'rxjs/operators';
import { SlutredovisningFormService } from './slutredovisning-form.service';
import { addDays } from 'date-fns';
import { SlutredovisningStep } from './slutredovisning-form.model';
import { SlutredovisningFormData } from './models/slutredovisning-form-data.model';
import { SlutredovisningStep0FormData } from './slutredovisning-form-step0/slutredovisning-form-step0.component';
import { SlutredovisningStep1FormData } from './slutredovisning-form-step1/slutredovisning-form-step1.component';
import { SlutredovisningStep2FormData } from './slutredovisning-form-step2/slutredovisning-form-step2.component';
import { SlutredovisningStep } from './slutredovisning-form.model';
import { SlutredovisningFormService } from './slutredovisning-form.service';
import { formsToSlutredovisningFormData } from './utils/form-data-to-slutredovisning.util';
import { SlutredovisningFormData } from './models/slutredovisning-form-data.model';
interface Params {
genomforandeReferens: string;
@@ -54,7 +54,7 @@ export class SlutredovisningFormComponent implements OnDestroy {
)
);
avrop$: Observable<Avrop> = this.genomforandeReferens$.pipe(
avrop$: Observable<DeltagareAvrop> = this.genomforandeReferens$.pipe(
switchMap(genomforandeReferens => this.slutredovisningFormService.fetchAvropInformation$(genomforandeReferens)),
shareReplay(1)
);
@@ -80,11 +80,11 @@ export class SlutredovisningFormComponent implements OnDestroy {
return lastPossibleReportDay > new Date();
}
isAllowedToReport(avrop: Avrop): boolean {
isAllowedToReport(avrop: DeltagareAvrop): boolean {
return this._isAfterStartDate(avrop.startDate) && this._isBeforeLastPossibleReportDay(avrop.endDate);
}
notAllowedToReportWarning(avrop: Avrop): string {
notAllowedToReportWarning(avrop: DeltagareAvrop): string {
if (!this._isBeforeLastPossibleReportDay(avrop.endDate)) {
return 'Det går inte att göra Slutredovisning eftersom tjänsten har avslutats.';
}

View File

@@ -1,6 +1,7 @@
import { Injectable } from '@angular/core';
import { Activity, mapResponseToActivity } from '@msfa-models/activity.model';
import { Avrop } from '@msfa-models/avrop.model';
import { SlutredovisningRequest } from '@msfa-models/api/slutredovisning.request.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { mapResponseToYrkesomrade, Yrkesomrade, yrkeToTextMap } from '@msfa-models/yrkesomrade.model';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service';
@@ -9,9 +10,8 @@ import { BehaviorSubject, Observable } from 'rxjs';
import { map, shareReplay } from 'rxjs/operators';
import { SlutredovisningStep0FormData } from './slutredovisning-form-step0/slutredovisning-form-step0.component';
import { SlutredovisningStep1FormData } from './slutredovisning-form-step1/slutredovisning-form-step1.component';
import { SlutredovisningStep } from './slutredovisning-form.model';
import { SlutredovisningStep2FormData } from './slutredovisning-form-step2/slutredovisning-form-step2.component';
import { SlutredovisningRequest } from '@msfa-models/api/slutredovisning.request.model';
import { SlutredovisningStep } from './slutredovisning-form.model';
@Injectable()
export class SlutredovisningFormService {
@@ -49,7 +49,7 @@ export class SlutredovisningFormService {
return this.slutredovisningApiService.submitSlutredovisning$(slutredovisning);
}
fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
}

View File

@@ -1,7 +1,7 @@
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Params } from '@msfa-models/api/params.model';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { AvvikelseReport } from '@msfa-models/avvikelse.model';
import { Observable } from 'rxjs';
import { map, shareReplay, switchMap } from 'rxjs/operators';
@@ -20,7 +20,7 @@ export class AvvikelseReportViewComponent {
genomforandeReferens: params.genomforandeReferens as string,
}))
);
avrop$: Observable<Avrop> = this.params$.pipe(
avrop$: Observable<DeltagareAvrop> = this.params$.pipe(
switchMap(({ genomforandeReferens }) =>
this.avvikelseReportViewService.fetchAvropInformation$(+genomforandeReferens)
),

View File

@@ -1,13 +1,13 @@
import { Injectable } from '@angular/core';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { AvvikelseQuestion } from '@msfa-models/avvikelse-question.model';
import { AvvikelseReason } from '@msfa-models/avvikelse-reason.model';
import { AvvikelseReport, mapResponseToAvvikelse } from '@msfa-models/avvikelse.model';
import { AvvikelseApiService } from '@msfa-services/api/avvikelse-api.service';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { HandlingarApiService } from '@msfa-services/api/handlingar.api.service';
import { combineLatest, Observable } from 'rxjs';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { filter, map, switchMap } from 'rxjs/operators';
import { AvvikelseReason } from '@msfa-models/avvikelse-reason.model';
import { AvvikelseQuestion } from '@msfa-models/avvikelse-question.model';
import { AvvikelseApiService } from '@msfa-services/api/avvikelse-api.service';
@Injectable()
export class AvvikelseReportViewService {
@@ -20,7 +20,7 @@ export class AvvikelseReportViewService {
private avvikelseApiService: AvvikelseApiService
) {}
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
}

View File

@@ -1,7 +1,7 @@
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Params } from '@msfa-models/api/params.model';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { FranvaroReport } from '@msfa-models/franvaro.model';
import { Observable } from 'rxjs';
import { map, shareReplay, switchMap } from 'rxjs/operators';
@@ -20,7 +20,7 @@ export class FranvaroReportViewComponent {
genomforandeReferens: params.genomforandeReferens as string,
}))
);
avrop$: Observable<Avrop> = this.params$.pipe(
avrop$: Observable<DeltagareAvrop> = this.params$.pipe(
switchMap(({ genomforandeReferens }) =>
this.franvaroReportViewService.fetchAvropInformation$(+genomforandeReferens)
),

View File

@@ -1,11 +1,11 @@
import { Injectable } from '@angular/core';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { FranvaroReason } from '@msfa-models/franvaro-reason.model';
import { FranvaroReport, mapResponseToFranvaro } from '@msfa-models/franvaro.model';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { FranvaroReportApiService } from '@msfa-services/api/franvaro-report.api.service';
import { HandlingarApiService } from '@msfa-services/api/handlingar.api.service';
import { combineLatest, Observable } from 'rxjs';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { FranvaroReason } from '@msfa-models/franvaro-reason.model';
import { FranvaroReportApiService } from '@msfa-services/api/franvaro-report.api.service';
import { filter, map, switchMap } from 'rxjs/operators';
@Injectable()
@@ -21,7 +21,7 @@ export class FranvaroReportViewService {
private deltagareApiService: DeltagareApiService
) {}
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
}

View File

@@ -1,7 +1,7 @@
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Params } from '@msfa-models/api/params.model';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { GemensamPlaneringDetailed } from '@msfa-models/gemensam-planering.model';
import { Observable } from 'rxjs';
import { map, shareReplay, switchMap } from 'rxjs/operators';
@@ -20,7 +20,7 @@ export class GemensamPlaneringViewComponent {
genomforandeReferens: params.genomforandeReferens as string,
}))
);
avrop$: Observable<Avrop> = this.params$.pipe(
avrop$: Observable<DeltagareAvrop> = this.params$.pipe(
switchMap(({ genomforandeReferens }) =>
this.gemensamPlaneringViewService.fetchAvropInformation$(+genomforandeReferens)
),

View File

@@ -1,15 +1,15 @@
import { Injectable } from '@angular/core';
import { Avrop } from '@msfa-models/avrop.model';
import { Activity } from '@msfa-models/activity.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import {
GemensamPlaneringDetailed,
mapResponseToGemensamPlaneringDetailed,
} from '@msfa-models/gemensam-planering.model';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service';
import { HandlingarApiService } from '@msfa-services/api/handlingar.api.service';
import { Observable } from 'rxjs';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { map, switchMap } from 'rxjs/operators';
import { Activity } from '@msfa-models/activity.model';
import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service';
@Injectable()
export class GemensamPlaneringViewService {
@@ -21,7 +21,7 @@ export class GemensamPlaneringViewService {
private gemensamPlaneringApiService: GemensamPlaneringApiService
) {}
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
}

View File

@@ -1,7 +1,7 @@
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Params } from '@msfa-models/api/params.model';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { InformativRapport } from '@msfa-models/informativ-rapport.model';
import { Observable } from 'rxjs';
import { map, shareReplay, switchMap } from 'rxjs/operators';
@@ -20,7 +20,7 @@ export class InformativRapportViewComponent {
genomforandeReferens: params.genomforandeReferens as string,
}))
);
avrop$: Observable<Avrop> = this.params$.pipe(
avrop$: Observable<DeltagareAvrop> = this.params$.pipe(
switchMap(({ genomforandeReferens }) =>
this.informativRapportViewService.fetchAvropInformation$(+genomforandeReferens)
),

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { InformativRapport, mapResponseToInformativRapport } from '@msfa-models/informativ-rapport.model';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { HandlingarApiService } from '@msfa-services/api/handlingar.api.service';
@@ -10,7 +10,7 @@ import { map } from 'rxjs/operators';
export class InformativRapportViewService {
constructor(private handlingarApiService: HandlingarApiService, private deltagareApiService: DeltagareApiService) {}
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
}

View File

@@ -1,7 +1,7 @@
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Params } from '@msfa-models/api/params.model';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { PeriodiskRedovisning, PeriodiskRedovisningActivity } from '@msfa-models/periodisk-redovisning.model';
import { capitalizeWords } from '@msfa-shared/utils/capitalize-words.util';
import { formatDate, formatToDate } from '@msfa-shared/utils/format-to-date.util';
@@ -22,7 +22,7 @@ export class PeriodiskRedovisningViewComponent {
genomforandeReferens: params.genomforandeReferens as string,
}))
);
avrop$: Observable<Avrop> = this.params$.pipe(
avrop$: Observable<DeltagareAvrop> = this.params$.pipe(
switchMap(({ genomforandeReferens }) =>
this.periodiskRedovisningViewService.fetchAvropInformation$(+genomforandeReferens)
),

View File

@@ -1,6 +1,6 @@
import { Injectable } from '@angular/core';
import { Activity } from '@msfa-models/activity.model';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { mapResponseToPeriodiskRedovisning, PeriodiskRedovisning } from '@msfa-models/periodisk-redovisning.model';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service';
@@ -18,7 +18,7 @@ export class PeriodiskRedovisningViewService {
private deltagareApiService: DeltagareApiService
) {}
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
}

View File

@@ -1,11 +1,11 @@
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Params } from '@msfa-models/api/params.model';
import { Avrop } from '@msfa-models/avrop.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { Slutredovisning } from '@msfa-models/slutredovisning.model';
import { Observable } from 'rxjs';
import { map, shareReplay, switchMap } from 'rxjs/operators';
import { SlutredovisningViewService } from './slutredovisning-view.service';
import { Slutredovisning } from '@msfa-models/slutredovisning.model';
@Component({
selector: 'msfa-slutredovisning-view',
@@ -20,7 +20,7 @@ export class SlutredovisningViewComponent {
genomforandeReferens: params.genomforandeReferens as string,
}))
);
avrop$: Observable<Avrop> = this.params$.pipe(
avrop$: Observable<DeltagareAvrop> = this.params$.pipe(
switchMap(({ genomforandeReferens }) =>
this.slutredovisningViewService.fetchAvropInformation$(+genomforandeReferens)
),

View File

@@ -1,21 +1,16 @@
import { Injectable } from '@angular/core';
import { Avrop } from '@msfa-models/avrop.model';
import { SlutredovisningResponse } from '@msfa-models/api/slutredovisning.response.model';
import { DeltagareAvrop } from '@msfa-models/avrop.model';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { HandlingarApiService } from '@msfa-services/api/handlingar.api.service';
import { Observable } from 'rxjs';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { SlutredovisningApiService } from '@msfa-services/api/slutredovisning.api.service';
import { SlutredovisningResponse } from '@msfa-models/api/slutredovisning.response.model';
import { map } from 'rxjs/operators';
@Injectable()
export class SlutredovisningViewService {
constructor(
private handlingarApiService: HandlingarApiService,
private deltagareApiService: DeltagareApiService,
private gemensamPlaneringApiService: SlutredovisningApiService
) {}
constructor(private handlingarApiService: HandlingarApiService, private deltagareApiService: DeltagareApiService) {}
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
public fetchAvropInformation$(genomforandeReferens: number): Observable<DeltagareAvrop> {
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
}