From 7bd79fb49815cddba2b67675bf871b29681b6148 Mon Sep 17 00:00:00 2001 From: Karan Takalkar Date: Mon, 13 Jul 2020 14:53:04 +0530 Subject: [PATCH] feat: client actions (delete) (#1073) Fixes: #1072 --- .../clients-view/clients-view.component.html | 1 + .../clients-view/clients-view.component.ts | 21 ++++++++++++++++++- src/app/clients/clients.service.ts | 11 ++++------ 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/app/clients/clients-view/clients-view.component.html b/src/app/clients/clients-view/clients-view.component.html index 62d9bbc15..850b09662 100644 --- a/src/app/clients/clients-view/clients-view.component.html +++ b/src/app/clients/clients-view/clients-view.component.html @@ -45,6 +45,7 @@ + diff --git a/src/app/clients/clients-view/clients-view.component.ts b/src/app/clients/clients-view/clients-view.component.ts index b3b740f92..c47d9b3e2 100644 --- a/src/app/clients/clients-view/clients-view.component.ts +++ b/src/app/clients/clients-view/clients-view.component.ts @@ -6,6 +6,7 @@ import { MatDialog } from '@angular/material'; /** Custom Dialogs */ import { UnassignStaffDialogComponent } from './custom-dialogs/unassign-staff-dialog/unassign-staff-dialog.component'; +import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component'; /** Custom Services */ import { ClientsService } from '../clients.service'; @@ -59,6 +60,8 @@ export class ClientsViewComponent implements OnInit { case 'Unassign Staff': this.unassignStaff(); break; + case 'Delete': + this.deleteClient(); } } @@ -74,7 +77,23 @@ export class ClientsViewComponent implements OnInit { } /** - * Unassign's the group's staff. + * Deletes the client + */ + private deleteClient() { + const deleteClientDialogRef = this.dialog.open(DeleteDialogComponent, { + data: { deleteContext: `client with id: ${this.clientViewData.id}` } + }); + deleteClientDialogRef.afterClosed().subscribe((response: any) => { + if (response.delete) { + this.clientsService.deleteClient(this.clientViewData.id).subscribe(() => { + this.router.navigate(['/clients'], { relativeTo: this.route }); + }); + } + }); + } + + /** + * Unassign's the client's staff. */ private unassignStaff() { const unAssignStaffDialogRef = this.dialog.open(UnassignStaffDialogComponent); diff --git a/src/app/clients/clients.service.ts b/src/app/clients/clients.service.ts index c79fc90fc..62a04d051 100644 --- a/src/app/clients/clients.service.ts +++ b/src/app/clients/clients.service.ts @@ -45,6 +45,10 @@ export class ClientsService { return this.http.get(`/clients/${clientId}`); } + deleteClient(clientId: string) { + return this.http.delete(`/clients/${clientId}`); + } + getClientDataAndTemplate(clientId: string) { const httpParams = new HttpParams() .set('template', 'true') @@ -86,18 +90,11 @@ export class ClientsService { return this.http.get(`/clients/${clientId}/charges`, { params: httpParams }); } - /** - * @param chargeData Charge Data to be waived. - */ waiveClientCharge(chargeData: any) { const httpParams = new HttpParams().set('command', 'waive'); return this.http.post(`/clients/${chargeData.clientId}/charges/${chargeData.resourceType}`, chargeData, { params: httpParams }); } - /** - * Get All Client Cgarges. - * @param clientId Client Id of the user. - */ getAllClientCharges(clientId: string) { return this.http.get(`/clients/${clientId}/charges`); }