Added error handling and now possible to post employees

This commit is contained in:
Erik Tiekstra
2021-05-12 10:34:10 +02:00
parent eb18ea03a2
commit e21757b8e8
31 changed files with 27107 additions and 203 deletions
@@ -34,6 +34,14 @@
[afDisableValidStyle]="true"
[afInvalid]="ssnControl.invalid && ssnControl.dirty"
></digi-ng-form-input>
<digi-ng-form-input
class="create-account__input"
formControlName="phone"
afLabel="Telefonnummer"
[afInvalidMessage]="phoneControl.errors?.message || ''"
[afDisableValidStyle]="true"
[afInvalid]="phoneControl.invalid && phoneControl.dirty"
></digi-ng-form-input>
</div>
<div class="create-account__block">
<h2>Tjänst</h2>
@@ -5,7 +5,6 @@ import { Router } from '@angular/router';
import { Service } from '@dafa-enums/service.enum';
import { EmployeeService } from '@dafa-services/api/employee.service';
import { RequiredValidator } from '@dafa-validators/required.validator';
import { SocialSecurityNumberValidator } from '@dafa-validators/social-security-number.validator';
import { BehaviorSubject } from 'rxjs';
@Component({
@@ -39,8 +38,11 @@ export class CreateAccountComponent {
this.formGroup = this.formBuilder.group({
firstName: this.formBuilder.control('', [RequiredValidator('Förnamn')]),
lastName: this.formBuilder.control('', [RequiredValidator('Efternamn')]),
ssn: this.formBuilder.control('', [RequiredValidator('Personnummer'), SocialSecurityNumberValidator()]),
employeeId: this.formBuilder.control('', [RequiredValidator('Personal-ID')]),
phone: this.formBuilder.control('', [RequiredValidator('Telefonnummer')]),
// ssn: this.formBuilder.control('', [RequiredValidator('Personnummer'), SocialSecurityNumberValidator()]),
// employeeId: this.formBuilder.control('', [RequiredValidator('Personal-ID')]),
ssn: this.formBuilder.control(''),
employeeId: this.formBuilder.control(''),
service: this.formBuilder.control(''),
permissions: this.formBuilder.control(false),
participant: this.formBuilder.control(false),
@@ -83,6 +85,9 @@ export class CreateAccountComponent {
get ssnControl(): AbstractControl {
return this.formGroup.get('ssn');
}
get phoneControl(): AbstractControl {
return this.formGroup.get('phone');
}
private _markFormAsDirty(): void {
Object.keys(this.formGroup.controls).forEach(control => {
@@ -101,7 +106,7 @@ export class CreateAccountComponent {
delete submittableValues.outOfOfficeStart;
delete submittableValues.outOfOfficeEnd;
const post = this.employeeService.createAccount(submittableValues).subscribe({
const post = this.employeeService.postNewEmployee(submittableValues).subscribe({
next: id => {
this.router.navigate(['/administration', 'personal', id]);
},