Merge branch 'develop' of ssh://bitbucket.arbetsformedlingen.se:7999/tea/dafa-web-monorepo into develop
This commit is contained in:
@@ -91,12 +91,6 @@
|
|||||||
></digi-ng-form-checkbox>
|
></digi-ng-form-checkbox>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<digi-form-validation-message
|
|
||||||
*ngIf="rolesFormGroup.invalid && rolesFormGroup.errors.noRoleSelected && rolesFormGroup.touched"
|
|
||||||
af-variation="error"
|
|
||||||
>
|
|
||||||
Du måste välja minst en behörighet
|
|
||||||
</digi-form-validation-message>
|
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<digi-notification-alert
|
<digi-notification-alert
|
||||||
@@ -123,6 +117,22 @@
|
|||||||
</form>
|
</form>
|
||||||
</digi-typography>
|
</digi-typography>
|
||||||
|
|
||||||
|
<digi-ng-dialog
|
||||||
|
[afActive]="displayEditWithoutRolesDialog"
|
||||||
|
(afOnPrimaryClick)="onFormSubmitted(true)"
|
||||||
|
(afOnSecondaryClick)="abortFormSubmit()"
|
||||||
|
(afOnInactive)="abortFormSubmit()"
|
||||||
|
afHeading="Är du säker"
|
||||||
|
afHeadingLevel="h2"
|
||||||
|
afPrimaryButtonText="Ja, spara ändå"
|
||||||
|
afSecondaryButtonText="Nej, gå tillbaka"
|
||||||
|
>
|
||||||
|
<p>
|
||||||
|
Inga behörigheter har valts, det betyder att personalen inte kommer kunna utföra några arbetsuppgifter i systemet.
|
||||||
|
Är du säker att du vill spara?
|
||||||
|
</p>
|
||||||
|
</digi-ng-dialog>
|
||||||
|
|
||||||
<digi-ng-dialog
|
<digi-ng-dialog
|
||||||
id="roles-dialog"
|
id="roles-dialog"
|
||||||
[afActive]="displayRolesDialog"
|
[afActive]="displayRolesDialog"
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import {
|
|||||||
SimpleChanges,
|
SimpleChanges,
|
||||||
} from '@angular/core';
|
} from '@angular/core';
|
||||||
import { AbstractControl, FormControl, FormGroup } from '@angular/forms';
|
import { AbstractControl, FormControl, FormGroup } from '@angular/forms';
|
||||||
|
import { RoleEnum } from '@msfa-enums/role.enum';
|
||||||
import { EmployeeEditRequest } from '@msfa-models/api/employee-edit.request.model';
|
import { EmployeeEditRequest } from '@msfa-models/api/employee-edit.request.model';
|
||||||
import { Employee } from '@msfa-models/employee.model';
|
import { Employee } from '@msfa-models/employee.model';
|
||||||
import { CustomError } from '@msfa-models/error/custom-error';
|
import { CustomError } from '@msfa-models/error/custom-error';
|
||||||
@@ -63,6 +64,7 @@ export class EditEmployeeFormComponent implements OnInit, OnChanges {
|
|||||||
readonly toggleAllUtforandeVerksamhetFormControlName = 'allaUtforandeVerksamheter';
|
readonly toggleAllUtforandeVerksamhetFormControlName = 'allaUtforandeVerksamheter';
|
||||||
|
|
||||||
editEmployeeFormGroup: FormGroup | null = null;
|
editEmployeeFormGroup: FormGroup | null = null;
|
||||||
|
displayEditWithoutRolesDialog = false;
|
||||||
|
|
||||||
displayRolesDialog = false;
|
displayRolesDialog = false;
|
||||||
|
|
||||||
@@ -167,7 +169,11 @@ export class EditEmployeeFormComponent implements OnInit, OnChanges {
|
|||||||
return this.employeeFormService.getFormControlName(role);
|
return this.employeeFormService.getFormControlName(role);
|
||||||
}
|
}
|
||||||
|
|
||||||
onFormSubmitted(): void {
|
abortFormSubmit(): void {
|
||||||
|
this.displayEditWithoutRolesDialog = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
onFormSubmitted(saveWithoutRoles = false): void {
|
||||||
if (!this.editEmployeeFormGroup) {
|
if (!this.editEmployeeFormGroup) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -178,12 +184,23 @@ export class EditEmployeeFormComponent implements OnInit, OnChanges {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const roles = this.employeeFormService.getRolesFromFormGroup(this.rolesFormGroup, this.availableRoles);
|
||||||
|
if (!roles.length && !saveWithoutRoles) {
|
||||||
|
this.displayEditWithoutRolesDialog = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
this.formSubmitted.emit({
|
this.formSubmitted.emit({
|
||||||
email: this.emailFormControl?.value as string,
|
email: this.emailFormControl?.value as string,
|
||||||
tjanstIds: this.employeeFormService
|
tjanstIds: this.employeeFormService
|
||||||
.getSelectedTjanster(this.availableTjanster, +this.tjansterFormControl?.value)
|
.getSelectedTjanster(this.availableTjanster, +this.tjansterFormControl?.value)
|
||||||
.map(tjanst => tjanst.tjanstId),
|
.map(tjanst => tjanst.tjanstId),
|
||||||
roles: this.employeeFormService.getRolesFromFormGroup(this.rolesFormGroup, this.availableRoles),
|
roles: [
|
||||||
|
...new Set([
|
||||||
|
...this.employeeFormService.getRolesFromFormGroup(this.rolesFormGroup, this.availableRoles),
|
||||||
|
RoleEnum.MSFA_Standard,
|
||||||
|
]),
|
||||||
|
],
|
||||||
adressIds: this.toggleAllUtforandeVerksamhetFormControl.value
|
adressIds: this.toggleAllUtforandeVerksamhetFormControl.value
|
||||||
? []
|
? []
|
||||||
: this.utforandeVerksamheterService.getSelectedAdressIdsFromTreeNode(
|
: this.utforandeVerksamheterService.getSelectedAdressIdsFromTreeNode(
|
||||||
|
|||||||
@@ -20,10 +20,6 @@
|
|||||||
<dt>Förnamn</dt>
|
<dt>Förnamn</dt>
|
||||||
<dd>{{employee.firstName}}</dd>
|
<dd>{{employee.firstName}}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl>
|
|
||||||
<dt>Förnamn</dt>
|
|
||||||
<dd>{{employee.firstName}}</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
<dl>
|
||||||
<dt>Efternamn</dt>
|
<dt>Efternamn</dt>
|
||||||
<dd>{{employee.lastName}}</dd>
|
<dd>{{employee.lastName}}</dd>
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ import { AbstractControl, FormControl, FormGroup } from '@angular/forms';
|
|||||||
import { RoleEnum } from '@msfa-enums/role.enum';
|
import { RoleEnum } from '@msfa-enums/role.enum';
|
||||||
import { Role } from '@msfa-models/role.model';
|
import { Role } from '@msfa-models/role.model';
|
||||||
import { Tjanst } from '@msfa-models/tjanst.model';
|
import { Tjanst } from '@msfa-models/tjanst.model';
|
||||||
import { EmployeeValidator } from '@msfa-utils/validators/employee.validator';
|
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
@@ -48,10 +47,7 @@ export class EmployeeFormService {
|
|||||||
this.getFormControlName(role),
|
this.getFormControlName(role),
|
||||||
new FormControl(this.isSelectedRole(role, selectedRoles), []),
|
new FormControl(this.isSelectedRole(role, selectedRoles), []),
|
||||||
])
|
])
|
||||||
),
|
)
|
||||||
{
|
|
||||||
validators: [EmployeeValidator.HasSelectedAtLeastOneRole(roles.map(role => this.getFormControlName(role)))],
|
|
||||||
}
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,24 +3,24 @@
|
|||||||
<section class="employee-invite">
|
<section class="employee-invite">
|
||||||
<header class="employee-invite__header">
|
<header class="employee-invite__header">
|
||||||
<h1>Skapa personalkonto</h1>
|
<h1>Skapa personalkonto</h1>
|
||||||
<p>Här kan du skicka ett mail med inbjudningslänk till en ny personal.</p>
|
<p>Här kan du skicka en inbjudningslänk via e-post för att skapa nya personalkonton.</p>
|
||||||
</header>
|
</header>
|
||||||
<form [formGroup]="formGroup" (ngSubmit)="submitForm()">
|
<form [formGroup]="formGroup" (ngSubmit)="submitForm()">
|
||||||
<div class="employee-invite__description">
|
<div class="employee-invite__description">
|
||||||
<h2>Skicka en inbjudningslänk</h2>
|
<h2>Skicka en inbjudningslänk</h2>
|
||||||
<ol>
|
<ol>
|
||||||
<li>Skriv in personalens mailadress och klicka på "Skicka inbjudningslänk".</li>
|
<li>Skriv in personalens e-postadresser i fältet och klicka på "Skicka inbjudningslänk".</li>
|
||||||
<li>
|
<li>
|
||||||
Personalen öppnar inbjudningslänken via sin mail och genom identifiering med sitt Bank-ID skapas det nya
|
Personalen öppnar inbjudningslänken via sin e-post och genom identifiering med Bank-ID skapas det nya
|
||||||
personalkontot.
|
personalkontot.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
När personalkontot är skapat ser man det i personallistan. Initialt saknar det nya personalkontot
|
När personalkontot är skapat ser du det i personallistan. Initialt saknar det nya personalkontot
|
||||||
behörigheter.
|
behörigheter.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Tilldela personalkontot behörigheter genom att klicka på personalens namn i personallistan. Nu kan
|
Tilldela personalkontot behörigheter genom att klicka på personalens namn i personallistan. Välj redigera
|
||||||
personalen logga in och arbeta.
|
i personalkontot och lägg till behörigheter. Nu kan personalen logga in och arbeta.
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
></digi-form-input-search> -->
|
></digi-form-input-search> -->
|
||||||
<digi-form-checkbox
|
<digi-form-checkbox
|
||||||
class="employees__only-employees-without-authorization"
|
class="employees__only-employees-without-authorization"
|
||||||
af-label="Visa endast personer utan behörigheter"
|
af-label="Visa endast personal utan behörigheter"
|
||||||
[afChecked]="onlyEmployeesWithoutAuthorization$ | async"
|
[afChecked]="onlyEmployeesWithoutAuthorization$ | async"
|
||||||
(afOnChange)="setOnlyEmployeesWithoutAuthorization($event.detail.target.checked)"
|
(afOnChange)="setOnlyEmployeesWithoutAuthorization($event.detail.target.checked)"
|
||||||
></digi-form-checkbox>
|
></digi-form-checkbox>
|
||||||
|
|||||||
@@ -6,30 +6,32 @@ export interface Role {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function mapResponseToRoles(types: RoleEnum[] = []): Role[] {
|
export function mapResponseToRoles(types: RoleEnum[] = []): Role[] {
|
||||||
return types.map(type => {
|
return types
|
||||||
switch (type) {
|
.filter(type => type !== RoleEnum.MSFA_Standard)
|
||||||
case 'MSFA_Standard':
|
.map(type => {
|
||||||
return {
|
switch (type) {
|
||||||
name: 'Basanvändare',
|
case 'MSFA_Standard':
|
||||||
type: RoleEnum[type],
|
return {
|
||||||
};
|
name: 'Basanvändare',
|
||||||
case 'MSFA_ReportAndPlanning':
|
type: RoleEnum[type],
|
||||||
return {
|
};
|
||||||
name: 'Rapportering, planering och information om deltagare',
|
case 'MSFA_ReportAndPlanning':
|
||||||
type: RoleEnum[type],
|
return {
|
||||||
};
|
name: 'Rapportering, planering och information om deltagare',
|
||||||
case 'MSFA_ReceiveDeltagare':
|
type: RoleEnum[type],
|
||||||
return {
|
};
|
||||||
name: 'Ta emot deltagare',
|
case 'MSFA_ReceiveDeltagare':
|
||||||
type: RoleEnum[RoleEnum[type]],
|
return {
|
||||||
};
|
name: 'Ta emot deltagare',
|
||||||
case 'MSFA_AuthAdmin':
|
type: RoleEnum[RoleEnum[type]],
|
||||||
return {
|
};
|
||||||
name: 'Administrera behörigheter',
|
case 'MSFA_AuthAdmin':
|
||||||
type: RoleEnum[RoleEnum[type]],
|
return {
|
||||||
};
|
name: 'Administrera behörigheter',
|
||||||
default:
|
type: RoleEnum[RoleEnum[type]],
|
||||||
return;
|
};
|
||||||
}
|
default:
|
||||||
});
|
return;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"/api": {
|
"/api": {
|
||||||
"target": "https://mina-sidor-fa-utv.tocp.arbetsformedlingen.se",
|
"target": "https://mina-sidor-fa-sys.tocp.arbetsformedlingen.se",
|
||||||
"secure": false,
|
"secure": false,
|
||||||
"changeOrigin": true
|
"changeOrigin": true
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user