LP1816475: Don't let users edit returned reservations
authorJane Sandberg <sandbej@linnbenton.edu>
Mon, 1 Apr 2019 21:46:20 +0000 (14:46 -0700)
committerJane Sandberg <sandbej@linnbenton.edu>
Wed, 17 Apr 2019 20:32:12 +0000 (13:32 -0700)
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Open-ILS/src/eg2/src/app/staff/booking/reservations-grid.component.html
Open-ILS/src/eg2/src/app/staff/booking/reservations-grid.component.ts

index 93288f7..5412e7c 100644 (file)
@@ -1,7 +1,7 @@
 <eg-grid #grid [dataSource]="gridSource"
   (onRowActivate)="handleRowActivate($event)"
   [sortable]="true" persistKey="booking.{{persistSuffix}}" >
-  <eg-grid-toolbar-action label="Edit Selected" i18n-label [action]="editSelected" [disableOnRows]="noSelectedRows"></eg-grid-toolbar-action>
+  <eg-grid-toolbar-action label="Edit Selected" i18n-label [action]="editSelected" [disableOnRows]="editNotAppropriate"></eg-grid-toolbar-action>
   <eg-grid-toolbar-action label="Cancel Selected" i18n-label [action]="cancelSelected" [disableOnRows]="cancelNotAppropriate"></eg-grid-toolbar-action>
   <eg-grid-toolbar-action label="Pick Up Selected" i18n-label [action]="pickupSelected" [disableOnRows]="pickupNotAppropriate"></eg-grid-toolbar-action>
   <eg-grid-toolbar-action label="Return Selected" i18n-label [action]="returnSelected" [disableOnRows]="returnNotAppropriate"></eg-grid-toolbar-action>
index b7d7b83..3714052 100644 (file)
@@ -69,6 +69,7 @@ export class ReservationsGridComponent implements OnInit {
     notOneResourceSelected: (rows: IdlObject[]) => boolean;
     cancelNotAppropriate: (rows: IdlObject[]) => boolean;
     pickupNotAppropriate: (rows: IdlObject[]) => boolean;
+    editNotAppropriate: (rows: IdlObject[]) => boolean;
     returnNotAppropriate: (rows: IdlObject[]) => boolean;
 
     constructor(
@@ -175,6 +176,7 @@ export class ReservationsGridComponent implements OnInit {
         this.notOneResourceSelected = (rows: IdlObject[]) => (new Set(rows.map(row => row.current_resource().id())).size !== 1);
         this.cancelNotAppropriate = (rows: IdlObject[]) => (this.noSelectedRows(rows) || ('pickedUp' === this.status));
         this.pickupNotAppropriate = (rows: IdlObject[]) => (this.noSelectedRows(rows) || ('pickupReady' !== this.status));
+        this.editNotAppropriate = (rows: IdlObject[]) => (this.noSelectedRows(rows) || ('returnedToday' === this.status));
         this.returnNotAppropriate = (rows: IdlObject[]) => {
             if (this.noSelectedRows(rows)) {
                 return true;