feature(Periodisk redovisning): Man kan nu bara göra periodisk redovisning ifall Gemensam planering är gjord (TV-808)

Squashed commit of the following:

commit b2f7ac185f7cbd1725627201e533bc3508b5c174
Author: Daniel Appelgren <daniel.appelgren@arbetsformedlingen.se>
Date:   Tue Oct 26 17:01:40 2021 +0200

    En Gemensam planering måste ha mottagits för att en Periodisk redovisning ska kunna skapas.
This commit is contained in:
Daniel Appelgren
2021-10-27 09:11:16 +02:00
parent 84af5924d3
commit 3971ea419c
4 changed files with 224 additions and 194 deletions

View File

@@ -23,7 +23,9 @@
</digi-notification-alert> </digi-notification-alert>
<msfa-back-link route="../">Tillbaka till deltagaren</msfa-back-link> <msfa-back-link route="../">Tillbaka till deltagaren</msfa-back-link>
</div> </div>
<ng-template #formRef> <ng-template #formRef>
<ng-container *ngIf="avrop.hasGemensamPlanering; else failedGemensamPlaneringCheck">
<form <form
*ngIf="periods$ | async as periods; else loadingRef" *ngIf="periods$ | async as periods; else loadingRef"
class="periodisk-redovisning-form__form" class="periodisk-redovisning-form__form"
@@ -82,7 +84,10 @@
></digi-ng-form-radiobutton-group> ></digi-ng-form-radiobutton-group>
</digi-form-fieldset> </digi-form-fieldset>
<div aria-atomic="true" role="alert"> <div aria-atomic="true" role="alert">
<digi-form-validation-message *ngIf="formControlIsInvalid(hasOfferedJobFormControl)" af-variation="error"> <digi-form-validation-message
*ngIf="formControlIsInvalid(hasOfferedJobFormControl)"
af-variation="error"
>
Ett val är obligatoriskt Ett val är obligatoriskt
</digi-form-validation-message> </digi-form-validation-message>
</div> </div>
@@ -203,8 +208,8 @@
></digi-icon-check-circle> ></digi-icon-check-circle>
<span> <span>
{{getActivityMetadata(activity.id).name}}: {{ activity.performedRemotely && {{getActivityMetadata(activity.id).name}}: {{ activity.performedRemotely &&
activity.performedPhysically ? 'på distans och på plats' : activity.performedRemotely ? 'på distans' activity.performedPhysically ? 'på distans och på plats' : activity.performedRemotely ? 'på
: 'på plats'}} distans' : 'på plats'}}
</span> </span>
</dd> </dd>
</ng-template> </ng-template>
@@ -233,11 +238,28 @@
> >
<p>Vill du behålla de svar och aktiviteter du tidigare valt?</p> <p>Vill du behålla de svar och aktiviteter du tidigare valt?</p>
</digi-ng-dialog> </digi-ng-dialog>
</ng-container>
</ng-template> </ng-template>
</div> </div>
</msfa-report-layout> </msfa-report-layout>
</msfa-layout> </msfa-layout>
<ng-template #failedGemensamPlaneringCheck>
<div class="periodisk-redovisning-form__failed-gemensam-planering-check-notification">
<digi-notification-alert
af-heading="Kan inte skapa gemensam planering"
af-size="M"
af-variation="info"
af-closeable="false"
>
<p>En Gemensam planering måste ha mottagits för att en Periodisk redovisning ska kunna skapas.</p>
</digi-notification-alert>
</div>
<p>
<msfa-back-link route="../">Tillbaka till deltagaren</msfa-back-link>
</p>
</ng-template>
<ng-template #skeletonRef> <ng-template #skeletonRef>
<digi-ng-skeleton-base <digi-ng-skeleton-base
[afCount]="3" [afCount]="3"

View File

@@ -66,4 +66,8 @@
&__activity-check { &__activity-check {
color: var(--digi--ui--color--border--success); color: var(--digi--ui--color--border--success);
} }
&__failed-gemensam-planering-check-notification {
margin-bottom: $digi--layout--gutter--l;
}
} }

View File

@@ -30,6 +30,7 @@ export interface AvropResponse {
handledareCiamUserId: string; handledareCiamUserId: string;
handledare: string; handledare: string;
recievedTimestamp: Date; recievedTimestamp: Date;
hasGemensamPlanering: boolean;
} }
export interface AvropApiResponse { export interface AvropApiResponse {

View File

@@ -26,6 +26,7 @@ export interface Avrop extends AvropCompact {
handledareCiamUserId: string; handledareCiamUserId: string;
handledare: string; handledare: string;
receivedTimestamp: Date; receivedTimestamp: Date;
hasGemensamPlanering: boolean;
} }
export interface AvropCompactData { export interface AvropCompactData {
@@ -52,6 +53,7 @@ export function mapAvropResponseToAvrop(data: AvropResponse): Avrop {
handledareCiamUserId, handledareCiamUserId,
handledare, handledare,
recievedTimestamp, recievedTimestamp,
hasGemensamPlanering,
} = data; } = data;
return { return {
@@ -73,5 +75,6 @@ export function mapAvropResponseToAvrop(data: AvropResponse): Avrop {
handledareCiamUserId: handledareCiamUserId, handledareCiamUserId: handledareCiamUserId,
handledare, handledare,
receivedTimestamp: new Date(recievedTimestamp), receivedTimestamp: new Date(recievedTimestamp),
hasGemensamPlanering,
}; };
} }