diff --git a/src/app/models/user.model.ts b/src/app/models/user.model.ts index bc10f26271b1e46d346396c02f6062d9ec0ff071..0a438e858617c30593de154ac86f44a28df507c7 100644 --- a/src/app/models/user.model.ts +++ b/src/app/models/user.model.ts @@ -1,6 +1,9 @@ export class User { _id: string; email: string; + name: string; + surname: string; + phone: string; password?: string; emailVerified: boolean; role: number; diff --git a/src/app/shared/components/create-account-form/create-account-form.component.html b/src/app/shared/components/create-account-form/create-account-form.component.html index e8a4bd04558a327bbc8fd9c4850e6b57e357a015..06831aa70c7e05b461d2c0a42e017d035ca29040 100644 --- a/src/app/shared/components/create-account-form/create-account-form.component.html +++ b/src/app/shared/components/create-account-form/create-account-form.component.html @@ -4,6 +4,21 @@ <input type="email" autocomplete="on" formControlName="email" class="form-control" /> <app-validator-form *ngIf="submitted" [control]="getAccountControl('email')"></app-validator-form> </div> + <div class="form-group"> + <label for="surname">Nom</label> + <input type="text" formControlName="surname" class="form-control" /> + <app-validator-form *ngIf="submitted" [control]="getAccountControl('surname')"></app-validator-form> + </div> + <div class="form-group"> + <label for="name">Prénom</label> + <input type="text" formControlName="name" class="form-control" /> + <app-validator-form *ngIf="submitted" [control]="getAccountControl('name')"></app-validator-form> + </div> + <div class="form-group"> + <label for="phone">Téléphone</label> + <input type="text" formControlName="phone" class="form-control" (input)="modifyPhoneInput($event.target.value)" /> + <app-validator-form *ngIf="submitted" [control]="getAccountControl('phone')"></app-validator-form> + </div> <div class="form-group"> <label for="password">Mot de passe</label> <input type="password" autocomplete="on" formControlName="password" class="form-control" /> diff --git a/src/app/shared/components/create-account-form/create-account-form.component.ts b/src/app/shared/components/create-account-form/create-account-form.component.ts index 25872ca4ac9bc52bb4a5ee2041aab5d795fc0d46..4363e6774c5705d84b8a9091a448cb04b24a15dd 100644 --- a/src/app/shared/components/create-account-form/create-account-form.component.ts +++ b/src/app/shared/components/create-account-form/create-account-form.component.ts @@ -17,6 +17,9 @@ export class CreateAccountFormComponent implements OnInit { this.accountForm = new FormGroup( { email: new FormControl('', Validators.required), + name: new FormControl('', Validators.required), + surname: new FormControl('', Validators.required), + phone: new FormControl('', [Validators.required, Validators.pattern('([0-9]{2} ){4}[0-9]{2}')]), //NOSONAR password: new FormControl('', [ Validators.required, Validators.pattern(/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])(?=.{8,})/), //NOSONAR @@ -37,4 +40,14 @@ export class CreateAccountFormComponent implements OnInit { public getAccountControl(nameControl: string): AbstractControl { return this.accountForm.get(nameControl); } + + public modifyPhoneInput(phoneNumber: string): void { + // Take length of phone number without spaces. + let phoneNoSpace = phoneNumber.replace(/\s/g, ''); + // Check to refresh every 2 number. + if (phoneNoSpace.length % 2 == 0) { + // Add space every 2 number + this.accountForm.get('phone').setValue(phoneNoSpace.replace(/(?!^)(?=(?:\d{2})+$)/g, ' ')); //NOSONAR + } + } }