78 lines
2.1 KiB
TypeScript
78 lines
2.1 KiB
TypeScript
import {Component} from '@angular/core';
|
|
import {Router} from "@angular/router";
|
|
import {MessageService} from "../../common/services/message/message.service";
|
|
import {ProfilService} from "../../common/services/profil/profil.service";
|
|
|
|
|
|
|
|
@Component({
|
|
selector: 'app-page-nickname',
|
|
templateUrl: './page-login.component.html',
|
|
styleUrls: ['./page-login.component.scss']
|
|
})
|
|
export class PageLoginComponent
|
|
{
|
|
email: string = "" ;
|
|
password: string = "" ;
|
|
hasError: boolean = false;
|
|
errorMessage: string = "";
|
|
|
|
|
|
constructor( private messageService: MessageService,
|
|
private router: Router,
|
|
private profilService: ProfilService ) { }
|
|
|
|
|
|
// Appuie sur le bouton "seConnecter"
|
|
onSeConnecter(): void
|
|
{
|
|
this.checkField();
|
|
if(!this.hasError)
|
|
{
|
|
const data = {
|
|
email: this.email,
|
|
password: this.password
|
|
};
|
|
this.messageService
|
|
.post('login', data)
|
|
.subscribe( retour => this.onSeConnecterCallback(retour), err => this.onSeConnecterCallback(err));
|
|
}
|
|
}
|
|
|
|
|
|
// Callback de "onSeConnecter"
|
|
onSeConnecterCallback(retour: any): void
|
|
{
|
|
if(retour.status !== "success")
|
|
{
|
|
console.log(retour);
|
|
this.errorMessage = retour.message;
|
|
this.hasError = true;
|
|
}
|
|
else {
|
|
this.profilService.setId(retour.data.id);
|
|
this.profilService.setIsAdmin(retour.data.is_admin)
|
|
if(retour.data.is_admin) this.router.navigateByUrl('admin/userList');
|
|
else this.router.navigateByUrl('user/userList');
|
|
}
|
|
}
|
|
|
|
|
|
// Check les champs saisis par l'utilisateur
|
|
checkField(): void
|
|
{
|
|
if(this.email === "") {
|
|
this.errorMessage = "Veuillez remplir le champ email" ;
|
|
this.hasError = true;
|
|
}
|
|
else if(this.password === "") {
|
|
this.errorMessage = "Veuillez remplir le champ mot de passe" ;
|
|
this.hasError = true;
|
|
}
|
|
else {
|
|
this.errorMessage = "" ;
|
|
this.hasError = false;
|
|
}
|
|
}
|
|
|
|
}
|