diff --git a/src/app/admin/components/newsletter-users/newsletter-users.component.html b/src/app/admin/components/newsletter-users/newsletter-users.component.html index 8a82446d753d0b266676efa1087e45c29e4eb07f..d89d280e15ef1ce273a22540b1eabb1163c3ea1e 100644 --- a/src/app/admin/components/newsletter-users/newsletter-users.component.html +++ b/src/app/admin/components/newsletter-users/newsletter-users.component.html @@ -3,6 +3,7 @@ <div fxLayout="row"> <button (click)="copySubscription()">Copier les adresses dans le presse papier</button> </div> + <div fxLayout="row">Il y a actuellement {{ subscriptionsCount }} abonnés à la newsletter.</div> <div fxLayout="row"> <input #searchstring (keyup)="(0)" /> <button (click)="searchSubscribedEmail(searchstring.value)">Rechercher</button> diff --git a/src/app/admin/components/newsletter-users/newsletter-users.component.ts b/src/app/admin/components/newsletter-users/newsletter-users.component.ts index 66290faaedf3612e9c0447c7badc173be669e5e7..2b8675165164070d1dfe52af192c0f194cbc58ed 100644 --- a/src/app/admin/components/newsletter-users/newsletter-users.component.ts +++ b/src/app/admin/components/newsletter-users/newsletter-users.component.ts @@ -10,9 +10,16 @@ export class NewsletterUsersComponent { public subscriptions: NewsletterSubscription[]; public deleteModalOpenned = false; public emailToUnsubscribe: string = null; + public subscriptionsCount: number = 0; constructor(private adminService: AdminService) {} + ngOnInit(): void { + this.adminService.countNewsletterSubscriptions().subscribe((count) => { + this.subscriptionsCount = count; + }); + } + public toggleUnsubscribeModal(emailToUnsubscribe: string): void { this.emailToUnsubscribe = emailToUnsubscribe; this.deleteModalOpenned = !this.deleteModalOpenned; @@ -29,6 +36,7 @@ export class NewsletterUsersComponent { if (shouldUnsubscribe) { this.adminService.unsubscribeEmail(email).subscribe((data) => { this.subscriptions = this.subscriptions.filter((obj) => obj.email !== email); + this.subscriptionsCount = this.subscriptions.length; }); } } diff --git a/src/app/admin/components/panel/panel.component.html b/src/app/admin/components/panel/panel.component.html index 1ee88741e970a24fbb62650211d6764856c4c633..c92281381f783b32bef5df4bb4dc5460d18db18b 100644 --- a/src/app/admin/components/panel/panel.component.html +++ b/src/app/admin/components/panel/panel.component.html @@ -3,7 +3,7 @@ <div fxLayout="row" fxLayoutGap="20px" fxLayoutAlign="center center"> <button (click)="changeActiveFeature(features.pendingStructures)">Gestion structure</button> <button (click)="changeActiveFeature(features.deleteUsers)">Suppression d'utilisateurs</button> - <button (click)="changeActiveFeature(features.newsletterUsers)">Désabonnement newsletter</button> + <button (click)="changeActiveFeature(features.newsletterUsers)">Newsletter</button> <a target="_blank" class="custom-link" rel="noopener noreferrer" [href]="ghostLink">Ghost</a> </div> <div *ngIf="selectedFeature === features.deleteUsers"> @@ -15,5 +15,4 @@ <div *ngIf="selectedFeature === features.newsletterUsers"> <app-admin-newsletter-users></app-admin-newsletter-users> </div> - </div> diff --git a/src/app/admin/services/admin.service.ts b/src/app/admin/services/admin.service.ts index d71c89ef915ce6f05befd85c676539249929d86f..85b41d252dd793714f14490002e390604c4db052 100644 --- a/src/app/admin/services/admin.service.ts +++ b/src/app/admin/services/admin.service.ts @@ -22,19 +22,23 @@ export class AdminService { } public searchUsers(searchString: string): Observable<User[]> { - return this.http.post<User[]>(`api/admin/searchUsers`, { searchString }); + return this.http.post<User[]>(`${this.baseUrl}/searchUsers`, { searchString }); } public deleteUser(id: string): Observable<User> { - return this.http.delete<User>(`api/admin/user/` + id); + return this.http.delete<User>(`${this.baseUrl}/user/` + id); } public searchNewsletterSubscriptions(searchString: string): Observable<NewsletterSubscription[]> { - return this.http.post<NewsletterSubscription[]>(`api/admin/searchNewsletterSubscriptions`, { searchString }); + return this.http.post<NewsletterSubscription[]>(`${this.baseUrl}/searchNewsletterSubscriptions`, { searchString }); + } + + public countNewsletterSubscriptions(): Observable<number> { + return this.http.get<number>(`${this.baseUrl}/countNewsletterSubscriptions`); } public unsubscribeEmail(email: string): Observable<string> { - return this.http.delete<string>(`api/admin/newsletterSubscription/` + email); + return this.http.delete<string>(`${this.baseUrl}/newsletterSubscription/` + email); } public acceptStructureClaim(