Adding a cancel action
authorJane Sandberg <sandbej@linnbenton.edu>
Wed, 12 Dec 2018 23:59:34 +0000 (15:59 -0800)
committerJane Sandberg <sandbej@linnbenton.edu>
Thu, 13 Dec 2018 00:25:52 +0000 (16:25 -0800)
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Open-ILS/src/eg2/src/app/staff/booking/current-reservations.component.html
Open-ILS/src/eg2/src/app/staff/booking/current-reservations.component.ts

index b4c8f7e..3c24204 100644 (file)
@@ -5,6 +5,7 @@
 <eg-grid #grid [dataSource]="gridSource"
   [sortable]="true" persistKey="booking.current_reservations" >
   <eg-grid-toolbar-action label="Edit Selected" i18n-label [action]="editSelected"></eg-grid-toolbar-action>
+  <eg-grid-toolbar-action label="Cancel Selected" i18n-label [action]="cancelSelected"></eg-grid-toolbar-action>
   <eg-grid-column name="id" [hidden]="true" [index]="true" i18n-label label="ID" path="id"></eg-grid-column>
   <eg-grid-column i18n-label [hidden]="true" path="usr.first_given_name"></eg-grid-column>
   <eg-grid-column i18n-label [hidden]="true" path="usr.second_given_name"></eg-grid-column>
index 554c8d5..29958b5 100644 (file)
@@ -1,6 +1,7 @@
 import { Component, OnInit, ViewChild } from '@angular/core';
 import {GridComponent} from '@eg/share/grid/grid.component';
 import { GridDataSource } from '@eg/share/grid/grid';
+import {AuthService} from '@eg/core/auth.service';
 import {IdlObject} from '@eg/core/idl.service';
 import {PcrudService} from '@eg/core/pcrud.service';
 import {Pager} from '@eg/share/util/pager';
@@ -8,6 +9,7 @@ import {ToastService} from '@eg/share/toast/toast.service';
 import { Router, ActivatedRoute, ParamMap } from '@angular/router';
 import {StringComponent} from '@eg/share/string/string.component';
 import {FmRecordEditorComponent} from '@eg/share/fm-editor/fm-editor.component';
+import {NetService} from '@eg/core/net.service';
 
 @Component({
   selector: 'eg-current-reservations',
@@ -23,11 +25,14 @@ export class CurrentReservationsComponent implements OnInit {
   @ViewChild('successString') successString: StringComponent;
 
   editSelected: (rows: IdlObject[]) => void;
+  cancelSelected: (rows: IdlObject[]) => void;
 
   constructor(
     private route: ActivatedRoute,
     private toast: ToastService,
-    private pcrud: PcrudService
+    private pcrud: PcrudService,
+    private auth: AuthService,
+    private net: NetService
   ){
     this.gridSource = new GridDataSource();
 
@@ -58,6 +63,19 @@ export class CurrentReservationsComponent implements OnInit {
        }
        editOneThing(idlThings.shift()); };
 
+    this.cancelSelected = (reservations: IdlObject[]) => {
+      let reservationIds = reservations.map(reservation => reservation.id());
+      this.net.request(
+        'open-ils.booking',
+        'open-ils.booking.reservations.cancel',
+        this.auth.token(), reservationIds)
+      .subscribe(
+        (res) => alert("RES: " + JSON.stringify(res)),
+        (err) => alert("ERR: " + JSON.stringify(err))
+      );
+      this.grid.reload();
+    }
+
   }
 
   showEditDialog(idlThing: IdlObject) {