diff --git a/src/app/admin/adList/page-ad-list-admin/page-ad-list-admin.component.html b/src/app/admin/adList/page-ad-list-admin/page-ad-list-admin.component.html index d5d233a..a58f169 100644 --- a/src/app/admin/adList/page-ad-list-admin/page-ad-list-admin.component.html +++ b/src/app/admin/adList/page-ad-list-admin/page-ad-list-admin.component.html @@ -144,11 +144,6 @@ - diff --git a/src/app/admin/adList/popup-visualize-ad-admin/popup-visualize-ad-admin.component.html b/src/app/admin/adList/popup-visualize-ad-admin/popup-visualize-ad-admin.component.html deleted file mode 100644 index 2ff5c54..0000000 --- a/src/app/admin/adList/popup-visualize-ad-admin/popup-visualize-ad-admin.component.html +++ /dev/null @@ -1,77 +0,0 @@ -
- -

{{advert.title}}

- - - - - - - -
-
Annonceur:
-
{{advert.url}}
-
- - -
-
Images:
-
-
{{image.url}}
-
-
- - -
-
Tags:
-
-
{{interest}}
-
-
- - -
-
Commentaire:
-
{{advert.comment}}
-
- - -
- -
{{advert.views}}
-
- - -
- -
- {{ advert.createdAt | date:'dd/LL/YYYY à HH:mm:ss' }} -
-
- - -
- -
- {{ advert.updatedAt | date:'dd/LL/YYYY à HH:mm:ss' }} -
-
- - -
- -
- checked - close -
-
- -
- - - - - - - -
diff --git a/src/app/admin/adList/popup-visualize-ad-admin/popup-visualize-ad-admin.component.scss b/src/app/admin/adList/popup-visualize-ad-admin/popup-visualize-ad-admin.component.scss deleted file mode 100644 index 3e00dee..0000000 --- a/src/app/admin/adList/popup-visualize-ad-admin/popup-visualize-ad-admin.component.scss +++ /dev/null @@ -1,28 +0,0 @@ -.lightTheme, .darkTheme { - background-image: none; -} - - -h1 { - text-align: center; - font-size: xx-large; -} - - -.myRow { - margin: 15px 0px 15px 0px; -} - - -.myLabel { - text-align: right; - padding: 0px 5px 0px 0px; - margin: 0px; - font-weight: bold; -} - -.myValue { - text-align: left; - padding: 0px 0px 0px 5px; - margin: 0px; -} diff --git a/src/app/admin/adList/popup-visualize-ad-admin/popup-visualize-ad-admin.component.spec.ts b/src/app/admin/adList/popup-visualize-ad-admin/popup-visualize-ad-admin.component.spec.ts deleted file mode 100644 index 6e58614..0000000 --- a/src/app/admin/adList/popup-visualize-ad-admin/popup-visualize-ad-admin.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { PopupVisualizeAdAdminComponent } from './popup-visualize-ad-admin.component'; - -describe('PopupVisualizeAdAdminComponent', () => { - let component: PopupVisualizeAdAdminComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ PopupVisualizeAdAdminComponent ] - }) - .compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(PopupVisualizeAdAdminComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/admin/adList/popup-visualize-ad-admin/popup-visualize-ad-admin.component.ts b/src/app/admin/adList/popup-visualize-ad-admin/popup-visualize-ad-admin.component.ts deleted file mode 100644 index 7d4646b..0000000 --- a/src/app/admin/adList/popup-visualize-ad-admin/popup-visualize-ad-admin.component.ts +++ /dev/null @@ -1,26 +0,0 @@ -import {Component, Inject, OnInit} from '@angular/core'; -import {Advert} from "../../../utils/interfaces/advert"; -import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog"; -import {ThemeService} from "../../../utils/services/theme/theme.service"; - - - -@Component({ - selector: 'app-popup-visualize-ad-admin', - templateUrl: './popup-visualize-ad-admin.component.html', - styleUrls: ['./popup-visualize-ad-admin.component.scss'] -}) -export class PopupVisualizeAdAdminComponent implements OnInit -{ - advert: Advert; - - constructor( public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public data, - public themeService: ThemeService ) { } - - ngOnInit(): void - { - this.advert = this.data.advert; - } - -} diff --git a/src/app/admin/myProfil/popup-update-admin/popup-update-admin.component.ts b/src/app/admin/myProfil/popup-update-admin/popup-update-admin.component.ts index 6f9eabc..3ae595b 100644 --- a/src/app/admin/myProfil/popup-update-admin/popup-update-admin.component.ts +++ b/src/app/admin/myProfil/popup-update-admin/popup-update-admin.component.ts @@ -30,7 +30,7 @@ export class PopupUpdateAdminComponent implements OnInit _id: admin0._id, login: admin0.login, hashPass: admin0.hashPass, - email: admin0.mail, + email: admin0.email, role: { name: admin0.role.name, permission: admin0.role.permission, @@ -79,14 +79,13 @@ export class PopupUpdateAdminComponent implements OnInit this.errorMessage = "Email invalide" ; this.hasError = true; } - else if(this.changePassword) { - if (this.newPassword.length === 0) { - this.errorMessage = "Veuillez remplir le champ 'mot de passe'" ; - this.hasError = true; - } else if (this.newPassword !== this.confirmNewPassword) { - this.errorMessage = "Le mot de passe est différent de sa confirmation" ; - this.hasError = true; - } + else if((this.changePassword) && (this.newPassword.length === 0)) { + this.errorMessage = "Veuillez remplir le champ 'mot de passe'" ; + this.hasError = true; + } + else if((this.changePassword) && (this.newPassword !== this.confirmNewPassword)) { + this.errorMessage = "Le mot de passe est différent de sa confirmation" ; + this.hasError = true; } else { this.errorMessage = "" ; diff --git a/src/app/admin/userList/input-interests-admin/input-interests-admin.component.html b/src/app/admin/userList/input-interests-admin/input-interests-admin.component.html index 847d672..b70c15f 100644 --- a/src/app/admin/userList/input-interests-admin/input-interests-admin.component.html +++ b/src/app/admin/userList/input-interests-admin/input-interests-admin.component.html @@ -2,7 +2,7 @@ - Tags + Centres d'intérêt diff --git a/src/app/admin/userList/page-user-list/page-user-list.component.html b/src/app/admin/userList/page-user-list/page-user-list.component.html index 212f895..ddacff9 100644 --- a/src/app/admin/userList/page-user-list/page-user-list.component.html +++ b/src/app/admin/userList/page-user-list/page-user-list.component.html @@ -117,7 +117,8 @@ Date de naissance - {{ user.dateOfBirth | date:'dd/LL/YYYY' }} + + {{ user.dateOfBirth | date:'dd/LL/YYYY' }} @@ -125,7 +126,8 @@ Âge - {{user.age}} + + {{user.age}} @@ -133,8 +135,8 @@ Sexe - H - F + H + F @@ -143,8 +145,8 @@ Centres d'intérêt - {{interest}}, - {{interest}} + {{interest}}, + {{interest}} @@ -173,19 +175,6 @@ - - - Actions - - - - - - diff --git a/src/app/admin/userList/page-user-list/page-user-list.component.ts b/src/app/admin/userList/page-user-list/page-user-list.component.ts index 02c7285..e699475 100644 --- a/src/app/admin/userList/page-user-list/page-user-list.component.ts +++ b/src/app/admin/userList/page-user-list/page-user-list.component.ts @@ -6,7 +6,6 @@ import {MatDialog} from "@angular/material/dialog"; import {MatSnackBar} from "@angular/material/snack-bar"; import {MatTableDataSource} from "@angular/material/table"; import {User} from "../../../utils/interfaces/user"; -import {PopupVisualizeUserComponent} from "../popup-visualize-user/popup-visualize-user.component"; import {PopupDeleteUserComponent} from "../popup-delete-user/popup-delete-user.component"; import {PopupCreateUserComponent} from "../popup-create-user/popup-create-user.component"; import {FictitiousUsersService} from "../../../utils/services/fictitiousDatas/fictitiousUsers/fictitious-users.service"; @@ -66,19 +65,6 @@ export class PageUserListComponent implements AfterViewInit } - onVisualize(user: User): void - { - const config = { - width: '50%', - data: { user: user } - }; - this.dialog - .open(PopupVisualizeUserComponent, config) - .afterClosed() - .subscribe(retour => {}); - } - - onDelete(user: User): void { const config = { @@ -139,9 +125,12 @@ export class PageUserListComponent implements AfterViewInit getAge(date: Date): number { - const diff = Date.now() - date.getTime(); - const age = new Date(diff); - return Math.abs(age.getUTCFullYear() - 1970); + if((date === null) || (date === undefined)) return -1; + else { + const diff = Date.now() - date.getTime(); + const age = new Date(diff); + return Math.abs(age.getUTCFullYear() - 1970); + } } diff --git a/src/app/admin/userList/popup-create-user/popup-create-user.component.ts b/src/app/admin/userList/popup-create-user/popup-create-user.component.ts index 141fe53..8fd4c14 100644 --- a/src/app/admin/userList/popup-create-user/popup-create-user.component.ts +++ b/src/app/admin/userList/popup-create-user/popup-create-user.component.ts @@ -85,10 +85,6 @@ export class PopupCreateUserComponent implements OnInit this.errorMessage = "Le mot de passe est différent de sa confirmation."; this.hasError = true; } - else if((this.user.role.name === 'user') && ((this.user.dateOfBirth === undefined) || (this.user.dateOfBirth === null))) { - this.errorMessage = "Veuillez remplir le champ 'date de naissance'."; - this.hasError = true; - } else if((this.user.role.name === 'advertiser') && (this.user.company.length === 0)) { this.errorMessage = "Veuillez remplir le champ 'entreprise'."; this.hasError = true; diff --git a/src/app/admin/userList/popup-visualize-user/popup-visualize-user.component.html b/src/app/admin/userList/popup-visualize-user/popup-visualize-user.component.html deleted file mode 100644 index 3e0bf70..0000000 --- a/src/app/admin/userList/popup-visualize-user/popup-visualize-user.component.html +++ /dev/null @@ -1,76 +0,0 @@ -
- - -
- -
- - -
-
Login:
-
{{user.login}}
-
- - -
-
Mail:
-
{{user.email}}
-
- -
- - -
-
Date de naissance:
-
{{ user.dateOfBirth | date:'dd/LL/YYYY' }}
-
- - -
-
Âge:
-
{{user.age}}
-
- - -
-
Sexe:
-
- Homme - Femme -
-
- - -
-
Centres d'intérêt:
-
-
• {{interest}}
-
-
- - -
-
Date de création:
-
{{ user.createdAt | date:'dd/LL/YYYY' }}
-
- -
- - -
-
Rôle:
-
- Utilisateur - Annonceur - Admin -
-
-
- - -
- -
- -
diff --git a/src/app/admin/userList/popup-visualize-user/popup-visualize-user.component.scss b/src/app/admin/userList/popup-visualize-user/popup-visualize-user.component.scss deleted file mode 100644 index b070a71..0000000 --- a/src/app/admin/userList/popup-visualize-user/popup-visualize-user.component.scss +++ /dev/null @@ -1,29 +0,0 @@ -.myContainer { - font-size: small; -} - - -img { - margin: 0px 0px 10px 0px; - width: 5vw; - height: 5vw; - border: solid 2px black; - border-radius: 50%; - font-size: xxx-large; -} - - -.myRow { - margin: 15px 0px 15px 0px; -} -.myLabel { - text-align: right; - padding: 0px 5px 0px 0px; - margin: 0px; - font-weight: bold; -} -.myValue { - text-align: left; - padding: 0px 0px 0px 5px; - margin: 0px; -} diff --git a/src/app/admin/userList/popup-visualize-user/popup-visualize-user.component.spec.ts b/src/app/admin/userList/popup-visualize-user/popup-visualize-user.component.spec.ts deleted file mode 100644 index 2e99b66..0000000 --- a/src/app/admin/userList/popup-visualize-user/popup-visualize-user.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { PopupVisualizeUserComponent } from './popup-visualize-user.component'; - -describe('PopupVisualizeUserComponent', () => { - let component: PopupVisualizeUserComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ PopupVisualizeUserComponent ] - }) - .compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(PopupVisualizeUserComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/admin/userList/popup-visualize-user/popup-visualize-user.component.ts b/src/app/admin/userList/popup-visualize-user/popup-visualize-user.component.ts deleted file mode 100644 index 6a4062a..0000000 --- a/src/app/admin/userList/popup-visualize-user/popup-visualize-user.component.ts +++ /dev/null @@ -1,23 +0,0 @@ -import {Component, Inject, OnInit} from '@angular/core'; -import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog"; - - - -@Component({ - selector: 'app-popup-visualize-user', - templateUrl: './popup-visualize-user.component.html', - styleUrls: ['./popup-visualize-user.component.scss'] -}) -export class PopupVisualizeUserComponent implements OnInit -{ - user; - - constructor( public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public data ) { } - - ngOnInit(): void - { - this.user = this.data.user; - } - -} diff --git a/src/app/advertiser/adList/page-ad-list-advertiser/page-ad-list-advertiser.component.ts b/src/app/advertiser/adList/page-ad-list-advertiser/page-ad-list-advertiser.component.ts index 826fbe1..6b3306b 100644 --- a/src/app/advertiser/adList/page-ad-list-advertiser/page-ad-list-advertiser.component.ts +++ b/src/app/advertiser/adList/page-ad-list-advertiser/page-ad-list-advertiser.component.ts @@ -84,6 +84,8 @@ export class PageAdListAdvertiserComponent implements AfterViewInit { const config = { width: '75%', + height: '80%', + panelClass: 'custom-dialog-container', data: { action: "add", advert: null } }; this.dialog @@ -111,6 +113,8 @@ export class PageAdListAdvertiserComponent implements AfterViewInit { const config = { width: '75%', + height: '80%', + panelClass: 'custom-dialog-container', data: { action: "update", advert: advertToUpdate } }; this.dialog diff --git a/src/app/advertiser/adList/popup-add-or-update-ad/popup-add-or-update-ad.component.html b/src/app/advertiser/adList/popup-add-or-update-ad/popup-add-or-update-ad.component.html index 8e161d2..bda058c 100644 --- a/src/app/advertiser/adList/popup-add-or-update-ad/popup-add-or-update-ad.component.html +++ b/src/app/advertiser/adList/popup-add-or-update-ad/popup-add-or-update-ad.component.html @@ -1,76 +1,79 @@ -
+
+
- -

{{title}}

+ +

{{title}}

-
+
- -
+ +
- -
+ +
- - - Titre annonce - - + + + Titre annonce + + - - + + - - - Commentaire - -
+ + + Commentaire + +
- - - URL - -
+ + + URL + +
- - Visible

+ + Visible

- -
-
- Images déjà associées: -
-
-
- - {{image.description}} - - + +
+
+ Images déjà associées: +
+
+
+ + {{image.description}} + + +
+ +
+ + +
+
- -
- -
+ +
+ + + + + + + +
- - -
- - - - - - - -
diff --git a/src/app/advertiser/adList/popup-add-or-update-ad/popup-add-or-update-ad.component.scss b/src/app/advertiser/adList/popup-add-or-update-ad/popup-add-or-update-ad.component.scss index b299124..2221b39 100644 --- a/src/app/advertiser/adList/popup-add-or-update-ad/popup-add-or-update-ad.component.scss +++ b/src/app/advertiser/adList/popup-add-or-update-ad/popup-add-or-update-ad.component.scss @@ -1,10 +1,24 @@ -.lightTheme, .darkTheme { - background-image: none; - overflow-y: hidden; - overflow-x: hidden; +.myContainer1 { + padding: 10px 10px 0px 25px; + margin: 0px 0px 0px 0px; font-size: small; } + +.myContainer2 { + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; + overflow-y: hidden; + overflow-x: hidden; + -ms-overflow-style: none; + scrollbar-width: none; +} +.myContainer2::-webkit-scrollbar { + display: none; +} + + + h1 { text-align: center; font-size: large; @@ -26,6 +40,10 @@ h1 { border: solid 1px grey; } +mat-dialog-actions { + margin-bottom: 0px; +} + button { font-size: small; } diff --git a/src/app/advertiser/myProfil/popup-update-advertiser/popup-update-advertiser.component.ts b/src/app/advertiser/myProfil/popup-update-advertiser/popup-update-advertiser.component.ts index 23827fe..b224472 100644 --- a/src/app/advertiser/myProfil/popup-update-advertiser/popup-update-advertiser.component.ts +++ b/src/app/advertiser/myProfil/popup-update-advertiser/popup-update-advertiser.component.ts @@ -30,7 +30,7 @@ export class PopupUpdateAdvertiserComponent implements OnInit _id: advertiser0._id, login: advertiser0.login, hashPass: advertiser0.hashPass, - email: advertiser0.mail, + email: advertiser0.email, role: { name: advertiser0.role.name, permission: advertiser0.role.permission, @@ -79,14 +79,13 @@ export class PopupUpdateAdvertiserComponent implements OnInit this.errorMessage = "Email invalide" ; this.hasError = true; } - else if(this.changePassword) { - if (this.newPassword.length === 0) { - this.errorMessage = "Veuillez remplir le champ 'mot de passe'" ; - this.hasError = true; - } else if (this.newPassword !== this.confirmNewPassword) { - this.errorMessage = "Le mot de passe est différent de sa confirmation" ; - this.hasError = true; - } + else if((this.changePassword) && (this.newPassword.length === 0)) { + this.errorMessage = "Veuillez remplir le champ 'mot de passe'" ; + this.hasError = true; + } + else if((this.changePassword) && (this.newPassword !== this.confirmNewPassword)) { + this.errorMessage = "Le mot de passe est différent de sa confirmation" ; + this.hasError = true; } else { this.errorMessage = "" ; diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 28aa609..dc121e6 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -60,10 +60,8 @@ import { InputInterestsRegisterComponent } from './beforeConnexion/register/inpu import {MatPaginatorModule} from "@angular/material/paginator"; import { PageAdListAdminComponent } from './admin/adList/page-ad-list-admin/page-ad-list-admin.component'; import { PopupDeleteAdAdminComponent } from './admin/adList/popup-delete-ad-admin/popup-delete-ad-admin.component'; -import { PopupVisualizeAdAdminComponent } from './admin/adList/popup-visualize-ad-admin/popup-visualize-ad-admin.component'; import { PopupVisualizeImagesAdminComponent } from './admin/adList/popup-visualize-images-admin/popup-visualize-images-admin.component'; import { PageUserListComponent } from './admin/userList/page-user-list/page-user-list.component'; -import { PopupVisualizeUserComponent } from './admin/userList/popup-visualize-user/popup-visualize-user.component'; import { PopupDeleteUserComponent } from './admin/userList/popup-delete-user/popup-delete-user.component'; import { PopupCreateUserComponent } from './admin/userList/popup-create-user/popup-create-user.component'; import { InputInterestsAdminComponent } from './admin/userList/input-interests-admin/input-interests-admin.component'; @@ -72,6 +70,7 @@ import {MatDatepickerModule} from "@angular/material/datepicker"; import { PagesPopularityComponent } from './advertiser/pages-popularity/pages-popularity.component'; import { ChartsModule } from 'ng2-charts'; import { PopupDeletePlaylistComponent } from './user/myPlaylists/popup-delete-playlist/popup-delete-playlist.component'; +import { PopupForgottenPasswordComponent } from './beforeConnexion/login/popup-forgotten-password/popup-forgotten-password.component'; @NgModule({ @@ -112,16 +111,15 @@ import { PopupDeletePlaylistComponent } from './user/myPlaylists/popup-delete-pl InputInterestsRegisterComponent, PageAdListAdminComponent, PopupDeleteAdAdminComponent, - PopupVisualizeAdAdminComponent, PopupVisualizeImagesAdminComponent, PageUserListComponent, - PopupVisualizeUserComponent, PopupDeleteUserComponent, PopupCreateUserComponent, InputInterestsAdminComponent, PageWatchingVideoComponent, PagesPopularityComponent, PopupDeletePlaylistComponent, + PopupForgottenPasswordComponent, ], imports: [ BrowserModule, diff --git a/src/app/beforeConnexion/login/page-login/page-login.component.html b/src/app/beforeConnexion/login/page-login/page-login.component.html index 48258aa..675270e 100644 --- a/src/app/beforeConnexion/login/page-login/page-login.component.html +++ b/src/app/beforeConnexion/login/page-login/page-login.component.html @@ -25,7 +25,7 @@
diff --git a/src/app/beforeConnexion/login/page-login/page-login.component.ts b/src/app/beforeConnexion/login/page-login/page-login.component.ts index 008a81f..f9414be 100644 --- a/src/app/beforeConnexion/login/page-login/page-login.component.ts +++ b/src/app/beforeConnexion/login/page-login/page-login.component.ts @@ -2,6 +2,9 @@ import {Component, OnInit} from '@angular/core'; import {MessageService} from "../../../utils/services/message/message.service"; import {Router} from "@angular/router"; import {ThemeService} from "../../../utils/services/theme/theme.service"; +import {MatDialog} from "@angular/material/dialog"; +import {PopupForgottenPasswordComponent} from "../popup-forgotten-password/popup-forgotten-password.component"; +import {MatSnackBar} from "@angular/material/snack-bar"; @@ -20,7 +23,9 @@ export class PageLoginComponent implements OnInit constructor( private messageService: MessageService, private router: Router, - public themeService: ThemeService ) { } + public themeService: ThemeService, + public dialog: MatDialog, + private snackBar: MatSnackBar ) { } ngOnInit(): void {} @@ -43,6 +48,21 @@ export class PageLoginComponent implements OnInit } + onForgottenPassword(): void + { + this.dialog + .open(PopupForgottenPasswordComponent, {width: '30%'}) + .afterClosed() + .subscribe(result => { + if((result !== null) && (result !== undefined)) + { + const config = { duration: 5000, panelClass: "custom-class" }; + this.snackBar.open( "Un mail de réinitialisation de mot de passe vous a été envoyé.", "", config); + } + }); + } + + maCallback(retour): void { console.log(retour.data) @@ -72,6 +92,7 @@ export class PageLoginComponent implements OnInit } } + // Fonction de hashage (faible) hashage(input: string): string { diff --git a/src/app/beforeConnexion/login/popup-forgotten-password/popup-forgotten-password.component.html b/src/app/beforeConnexion/login/popup-forgotten-password/popup-forgotten-password.component.html new file mode 100644 index 0000000..80a2fc9 --- /dev/null +++ b/src/app/beforeConnexion/login/popup-forgotten-password/popup-forgotten-password.component.html @@ -0,0 +1,24 @@ +

Oubli mot de passe

+ +
+ + +
+ + Email + + +
+ + +
+ {{errorMessage}} +
+ + + + + + + + diff --git a/src/app/beforeConnexion/login/popup-forgotten-password/popup-forgotten-password.component.scss b/src/app/beforeConnexion/login/popup-forgotten-password/popup-forgotten-password.component.scss new file mode 100644 index 0000000..fa75013 --- /dev/null +++ b/src/app/beforeConnexion/login/popup-forgotten-password/popup-forgotten-password.component.scss @@ -0,0 +1,12 @@ +h4 { + text-align: center; +} + +.myDiv { + text-align: center; + font-size: small; +} + +.myError { + text-align: center; +} diff --git a/src/app/beforeConnexion/login/popup-forgotten-password/popup-forgotten-password.component.spec.ts b/src/app/beforeConnexion/login/popup-forgotten-password/popup-forgotten-password.component.spec.ts new file mode 100644 index 0000000..ebf101c --- /dev/null +++ b/src/app/beforeConnexion/login/popup-forgotten-password/popup-forgotten-password.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PopupForgottenPasswordComponent } from './popup-forgotten-password.component'; + +describe('PopupForgottenPasswordComponent', () => { + let component: PopupForgottenPasswordComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ PopupForgottenPasswordComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(PopupForgottenPasswordComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/beforeConnexion/login/popup-forgotten-password/popup-forgotten-password.component.ts b/src/app/beforeConnexion/login/popup-forgotten-password/popup-forgotten-password.component.ts new file mode 100644 index 0000000..1ff70ce --- /dev/null +++ b/src/app/beforeConnexion/login/popup-forgotten-password/popup-forgotten-password.component.ts @@ -0,0 +1,47 @@ +import { Component } from '@angular/core'; +import {MatDialogRef} from "@angular/material/dialog"; + + + +@Component({ + selector: 'app-popup-forgotten-password', + templateUrl: './popup-forgotten-password.component.html', + styleUrls: ['./popup-forgotten-password.component.scss'] +}) +export class PopupForgottenPasswordComponent +{ + email: string; + hasError: boolean = false; + errorMessage: string = ""; + + + constructor(public dialogRef: MatDialogRef) {} + + + // Click sur valider + onValidate() + { + if(this.email.length === 0) { + this.errorMessage = "Veuillez remplir le champ 'email'." ; + this.hasError = true; + } + else if(!this.isValidEmail(this.email)) { + this.errorMessage = "Email invalide." ; + this.hasError = true; + } + else { + this.errorMessage = "" ; + this.hasError = false; + this.dialogRef.close(true); + } + } + + + // Indique si email a bien le format d'un email + isValidEmail(email): boolean + { + let re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + return re.test(email); + } + +} diff --git a/src/app/beforeConnexion/register/page-register/page-register.component.html b/src/app/beforeConnexion/register/page-register/page-register.component.html index 42ad1a5..dc6d23c 100644 --- a/src/app/beforeConnexion/register/page-register/page-register.component.html +++ b/src/app/beforeConnexion/register/page-register/page-register.component.html @@ -105,7 +105,7 @@ Date de naissance + (ngModelChange)="user.dateOfBirth = $event"> diff --git a/src/app/beforeConnexion/register/page-register/page-register.component.ts b/src/app/beforeConnexion/register/page-register/page-register.component.ts index c109478..66dd8bf 100644 --- a/src/app/beforeConnexion/register/page-register/page-register.component.ts +++ b/src/app/beforeConnexion/register/page-register/page-register.component.ts @@ -119,10 +119,6 @@ export class PageRegisterComponent this.errorMessage = "Le mot de passe est différent de sa confirmation."; this.hasError = true; } - else if((this.user.role.name === 'user') && ((this.user.dateOfBirth === undefined) || (this.user.dateOfBirth === null))) { - this.errorMessage = "Veuillez remplir le champ 'date de naissance'."; - this.hasError = true; - } else { this.errorMessage = "" ; this.hasError = false; diff --git a/src/app/user/history/page-history-user/page-history-user.component.ts b/src/app/user/history/page-history-user/page-history-user.component.ts index 6999167..b8f7fc8 100644 --- a/src/app/user/history/page-history-user/page-history-user.component.ts +++ b/src/app/user/history/page-history-user/page-history-user.component.ts @@ -12,6 +12,7 @@ import {Router} from "@angular/router"; interface VideoHistory { + videoId: string, imageUrl: string, title: string, date: Date, @@ -115,6 +116,7 @@ export class PageHistoryUserComponent implements AfterViewInit videoAllToVideoHistory(videoAll: VideoAll): VideoHistory { return { + videoId: videoAll.videoId, imageUrl: videoAll.imageUrl, title: videoAll.title, date: videoAll.watchedDates[videoAll.watchedDates.length-1], diff --git a/src/app/user/myProfil/popup-update-user/popup-update-user.component.ts b/src/app/user/myProfil/popup-update-user/popup-update-user.component.ts index 806b6c9..5424dca 100644 --- a/src/app/user/myProfil/popup-update-user/popup-update-user.component.ts +++ b/src/app/user/myProfil/popup-update-user/popup-update-user.component.ts @@ -30,7 +30,7 @@ export class PopupUpdateUserComponent implements OnInit _id: user0._id, login: user0.login, hashPass: user0.hashPass, - email: user0.mail, + email: user0.email, role: { name: user0.role.name, permission: user0.role.permission, @@ -79,18 +79,13 @@ export class PopupUpdateUserComponent implements OnInit this.errorMessage = "Email invalide." ; this.hasError = true; } - else if((this.userCopy.dateOfBirth === undefined) || (this.userCopy.dateOfBirth === null)) { - this.errorMessage = "Veuillez remplir le champ 'date de naissance'."; + else if((this.changePassword) && (this.newPassword.length === 0)) { + this.errorMessage = "Veuillez remplir le champ 'mot de passe'" ; this.hasError = true; } - else if(this.changePassword) { - if (this.newPassword.length === 0) { - this.errorMessage = "Veuillez remplir le champ 'mot de passe'." ; - this.hasError = true; - } else if (this.newPassword !== this.confirmNewPassword) { - this.errorMessage = "Le mot de passe est différent de sa confirmation." ; - this.hasError = true; - } + else if((this.changePassword) && (this.newPassword !== this.confirmNewPassword)) { + this.errorMessage = "Le mot de passe est différent de sa confirmation" ; + this.hasError = true; } else { this.errorMessage = "" ; diff --git a/src/styles.scss b/src/styles.scss index 8a615cc..80de7ef 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -31,6 +31,11 @@ body { margin: 0; } } +.custom-dialog-container .mat-dialog-container { + margin: 0px 0px 0px 0px; + padding: 0px 0px 0px 0px; +} + // -------------------------------------------------------------------------