Skip to content
Snippets Groups Projects
Commit ac952026 authored by Hugo SUBTIL's avatar Hugo SUBTIL
Browse files

Merge branch 'feat/admin_newsletter_changes' into 'dev'

feat: add count on newsletter and change button

See merge request web-et-numerique/pamn_plateforme-des-acteurs-de-la-mediation-numerique/pamn_client!126
parents f6b63d41 16146f2a
No related branches found
No related tags found
3 merge requests!178release V1.10.0,!135Dev,!126feat: add count on newsletter and change button
......@@ -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>
......
......@@ -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;
});
}
}
......
......@@ -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>
......@@ -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(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment