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`);
}