reset password en cours

This commit is contained in:
Blandine Bajard 2022-01-21 12:30:05 +01:00
parent 673887a81c
commit b994e6be58
5 changed files with 173 additions and 79 deletions

View file

@ -26,7 +26,7 @@ const routes: Routes = [
{ path: 'password-oublie', component: PageForgotPasswordComponent }, { path: 'password-oublie', component: PageForgotPasswordComponent },
{ path: 'menu', component: PageMenuSemaineComponent }, { path: 'menu', component: PageMenuSemaineComponent },
{ path: 'repertoire', component: PageRepertoireComponent }, { path: 'repertoire', component: PageRepertoireComponent },
{ path: 'reset-password', component: PageResetPasswordComponent }, { path: 'reinitialisation-password', component: PageResetPasswordComponent },
{ path: 'creation-compte', component: PageSignupComponent }, { path: 'creation-compte', component: PageSignupComponent },
{ path: 'to-do-list', component: PageToDoListComponent }, { path: 'to-do-list', component: PageToDoListComponent },
{ path: 'modifier-membre', component: PageUpdateMemberComponent }, { path: 'modifier-membre', component: PageUpdateMemberComponent },

View file

@ -1 +1,26 @@
<app-header></app-header> <app-header></app-header>
<div class="signin-form text-center">
<main class="form-signin">
<form (ngSubmit)="onSubmit(resetForm)" #resetForm="ngForm">
<div class="form-floating">
<input type="email" class="form-control" id="floatingEmail" placeholder="" name="email" ngModel required
[ngClass]="{'is-valid': resetForm.form.touched && resetForm.form.value['email'] != '' ,
'is-invalid': resetForm.form.touched && resetForm.form.value['email'] == ''}">
<label for="floatingEmail">Email</label>
</div>
<div class="form-floating">
<input type="password" class="form-control" id="floatingPassword" placeholder="" name="password" ngModel
required [ngClass]="{'is-valid': resetForm.form.touched && resetForm.form.value['password'] != '' ,
'is-invalid': resetForm.form.touched && resetForm.form.value['password'] == ''}">
<label for="floatingPassword">Mot de passe</label>
</div>
<button class="w-100 btn btn-lg btn-success" type="submit" [disabled]="resetForm.invalid">Se connecter</button>
</form>
</main>
</div>

View file

@ -6,10 +6,21 @@ import { Component, OnInit } from '@angular/core';
styleUrls: ['./page-reset-password.component.scss'] styleUrls: ['./page-reset-password.component.scss']
}) })
export class PageResetPasswordComponent implements OnInit { export class PageResetPasswordComponent implements OnInit {
authService: any;
router: any;
constructor() { } constructor() { }
ngOnInit(): void { ngOnInit(): void {}
}
public onSubmit(submittedForm: any): void {
console.log(submittedForm.form.value);
const password = submittedForm.form.value['password'];
const email = submittedForm.form.value['email'];
console.log(email);
this.authService.resetPassword(email, password).subscribe((resp: any) => {
this.router.navigate(['tableau-de-bord']);
});
}
} }

View file

