From c620d3145e8f00c649d7e26f15f07c6b60517bde Mon Sep 17 00:00:00 2001
From: Muskan Khedia <36980003+muskankhedia@users.noreply.github.com>
Date: Tue, 11 Aug 2020 18:59:13 +0530
Subject: [PATCH] feat: add centers action (staff assignment history) (#1194)
Fixes: #1193
---
.../center-actions.component.html | 1 +
.../center-actions.component.ts | 6 ++-
.../staff-assignment-history.component.html | 11 +++++
.../staff-assignment-history.component.scss | 7 ++++
...staff-assignment-history.component.spec.ts | 25 +++++++++++
.../staff-assignment-history.component.ts | 41 +++++++++++++++++++
.../centers-view/centers-view.component.html | 2 +-
.../centers-view/centers-view.component.ts | 1 +
src/app/centers/centers.module.ts | 4 +-
src/app/centers/centers.service.ts | 14 +++++++
.../center-actions.resolver.ts | 2 +
11 files changed, 110 insertions(+), 4 deletions(-)
create mode 100644 src/app/centers/centers-view/center-actions/staff-assignment-history/staff-assignment-history.component.html
create mode 100644 src/app/centers/centers-view/center-actions/staff-assignment-history/staff-assignment-history.component.scss
create mode 100644 src/app/centers/centers-view/center-actions/staff-assignment-history/staff-assignment-history.component.spec.ts
create mode 100644 src/app/centers/centers-view/center-actions/staff-assignment-history/staff-assignment-history.component.ts
diff --git a/src/app/centers/centers-view/center-actions/center-actions.component.html b/src/app/centers/centers-view/center-actions/center-actions.component.html
index 1c2358737..6ddf41695 100644
--- a/src/app/centers/centers-view/center-actions/center-actions.component.html
+++ b/src/app/centers/centers-view/center-actions/center-actions.component.html
@@ -6,3 +6,4 @@
+
diff --git a/src/app/centers/centers-view/center-actions/center-actions.component.ts b/src/app/centers/centers-view/center-actions/center-actions.component.ts
index 747ed5cbf..68b2a2da9 100644
--- a/src/app/centers/centers-view/center-actions/center-actions.component.ts
+++ b/src/app/centers/centers-view/center-actions/center-actions.component.ts
@@ -21,7 +21,8 @@ export class CenterActionsComponent {
'Attach Meeting': boolean,
'Edit Meeting': boolean,
'Edit Meeting Schedule': boolean,
- 'Manage Groups': boolean
+ 'Manage Groups': boolean,
+ 'Staff Assignment History': boolean
} = {
'Activate': false,
'Assign Staff': false,
@@ -30,7 +31,8 @@ export class CenterActionsComponent {
'Attach Meeting': false,
'Edit Meeting': false,
'Edit Meeting Schedule': false,
- 'Manage Groups': false
+ 'Manage Groups': false,
+ 'Staff Assignment History': false
};
/**
diff --git a/src/app/centers/centers-view/center-actions/staff-assignment-history/staff-assignment-history.component.html b/src/app/centers/centers-view/center-actions/staff-assignment-history/staff-assignment-history.component.html
new file mode 100644
index 000000000..7d371566a
--- /dev/null
+++ b/src/app/centers/centers-view/center-actions/staff-assignment-history/staff-assignment-history.component.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/app/centers/centers-view/center-actions/staff-assignment-history/staff-assignment-history.component.scss b/src/app/centers/centers-view/center-actions/staff-assignment-history/staff-assignment-history.component.scss
new file mode 100644
index 000000000..008b28446
--- /dev/null
+++ b/src/app/centers/centers-view/center-actions/staff-assignment-history/staff-assignment-history.component.scss
@@ -0,0 +1,7 @@
+.container {
+ max-width: 60rem;
+ .back-button {
+ max-height: 2%;
+ margin-bottom: 2%;
+ }
+}
diff --git a/src/app/centers/centers-view/center-actions/staff-assignment-history/staff-assignment-history.component.spec.ts b/src/app/centers/centers-view/center-actions/staff-assignment-history/staff-assignment-history.component.spec.ts
new file mode 100644
index 000000000..e5e617604
--- /dev/null
+++ b/src/app/centers/centers-view/center-actions/staff-assignment-history/staff-assignment-history.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { StaffAssignmentHistoryComponent } from './staff-assignment-history.component';
+
+describe('StaffAssignmentHistoryComponent', () => {
+ let component: StaffAssignmentHistoryComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ StaffAssignmentHistoryComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(StaffAssignmentHistoryComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/centers/centers-view/center-actions/staff-assignment-history/staff-assignment-history.component.ts b/src/app/centers/centers-view/center-actions/staff-assignment-history/staff-assignment-history.component.ts
new file mode 100644
index 000000000..4ed270d16
--- /dev/null
+++ b/src/app/centers/centers-view/center-actions/staff-assignment-history/staff-assignment-history.component.ts
@@ -0,0 +1,41 @@
+/** Angular Imports */
+import { Component, OnInit, Input } from '@angular/core';
+import { DomSanitizer } from '@angular/platform-browser';
+import { ActivatedRoute } from '@angular/router';
+
+/** Custom Services */
+import { CentersService } from '../../../centers.service';
+
+/**
+ * Staff Assignment History Component
+ */
+@Component({
+ selector: 'mifosx-staff-assignment-history',
+ templateUrl: './staff-assignment-history.component.html',
+ styleUrls: ['./staff-assignment-history.component.scss']
+})
+export class StaffAssignmentHistoryComponent implements OnInit {
+
+ /** Staff Assignment History Data */
+ staffAssignmentHistoryData: any;
+ /** trusted resource url for pentaho output */
+ pentahoUrl: any;
+
+ /**
+ * @param {DomSanitizer} sanitizer DOM Sanitizer
+ */
+ constructor(private sanitizer: DomSanitizer,
+ private route: ActivatedRoute) {
+ this.route.data.subscribe((data: { centersActionData: any }) => {
+ this.staffAssignmentHistoryData = data.centersActionData;
+ });
+ }
+
+ ngOnInit() {
+ const contentType = this.staffAssignmentHistoryData.headers.get('Content-Type');
+ const file = new Blob([this.staffAssignmentHistoryData.body], { type: contentType });
+ const filecontent = URL.createObjectURL(file);
+ this.pentahoUrl = this.sanitizer.bypassSecurityTrustResourceUrl(filecontent);
+ }
+
+}
diff --git a/src/app/centers/centers-view/centers-view.component.html b/src/app/centers/centers-view/centers-view.component.html
index 4b16badd3..0b835ddcb 100644
--- a/src/app/centers/centers-view/centers-view.component.html
+++ b/src/app/centers/centers-view/centers-view.component.html
@@ -83,7 +83,7 @@
-
+
diff --git a/src/app/centers/centers-view/centers-view.component.ts b/src/app/centers/centers-view/centers-view.component.ts
index 12054cdbe..7c2d7c5c9 100644
--- a/src/app/centers/centers-view/centers-view.component.ts
+++ b/src/app/centers/centers-view/centers-view.component.ts
@@ -75,6 +75,7 @@ export class CentersViewComponent implements OnInit {
case 'Attendance':
case 'Attach Meeting':
case 'Manage Groups':
+ case 'Staff Assignment History':
this.router.navigate([`actions/${name}`], { relativeTo: this.route });
break;
case 'Edit Meeting':
diff --git a/src/app/centers/centers.module.ts b/src/app/centers/centers.module.ts
index c86bc8c1f..09c4b91cb 100644
--- a/src/app/centers/centers.module.ts
+++ b/src/app/centers/centers.module.ts
@@ -25,6 +25,7 @@ import { AttachCenterMeetingComponent } from './centers-view/center-actions/atta
import { EditCenterMeetingComponent } from './centers-view/center-actions/edit-center-meeting/edit-center-meeting.component';
import { EditCenterMeetingScheduleComponent } from './centers-view/center-actions/edit-center-meeting-schedule/edit-center-meeting-schedule.component';
import { ManageGroupsComponent } from './centers-view/center-actions/manage-groups/manage-groups.component';
+import { StaffAssignmentHistoryComponent } from './centers-view/center-actions/staff-assignment-history/staff-assignment-history.component';
/**
* Centers Module
@@ -55,7 +56,8 @@ import { ManageGroupsComponent } from './centers-view/center-actions/manage-grou
AttachCenterMeetingComponent,
EditCenterMeetingComponent,
EditCenterMeetingScheduleComponent,
- ManageGroupsComponent
+ ManageGroupsComponent,
+ StaffAssignmentHistoryComponent
]
})
export class CentersModule { }
diff --git a/src/app/centers/centers.service.ts b/src/app/centers/centers.service.ts
index e601a1f02..d86534e10 100644
--- a/src/app/centers/centers.service.ts
+++ b/src/app/centers/centers.service.ts
@@ -246,4 +246,18 @@ export class CentersService {
return this.http.put(`/centers/${centerId}/calendars/${calendarId}`, data);
}
+ /**
+ * Run Report Data for Staff Assignement History.
+ * @param {any} reportName reportName object containing 'name' of the report
+ * @param {object} centerId CenterId.
+ * @returns {Observable}
+ */
+ getStaffAssignmentHistoryData(reportName: any, centerId: any, tenantIdentifier: string, locale: string): Observable {
+ const httpParams = new HttpParams()
+ .set('tenantIdentifier', tenantIdentifier)
+ .set('locale', locale)
+ .set('R_centerId', centerId);
+ return this.http.get(`/runreports/${reportName}`, { responseType: 'arraybuffer', observe: 'response', params: httpParams });
+ }
+
}
diff --git a/src/app/centers/common-resolvers/center-actions.resolver.ts b/src/app/centers/common-resolvers/center-actions.resolver.ts
index 36005890f..cb8255116 100644
--- a/src/app/centers/common-resolvers/center-actions.resolver.ts
+++ b/src/app/centers/common-resolvers/center-actions.resolver.ts
@@ -40,6 +40,8 @@ export class CenterActionsResolver implements Resolve