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.
|
||||
</p>
|
||||
<ng-template #specificUtforandeVerksamheter>
|
||||
<div *ngIf="employee.utforandeVerksamhet?.length" class="employee-card__utforandeverksamheter-cards">
|
||||
<ng-container>
|
||||
<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 style="color: red">
|
||||
OBS: BEHÖVER FIXAS, ÄVEN OM MAN HAR UTFÖRANDE VERKSAMHETER SÅ SYNS DOM INTE DÅ VI BARA FÅR UT ID
|
||||
</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>
|
||||
</div>
|
||||
<div class="employee-card__column">
|
||||
|
||||
@@ -31,7 +31,7 @@ export class EmployeeInviteComponent {
|
||||
|
||||
get emailsControlValueAsArray(): string[] {
|
||||
return (this.emailsControl.value as string)
|
||||
.replaceAll(' ', '')
|
||||
.trim()
|
||||
.split(',')
|
||||
.filter(email => !!email);
|
||||
}
|
||||
|
||||
@@ -28,31 +28,30 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<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>
|
||||
</th>
|
||||
<!-- <ng-container
|
||||
*ngIf="employee?.tjanster?.length && employee?.utforandeVerksamheter?.length; else noPermissions"
|
||||
> -->
|
||||
<td style="white-space: nowrap">
|
||||
<td class="employees-list__cell employees-list__cell--nowrap" style="white-space: nowrap">
|
||||
<ng-container *ngIf="employee.tjanster.length">
|
||||
{{ employee.tjanster[0] }}<ng-container *ngIf="employee.tjanster.length > 1">
|
||||
(+{{employee.tjanster.length - 1}})</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>
|
||||
<ng-container *ngIf="employee.utforandeVerksamheter.length">
|
||||
<td class="employees-list__cell">
|
||||
<ng-container *ngIf="employee.utforandeVerksamheter.length && !employee.allaUtforandeVerksamheter">
|
||||
{{ employee.utforandeVerksamheter[0] }}<ng-container *ngIf="employee.utforandeVerksamheter.length > 1">
|
||||
(+{{employee.utforandeVerksamheter.length - 1}})</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>
|
||||
<!-- </ng-container> -->
|
||||
<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>
|
||||
<!-- <td>
|
||||
<digi-button
|
||||
|
||||
@@ -10,6 +10,12 @@
|
||||
padding: $digi--layout--gutter--m $digi--layout--gutter--l;
|
||||
}
|
||||
|
||||
&__cell {
|
||||
&--nowrap {
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
&__sort-button {
|
||||
position: relative;
|
||||
background-color: transparent;
|
||||
|
||||
@@ -22,7 +22,6 @@ export interface Employee {
|
||||
tjanstCodes: string[];
|
||||
tjanster?: Tjanst[];
|
||||
allaUtforandeVerksamheter: boolean;
|
||||
utforandeVerksamhet: string[];
|
||||
utforandeVerksamhetIds: number[];
|
||||
utforandeAdressIds: number[];
|
||||
}
|
||||
@@ -37,21 +36,12 @@ export interface EmployeeRequestData {
|
||||
roles: string[];
|
||||
tjansteKoder: string[];
|
||||
allaUtforandeVerksamheter: boolean;
|
||||
utforandeVerksamhet: string[];
|
||||
utforandeVerksamhetIds: number[];
|
||||
adressIds: number[];
|
||||
}
|
||||
|
||||
export function mapEmployeeToRequestData(data: Employee): EmployeeRequestData {
|
||||
const {
|
||||
email,
|
||||
roles,
|
||||
tjanstCodes,
|
||||
allaUtforandeVerksamheter,
|
||||
utforandeVerksamhet,
|
||||
utforandeVerksamhetIds,
|
||||
utforandeAdressIds,
|
||||
} = data;
|
||||
const { email, roles, tjanstCodes, allaUtforandeVerksamheter, utforandeVerksamhetIds, utforandeAdressIds } = data;
|
||||
|
||||
return {
|
||||
email,
|
||||
@@ -60,7 +50,6 @@ export function mapEmployeeToRequestData(data: Employee): EmployeeRequestData {
|
||||
utforandeVerksamhetIds,
|
||||
adressIds: utforandeAdressIds,
|
||||
allaUtforandeVerksamheter: allaUtforandeVerksamheter,
|
||||
utforandeVerksamhet: utforandeVerksamhet,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -85,7 +74,6 @@ export function mapResponseToEmployee(data: EmployeeResponse): Employee {
|
||||
roles,
|
||||
tjansteKoder,
|
||||
allaUtforandeVerksamheter,
|
||||
utforandeVerksamhet,
|
||||
utforandeVerksamhetIds,
|
||||
adressIds,
|
||||
} = data;
|
||||
@@ -99,7 +87,6 @@ export function mapResponseToEmployee(data: EmployeeResponse): Employee {
|
||||
roles: roles || [],
|
||||
tjanstCodes: tjansteKoder || [],
|
||||
allaUtforandeVerksamheter,
|
||||
utforandeVerksamhet: utforandeVerksamhet || [],
|
||||
utforandeVerksamhetIds: utforandeVerksamhetIds || [],
|
||||
utforandeAdressIds: adressIds || [],
|
||||
};
|
||||
|
||||
@@ -16,7 +16,7 @@ export function EmailValidator(label = 'Fältet'): ValidatorFn {
|
||||
export function CommaSeparatedEmailValidator(): ValidatorFn {
|
||||
return (control: AbstractControl): ValidationError => {
|
||||
if (control && control.value) {
|
||||
const values: string[] = (control.value as string).replaceAll(' ', '').split(',');
|
||||
const values: string[] = (control.value as string).trim().split(',');
|
||||
const invalidEmailaddresses = [];
|
||||
|
||||
values.forEach(value => {
|
||||
|
||||
Reference in New Issue
Block a user