refacto forgot/reset password

This commit is contained in:
Hedi MJID 2022-02-26 19:23:13 +01:00
parent 9501ab5c47
commit 1d8eb27df0
8 changed files with 195 additions and 38 deletions

View file

@ -9,10 +9,22 @@
<label for="floatingInput">Adresse email</label>
</div>
<button class="w-100 btn btn-lg btn-success" type="submit" [disabled]="forgotForm.invalid" routerLink="../reinitialisation-password"
routerLinkActive="active-custom">Ré-initialiser mon mot de passe</button>
<!-- <button class="w-100 btn btn-lg btn-success" type="submit" [disabled]="forgotForm.invalid" routerLink="../reinitialisation-password"
routerLinkActive="active-custom">Ré-initialiser mon mot de passe</button> -->
<button
class="w-100 btn btn-lg btn-outline-success"
type="submit"
[disabled]="forgotForm.invalid">
Ré-initialiser mon mot de passe
</button>
</form>
<br/> <br/>
<div *ngIf="isShow">
<div class="alert alert-{{alert.type}}" role="alert">
{{alert.content}}
</div>
</div>
<!--
<div *ngIf="errorForm">
<p class="text-danger">Il manque des informations dans le formulaire...</p>

View file

@ -7,6 +7,9 @@ import {
FormGroup,
Validators,
} from '@angular/forms';
import { Membre } from 'src/app/models/membre';
import { MailService } from 'src/app/services/mail.service';
import { Mail } from 'src/app/models/mail';
@Component({
selector: 'app-page-forgot-password',
@ -14,18 +17,76 @@ import {
styleUrls: ['./page-forgot-password.component.scss']
})
export class PageForgotPasswordComponent implements OnInit {
constructor(private authService: AuthService, private router: Router) {
alert : any;
isShow : boolean;
constructor(private authService: AuthService, private router: Router, private mailService: MailService,) {
this.alert = "";
this.isShow = false;
}
ngOnInit(): void {}
public onSubmit(submittedForm: any): void {
console.log(submittedForm.form.value);
const membre: Membre = {
nom: "",
prenom: "",
dateNaissance: new Date(),
email: submittedForm.form.value.email,
password: "",
roleList: ["ROLE_PARENT"],
couleur: "",
passwordConfirm: ""
};
console.log(membre);
// this.authService.forgotPassword(membre).subscribe((resp) => {
// console.log('----'+resp)
// });
this.authService.forgotPassword(membre).subscribe(
{
next: result => {
this.alert={"type":"success", "content":"Un mail à été envoyé !"};
this.isShow = true;
const mail: Mail = {
recipient: submittedForm.form.value.email,
subject: "Votre mot de passe Organizee",
//message: 'Votre mot de passe'
message: `
Bonjour!\n
Vous avez fait une demande de -initialisation de mot de passe. \n
Cliquez sur le lien pour définir un nouveau mot de passe: \n
Lien : http://192.168.1.16:4200/reinitialisation-password/${result}`
};
this.mailService.envoiMailText(mail)?.subscribe((respMail) =>{
console.log("Mail envoyé");
})
},
error: err => {
this.alert={"type":"danger", "content":"Le mail a merdé, ou il n'y a personne ds la bdd !"};
this.isShow = true;
},
complete: () => console.log('DONE!')
}
);
// service resetpassword
// creer un random et le mettre dans password
//service envoi de mail // envoyer un lien avec ce random
// nouveau formulaire de reset password
// update du password
// const email = submittedForm.form.value['email'];
// console.log(email);
window.alert("Vous allez recevoir un email pour re-initialiser votre mot de passe !")
//window.alert("Vous allez recevoir un email pour re-initialiser votre mot de passe !")
// this.router.navigate(['reinitialisation-password']);
}