diff --git a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/edit-employee-form/edit-employee-form.component.html b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/edit-employee-form/edit-employee-form.component.html
index b605d31..0f32eea 100644
--- a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/edit-employee-form/edit-employee-form.component.html
+++ b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/edit-employee-form/edit-employee-form.component.html
@@ -99,7 +99,19 @@
-
+
diff --git a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/edit-employee-form/edit-employee-form.component.spec.ts b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/edit-employee-form/edit-employee-form.component.spec.ts
index 97d1ebe..82c5b43 100644
--- a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/edit-employee-form/edit-employee-form.component.spec.ts
+++ b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/edit-employee-form/edit-employee-form.component.spec.ts
@@ -8,8 +8,8 @@ import { HttpClientTestingModule } from '@angular/common/http/testing';
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { ReactiveFormsModule } from '@angular/forms';
+import { RouterTestingModule } from '@angular/router/testing';
import { TreeNodesSelectorModule } from '@msfa-shared/components/tree-nodes-selector/tree-nodes-selector.module';
-
import { EditEmployeeFormComponent } from './edit-employee-form.component';
describe('EditEmployeeFormComponent', () => {
@@ -29,6 +29,7 @@ describe('EditEmployeeFormComponent', () => {
DigiNgFormCheckboxModule,
HttpClientTestingModule,
TreeNodesSelectorModule,
+ RouterTestingModule,
],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
}).compileComponents();
@@ -37,6 +38,22 @@ describe('EditEmployeeFormComponent', () => {
beforeEach(() => {
fixture = TestBed.createComponent(EditEmployeeFormComponent);
component = fixture.componentInstance;
+ component.employee = {
+ id: 'string',
+ firstName: 'string',
+ lastName: 'string',
+ fullName: 'string',
+ email: 'string',
+ ssn: 'string',
+ roles: [],
+ tjanster: [],
+ allaUtforandeVerksamheter: false,
+ utforandeVerksamheter: [],
+
+ tjanstCodes: [],
+ utforandeVerksamhetIds: [],
+ utforandeAdressIds: [],
+ };
fixture.detectChanges();
});
diff --git a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/edit-employee-form/edit-employee-form.component.ts b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/edit-employee-form/edit-employee-form.component.ts
index d28a11f..b5aa3b6 100644
--- a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/edit-employee-form/edit-employee-form.component.ts
+++ b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/edit-employee-form/edit-employee-form.component.ts
@@ -13,6 +13,7 @@ import {
import { AbstractControl, FormControl, FormGroup } from '@angular/forms';
import { EmployeeEditRequest } from '@msfa-models/api/employee-edit.request.model';
import { Employee } from '@msfa-models/employee.model';
+import { CustomError } from '@msfa-models/error/custom-error';
import { Role } from '@msfa-models/role.model';
import { Tjanst } from '@msfa-models/tjanst.model';
import {
@@ -46,8 +47,10 @@ export class EditEmployeeFormComponent implements OnInit, OnChanges {
@Input() availableRoles: Role[];
@Input() availableTjanster: Tjanst[];
@Input() availableUtforandeVerksamheter: UtforandeVerksamhet[];
+ @Input() errorWhileUpdating: CustomError;
@Output() tjansterSelected = new EventEmitter();
+ @Output() closeError = new EventEmitter();
@Output() formSubmitted = new EventEmitter();
readonly ButtonVariation = ButtonVariation;
@@ -226,4 +229,8 @@ export class EditEmployeeFormComponent implements OnInit, OnChanges {
Object.fromEntries([[this.toggleAllUtforandeVerksamhetFormControlName, hasSelectedAllLeafNodes]])
);
}
+
+ emitCloseError(): void {
+ this.closeError.emit();
+ }
}
diff --git a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/employee-form.component.html b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/employee-form.component.html
index f469d57..b1fbab5 100644
--- a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/employee-form.component.html
+++ b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/employee-form.component.html
@@ -1,6 +1,6 @@
-
+
diff --git a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/employee-form.component.ts b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/employee-form.component.ts
index 9bfcf9a..969dc00 100644
--- a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/employee-form.component.ts
+++ b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-form/employee-form.component.ts
@@ -2,6 +2,7 @@ import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { EmployeeEditRequest } from '@msfa-models/api/employee-edit.request.model';
import { Employee } from '@msfa-models/employee.model';
+import { CustomError } from '@msfa-models/error/custom-error';
import { Role } from '@msfa-models/role.model';
import { Tjanst } from '@msfa-models/tjanst.model';
import { EmployeeService } from '@msfa-services/api/employee.service';
@@ -22,6 +23,8 @@ import { filter, switchMap } from 'rxjs/operators';
export class EmployeeFormComponent implements OnInit {
private _employeeId$ = new BehaviorSubject(this.activatedRoute.snapshot.params['employeeId']);
private _selectedTjanstIds$ = new BehaviorSubject(null);
+ private _errorWhileUpdating$ = new BehaviorSubject(null);
+ errorWhileUpdating$: Observable = this._errorWhileUpdating$.asObservable();
employee$ = this.employeeService.employee$;
tjanster$: Observable = this.tjanstService.tjanster$;
availableUtforandeVerksamheter$: Observable = this._selectedTjanstIds$.pipe(
@@ -54,6 +57,9 @@ export class EmployeeFormComponent implements OnInit {
next: () => {
void this.router.navigateByUrl(`/administration/personal/${this.employeeId}`);
},
+ error: error => {
+ this._errorWhileUpdating$.next(error);
+ },
complete: () => {
updateEmployeeSubscription.unsubscribe();
},
@@ -66,4 +72,8 @@ export class EmployeeFormComponent implements OnInit {
setEmployeeToDelete(employee: Employee): void {
this.employeeService.setEmployeeToDelete(employee);
}
+
+ closeError(): void {
+ this._errorWhileUpdating$.next(null);
+ }
}
diff --git a/apps/mina-sidor-fa/src/app/shared/models/employee.model.ts b/apps/mina-sidor-fa/src/app/shared/models/employee.model.ts
index e78e379..37a14b9 100644
--- a/apps/mina-sidor-fa/src/app/shared/models/employee.model.ts
+++ b/apps/mina-sidor-fa/src/app/shared/models/employee.model.ts
@@ -48,6 +48,7 @@ export interface EmployeesData {
}
function mapResponseToSsn(ssn: string): string {
+ ssn = ssn.replaceAll('-', '');
if (ssn.length === 10) {
const century = +CURRENT_YEAR - +ssn.slice(0, 2) > 0 ? '20' : '19';
ssn = ssn.padStart(12, century);
diff --git a/apps/mina-sidor-fa/src/app/shared/services/api/employee.service.ts b/apps/mina-sidor-fa/src/app/shared/services/api/employee.service.ts
index a18f423..3979b9b 100644
--- a/apps/mina-sidor-fa/src/app/shared/services/api/employee.service.ts
+++ b/apps/mina-sidor-fa/src/app/shared/services/api/employee.service.ts
@@ -82,29 +82,6 @@ export class EmployeeService extends UnsubscribeDirective {
.subscribe(employee => {
this._employee$.next(employee as Employee);
})
- // this._currentEmployeeId$
- // .pipe(
- // filter(currentEmployeeId => !!currentEmployeeId),
- // switchMap(currentEmployeeId =>
- // combineLatest([this._fetchEmployee$(currentEmployeeId), this.tjanstService.tjanster$]).pipe(
- // filter(([employee, allTjanster]) => !!(employee && allTjanster?.length)),
- // map(([employee, allTjanster]) => {
- // const tjanster = [];
- // employee.tjanstCodes?.forEach(code => {
- // const currentTjanst = allTjanster.find(tjanst => tjanst.code === code);
-
- // if (currentTjanst) {
- // tjanster.push(currentTjanst);
- // }
- // });
- // return { ...employee, tjanster };
- // })
- // )
- // )
- // )
- // .subscribe(employee => {
- // this._employee$.next(employee as Employee);
- // })
);
}
@@ -215,7 +192,7 @@ export class EmployeeService extends UnsubscribeDirective {
map(({ data }) => data),
catchError(error => {
this.errorService.add(errorToCustomError(error));
- return of(null);
+ return throwError(errorToCustomError(error));
})
);
}
@@ -229,8 +206,7 @@ export class EmployeeService extends UnsubscribeDirective {
}),
map(() => true),
catchError(error => {
- this.errorService.add(errorToCustomError(error));
- return of(false);
+ return throwError(errorToCustomError(error));
})
);
}
diff --git a/openshift/dev/Jenkinsfile b/openshift/dev/Jenkinsfile
index 9a0430a..1a3f260 100644
--- a/openshift/dev/Jenkinsfile
+++ b/openshift/dev/Jenkinsfile
@@ -3,7 +3,6 @@ def appname = "${APP_NAME}"
def utv_project = "${UTV_NAMESPACE}"
def auto_project = "${AUTO_NAMESPACE}"
def sys_project = "${SYS_NAMESPACE}"
-def test_project = "${TEST_NAMESPACE}"
def jenkinsslave = "nodejs15-agent"
def dist_path = "dist/apps/mina-sidor-fa"
@@ -149,22 +148,6 @@ pipeline {
echo '### Deployed to "sys"! ###'
}
}
-
- stage('Deploy "test"') {
- steps {
- echo '### Deploying to "test"... ###'
- script {
- openshift.withCluster() {
- openshift.withProject(test_project) {
- openshift.raw("set image dc/${ appname } ${ appname }=docker-registry.default.svc:5000/${utv_project}/${ appname }:${BUILD_TAG} --record=true --source=docker")
- openshift.raw("annotate dc ${ appname } version=${BUILD_TAG} --overwrite=true")
- openshift.selector("dc", "${ appname }").rollout().status();
- }
- }
- }
- echo '### Deployed to "test"! ###'
- }
- }
}
}