Fixed issue with utforandeverksamheter in employees
This commit is contained in:
@@ -43,37 +43,41 @@
|
|||||||
Kontot har behörighet till alla utförande verksamheter och utförande adresser inom organisationen.
|
Kontot har behörighet till alla utförande verksamheter och utförande adresser inom organisationen.
|
||||||
</p>
|
</p>
|
||||||
<ng-template #specificUtforandeVerksamheter>
|
<ng-template #specificUtforandeVerksamheter>
|
||||||
<div *ngIf="employee.utforandeVerksamhet?.length" class="employee-card__utforandeverksamheter-cards">
|
<p style="color: red">
|
||||||
<ng-container>
|
OBS: BEHÖVER FIXAS, ÄVEN OM MAN HAR UTFÖRANDE VERKSAMHETER SÅ SYNS DOM INTE DÅ VI BARA FÅR UT ID
|
||||||
<digi-info-card
|
|
||||||
*ngFor="let utforandeverksamhet of employee.utforandeVerksamhet"
|
|
||||||
[afHeading]="utforandeverksamhet.namn"
|
|
||||||
af-heading-level="h2"
|
|
||||||
af-type="info"
|
|
||||||
class="employee-card__utforandeverksamheter-card"
|
|
||||||
>
|
|
||||||
<digi-ng-layout-expansion-panel *ngIf="utforandeverksamhet.adresser.length > 0">
|
|
||||||
<span data-slot-trigger>
|
|
||||||
{{ accordionExpanded ? 'Dölj' : 'Visa' }} {{utforandeverksamhet.adresser.length}}
|
|
||||||
{{utforandeverksamhet.adresser.length === 1 ? 'adress' : 'adresser'}}
|
|
||||||
</span>
|
|
||||||
<ul class="employee-card__utforandeverksamheter-address-list">
|
|
||||||
<li
|
|
||||||
class="employee-card__utforandeverksamheter-address-list-item"
|
|
||||||
*ngFor="let address of utforandeverksamhet.adresser"
|
|
||||||
>
|
|
||||||
<span>{{address.adressrad}}</span>
|
|
||||||
<span>{{address.postnummer}}</span>
|
|
||||||
<span>{{address.postort}}</span>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</digi-ng-layout-expansion-panel>
|
|
||||||
</digi-info-card>
|
|
||||||
</ng-container>
|
|
||||||
</div>
|
|
||||||
<p *ngIf="!employee.utforandeVerksamhet.length">
|
|
||||||
Kontot har inga registrerade utförande verksamheter eller utförande adresser ännu.
|
|
||||||
</p>
|
</p>
|
||||||
|
<div
|
||||||
|
*ngIf="employee.utforandeVerksamheter?.length; else missingUtforandeVerksamheter"
|
||||||
|
class="employee-card__utforandeverksamheter-cards"
|
||||||
|
>
|
||||||
|
<digi-info-card
|
||||||
|
*ngFor="let utforandeverksamhet of employee.utforandeVerksamhet"
|
||||||
|
[afHeading]="utforandeverksamhet.namn"
|
||||||
|
af-heading-level="h2"
|
||||||
|
af-type="info"
|
||||||
|
class="employee-card__utforandeverksamheter-card"
|
||||||
|
>
|
||||||
|
<digi-ng-layout-expansion-panel *ngIf="utforandeverksamhet.adresser.length > 0">
|
||||||
|
<span data-slot-trigger>
|
||||||
|
{{ accordionExpanded ? 'Dölj' : 'Visa' }} {{utforandeverksamhet.adresser.length}}
|
||||||
|
{{utforandeverksamhet.adresser.length === 1 ? 'adress' : 'adresser'}}
|
||||||
|
</span>
|
||||||
|
<ul class="employee-card__utforandeverksamheter-address-list">
|
||||||
|
<li
|
||||||
|
class="employee-card__utforandeverksamheter-address-list-item"
|
||||||
|
*ngFor="let address of utforandeverksamhet.adresser"
|
||||||
|
>
|
||||||
|
<span>{{address.adressrad}}</span>
|
||||||
|
<span>{{address.postnummer}}</span>
|
||||||
|
<span>{{address.postort}}</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</digi-ng-layout-expansion-panel>
|
||||||
|
</digi-info-card>
|
||||||
|
</div>
|
||||||
|
<ng-template #missingUtforandeVerksamheter>
|
||||||
|
<p>Kontot har inga registrerade utförande verksamheter eller utförande adresser ännu.</p>
|
||||||
|
</ng-template>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</div>
|
</div>
|
||||||
<div class="employee-card__column">
|
<div class="employee-card__column">
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ export class EmployeeInviteComponent {
|
|||||||
|
|
||||||
get emailsControlValueAsArray(): string[] {
|
get emailsControlValueAsArray(): string[] {
|
||||||
return (this.emailsControl.value as string)
|
return (this.emailsControl.value as string)
|
||||||
.replaceAll(' ', '')
|
.trim()
|
||||||
.split(',')
|
.split(',')
|
||||||
.filter(email => !!email);
|
.filter(email => !!email);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,31 +28,30 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr class="employees-list__row" *ngFor="let employee of employees">
|
<tr class="employees-list__row" *ngFor="let employee of employees">
|
||||||
<th style="white-space: nowrap" scope="row">
|
<th class="employees-list__cell employees-list__cell--nowrap" style="white-space: nowrap" scope="row">
|
||||||
<a [routerLink]="employee.id" class="employees-list__link">{{ employee.fullName }}</a>
|
<a [routerLink]="employee.id" class="employees-list__link">{{ employee.fullName }}</a>
|
||||||
</th>
|
</th>
|
||||||
<!-- <ng-container
|
<td class="employees-list__cell employees-list__cell--nowrap" style="white-space: nowrap">
|
||||||
*ngIf="employee?.tjanster?.length && employee?.utforandeVerksamheter?.length; else noPermissions"
|
|
||||||
> -->
|
|
||||||
<td style="white-space: nowrap">
|
|
||||||
<ng-container *ngIf="employee.tjanster.length">
|
<ng-container *ngIf="employee.tjanster.length">
|
||||||
{{ employee.tjanster[0] }}<ng-container *ngIf="employee.tjanster.length > 1">
|
{{ employee.tjanster[0] }}<ng-container *ngIf="employee.tjanster.length > 1">
|
||||||
(+{{employee.tjanster.length - 1}})</ng-container
|
(+{{employee.tjanster.length - 1}})</ng-container
|
||||||
>
|
>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container *ngIf="!employee.tjanster.length"> Tjänst saknas </ng-container>
|
<ng-container *ngIf="!employee.tjanster.length">Tjänst saknas</ng-container>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td class="employees-list__cell">
|
||||||
<ng-container *ngIf="employee.utforandeVerksamheter.length">
|
<ng-container *ngIf="employee.utforandeVerksamheter.length && !employee.allaUtforandeVerksamheter">
|
||||||
{{ employee.utforandeVerksamheter[0] }}<ng-container *ngIf="employee.utforandeVerksamheter.length > 1">
|
{{ employee.utforandeVerksamheter[0] }}<ng-container *ngIf="employee.utforandeVerksamheter.length > 1">
|
||||||
(+{{employee.utforandeVerksamheter.length - 1}})</ng-container
|
(+{{employee.utforandeVerksamheter.length - 1}})</ng-container
|
||||||
>
|
>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container *ngIf="!employee.utforandeVerksamheter.length"> Utförande verksamheter saknas </ng-container>
|
<ng-container *ngIf="employee.allaUtforandeVerksamheter"> Alla utförande verksamheter </ng-container>
|
||||||
|
<ng-container *ngIf="!employee.utforandeVerksamheter.length && !employee.allaUtforandeVerksamheter"
|
||||||
|
>Utförande verksamheter saknas</ng-container
|
||||||
|
>
|
||||||
</td>
|
</td>
|
||||||
<!-- </ng-container> -->
|
|
||||||
<ng-template #noPermissions>
|
<ng-template #noPermissions>
|
||||||
<td colspan="2">Klicka på namnet för att ge personalkontot behörigheter</td>
|
<td class="employees-list__cell" colspan="2">Klicka på namnet för att ge personalkontot behörigheter</td>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<!-- <td>
|
<!-- <td>
|
||||||
<digi-button
|
<digi-button
|
||||||
|
|||||||
@@ -10,6 +10,12 @@
|
|||||||
padding: $digi--layout--gutter--m $digi--layout--gutter--l;
|
padding: $digi--layout--gutter--m $digi--layout--gutter--l;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&__cell {
|
||||||
|
&--nowrap {
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&__sort-button {
|
&__sort-button {
|
||||||
position: relative;
|
position: relative;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ export interface Employee {
|
|||||||
tjanstCodes: string[];
|
tjanstCodes: string[];
|
||||||
tjanster?: Tjanst[];
|
tjanster?: Tjanst[];
|
||||||
allaUtforandeVerksamheter: boolean;
|
allaUtforandeVerksamheter: boolean;
|
||||||
utforandeVerksamhet: string[];
|
|
||||||
utforandeVerksamhetIds: number[];
|
utforandeVerksamhetIds: number[];
|
||||||
utforandeAdressIds: number[];
|
utforandeAdressIds: number[];
|
||||||
}
|
}
|
||||||
@@ -37,21 +36,12 @@ export interface EmployeeRequestData {
|
|||||||
roles: string[];
|
roles: string[];
|
||||||
tjansteKoder: string[];
|
tjansteKoder: string[];
|
||||||
allaUtforandeVerksamheter: boolean;
|
allaUtforandeVerksamheter: boolean;
|
||||||
utforandeVerksamhet: string[];
|
|
||||||
utforandeVerksamhetIds: number[];
|
utforandeVerksamhetIds: number[];
|
||||||
adressIds: number[];
|
adressIds: number[];
|
||||||
}
|
}
|
||||||
|
|
||||||
export function mapEmployeeToRequestData(data: Employee): EmployeeRequestData {
|
export function mapEmployeeToRequestData(data: Employee): EmployeeRequestData {
|
||||||
const {
|
const { email, roles, tjanstCodes, allaUtforandeVerksamheter, utforandeVerksamhetIds, utforandeAdressIds } = data;
|
||||||
email,
|
|
||||||
roles,
|
|
||||||
tjanstCodes,
|
|
||||||
allaUtforandeVerksamheter,
|
|
||||||
utforandeVerksamhet,
|
|
||||||
utforandeVerksamhetIds,
|
|
||||||
utforandeAdressIds,
|
|
||||||
} = data;
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
email,
|
email,
|
||||||
@@ -60,7 +50,6 @@ export function mapEmployeeToRequestData(data: Employee): EmployeeRequestData {
|
|||||||
utforandeVerksamhetIds,
|
utforandeVerksamhetIds,
|
||||||
adressIds: utforandeAdressIds,
|
adressIds: utforandeAdressIds,
|
||||||
allaUtforandeVerksamheter: allaUtforandeVerksamheter,
|
allaUtforandeVerksamheter: allaUtforandeVerksamheter,
|
||||||
utforandeVerksamhet: utforandeVerksamhet,
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -85,7 +74,6 @@ export function mapResponseToEmployee(data: EmployeeResponse): Employee {
|
|||||||
roles,
|
roles,
|
||||||
tjansteKoder,
|
tjansteKoder,
|
||||||
allaUtforandeVerksamheter,
|
allaUtforandeVerksamheter,
|
||||||
utforandeVerksamhet,
|
|
||||||
utforandeVerksamhetIds,
|
utforandeVerksamhetIds,
|
||||||
adressIds,
|
adressIds,
|
||||||
} = data;
|
} = data;
|
||||||
@@ -99,7 +87,6 @@ export function mapResponseToEmployee(data: EmployeeResponse): Employee {
|
|||||||
roles: roles || [],
|
roles: roles || [],
|
||||||
tjanstCodes: tjansteKoder || [],
|
tjanstCodes: tjansteKoder || [],
|
||||||
allaUtforandeVerksamheter,
|
allaUtforandeVerksamheter,
|
||||||
utforandeVerksamhet: utforandeVerksamhet || [],
|
|
||||||
utforandeVerksamhetIds: utforandeVerksamhetIds || [],
|
utforandeVerksamhetIds: utforandeVerksamhetIds || [],
|
||||||
utforandeAdressIds: adressIds || [],
|
utforandeAdressIds: adressIds || [],
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ export function EmailValidator(label = 'Fältet'): ValidatorFn {
|
|||||||
export function CommaSeparatedEmailValidator(): ValidatorFn {
|
export function CommaSeparatedEmailValidator(): ValidatorFn {
|
||||||
return (control: AbstractControl): ValidationError => {
|
return (control: AbstractControl): ValidationError => {
|
||||||
if (control && control.value) {
|
if (control && control.value) {
|
||||||
const values: string[] = (control.value as string).replaceAll(' ', '').split(',');
|
const values: string[] = (control.value as string).trim().split(',');
|
||||||
const invalidEmailaddresses = [];
|
const invalidEmailaddresses = [];
|
||||||
|
|
||||||
values.forEach(value => {
|
values.forEach(value => {
|
||||||
|
|||||||
Reference in New Issue
Block a user