@ -1,79 +1,130 @@
<app-header></app-header> <app-header></app-header>
<div class="signup-form text-center"> <div class="signup-form text-center">
<main class="form-signup"> <main class="form-signup">
<form (ngSubmit)="onSubmit()" [formGroup]="signupForm"> <form (ngSubmit)="onSubmit()" [formGroup]="signupForm">
<h1>Incrivez-vous !</h1> <h1>Inscrivez-vous !</h1>
<div class="form-floating"> <div class="form-floating">
<input type="text" <input
class="form-control" type="text"
id="floatingInputlastName" class="form-control"
placeholder="" id="floatingInputlastName"
name="lastName" placeholder=""
formControlName="lastNameFc" name="lastName"
[ngClass]="{'is-valid' : signupForm.controls['lastNameFc'].touched && signupForm.controls['lastNameFc'].valid, formControlName="lastNameFc"
'is-invalid': signupForm.controls['lastNameFc'].touched && !signupForm.controls['lastNameFc'].valid}"> [ngClass]="{
<label for="floatingInputlastName">Nom</label> 'is-valid':
</div> signupForm.controls['lastNameFc'].touched &&
<div class="form-floating"> signupForm.controls['lastNameFc'].valid,
<input type="text" 'is-invalid':
class="form-control" signupForm.controls['lastNameFc'].touched &&
id="floatingInputfirstName" !signupForm.controls['lastNameFc'].valid
placeholder="" }"
name="firstName" />
formControlName="firstNameFc" <label for="floatingInputlastName">Nom</label>
[ngClass]="{'is-valid' : signupForm.controls['firstNameFc'].touched && signupForm.controls['firstNameFc'].valid, </div>
'is-invalid': signupForm.controls['firstNameFc'].touched && !signupForm.controls['firstNameFc'].valid}"> <div class="form-floating">
<label for="floatingInputfirstName">Prénom</label> <input
</div> type="text"
<div class="form-floating"> class="form-control"
<input type="date" id="floatingInputfirstName"
class="form-control" placeholder=""
id="floatingInputdateNaissance" name="firstName"
placeholder="" formControlName="firstNameFc"
name="dateNaissance" [ngClass]="{
formControlName="dateNaissanceFc" 'is-valid':
[ngClass]="{'is-valid' : signupForm.controls['dateNaissanceFc'].touched && signupForm.controls['dateNaissanceFc'].valid, signupForm.controls['firstNameFc'].touched &&
'is-invalid': signupForm.controls['dateNaissanceFc'].touched && !signupForm.controls['dateNaissanceFc'].valid}"> signupForm.controls['firstNameFc'].valid,
<label for="floatingInputfirstName">Date de naissance</label> 'is-invalid':
</div> signupForm.controls['firstNameFc'].touched &&
<div class="form-floating"> !signupForm.controls['firstNameFc'].valid
<input type="email" }"
class="form-control" />
id="floatingInput" <label for="floatingInputfirstName">Prénom</label>
placeholder="" </div>
name="email" <div class="form-floating">
formControlName="emailFc" <input
[ngClass]="{'is-valid' : signupForm.controls['emailFc'].touched && signupForm.controls['emailFc'].valid, type="date"
'is-invalid': signupForm.controls['emailFc'].touched && !signupForm.controls['emailFc'].valid}"> class="form-control"
<label for="floatingInput">Adresse email</label> id="floatingInputdateNaissance"
</div> placeholder=""
<div class="form-floating"> name="dateNaissance"
<input type="password" formControlName="dateNaissanceFc"
class="form-control" [ngClass]="{
id="floatingPassword" 'is-valid':
placeholder="" signupForm.controls['dateNaissanceFc'].touched &&
name="password" signupForm.controls['dateNaissanceFc'].valid,
formControlName="passwordFc" 'is-invalid':
[ngClass]="{'is-valid' : signupForm.controls['passwordFc'].touched && signupForm.controls['passwordFc'].valid, signupForm.controls['dateNaissanceFc'].touched &&
'is-invalid': signupForm.controls['passwordFc'].touched && !signupForm.controls['passwordFc'].valid}"> !signupForm.controls['dateNaissanceFc'].valid
<label for="floatingPassword">Mot de passe</label> }"
</div> />
<div class="form-floating"> <label for="floatingInputfirstName">Date de naissance</label>
<input type="passwordConfirm" </div>
class="form-control" <div class="form-floating">
id="floatingpasswordConfirm" <input
placeholder="" type="email"
name="passwordConfirm" class="form-control"
formControlName="passwordConfirmFc" id="floatingInput"
[ngClass]="{'is-valid' : signupForm.controls['passwordConfirmFc'].touched && signupForm.controls['passwordConfirmFc'].valid, placeholder=""
'is-invalid': signupForm.controls['passwordConfirmFc'].touched && !signupForm.controls['passwordConfirmFc'].valid}"> name="email"
<label for="floatingPassword">Confirmer mot de passe</label> formControlName="emailFc"
</div> [ngClass]="{
'is-valid':
signupForm.controls['emailFc'].touched &&
signupForm.controls['emailFc'].valid,
'is-invalid':
signupForm.controls['emailFc'].touched &&
!signupForm.controls['emailFc'].valid
}"
/>
<label for="floatingInput">Adresse email</label>
</div>
<div class="form-floating">
<input
type="password"
class="form-control"
id="floatingPassword"
placeholder=""
name="password"
formControlName="passwordFc"
[ngClass]="{
'is-valid':
signupForm.controls['passwordFc'].touched &&
signupForm.controls['passwordFc'].valid,
'is-invalid':
signupForm.controls['passwordFc'].touched &&
!signupForm.controls['passwordFc'].valid
}"
/>
<label for="floatingPassword">Mot de passe</label>
</div>
<div class="form-floating">
<input
type="passwordConfirm"
class="form-control"
id="floatingpasswordConfirm"
placeholder=""
name="passwordConfirm"
formControlName="passwordConfirmFc"
[ngClass]="{
'is-valid':
signupForm.controls['passwordConfirmFc'].touched &&
signupForm.controls['passwordConfirmFc'].valid,
'is-invalid':
signupForm.controls['passwordConfirmFc'].touched &&
!signupForm.controls['passwordConfirmFc'].valid
}"
/>
<label for="floatingPassword">Confirmer mot de passe</label>
</div>
<button class="w-100 btn btn-lg btn-success" <button
type="submit" class="w-100 btn btn-lg btn-success"
[disabled]="signupForm.invalid">Je m'inscris !</button> type="submit"
[disabled]="signupForm.invalid"
</form> >
</main> Je m'inscris !
</button>
</form>
</main>
</div> </div>

View file

@ -1,4 +1,5 @@
import { HttpClient } from '@angular/common/http'; import { HttpClient, HttpHeaders } from '@angular/common/http';
import { identifierModuleUrl } from '@angular/compiler';
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { map, Observable } from 'rxjs'; import { map, Observable } from 'rxjs';
import { environment } from 'src/environments/environment'; import { environment } from 'src/environments/environment';
@ -51,4 +52,10 @@ export class AuthService {
}; };
return this.http.post(`${this.apiUrl}/membres/forgot-password`, body); return this.http.post(`${this.apiUrl}/membres/forgot-password`, body);
} }
resetPassword(email: string, password: string): Observable<any> {
const body = password;
console.log(password);
return this.http.post(`${this.apiUrl}/membres/reset-password/${email}`, body);
}
} }