checkin wildcard fields; route_to, repairs
authorBill Erickson <berick@esilibrary.com>
Wed, 25 Jun 2014 18:29:59 +0000 (14:29 -0400)
committerBill Erickson <berick@esilibrary.com>
Wed, 25 Jun 2014 18:29:59 +0000 (14:29 -0400)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/src/templates/staff/circ/checkin/t_checkin_table.tt2
Open-ILS/src/templates/staff/circ/share/circ_strings.tt2
Open-ILS/web/js/ui/default/staff/circ/checkin/app.js
Open-ILS/web/js/ui/default/staff/circ/services/circ.js

index 6b5343f..3a855f6 100644 (file)
   <eg-grid-field label="[% l('Call Number') %]" 
     path="acn.label" hidden></eg-grid-field>
 
+  <eg-grid-field path="circ.*" parent-idl-class="circ" hidden></eg-grid-field>
+  <eg-grid-field path="acp.*" parent-idl-class="acp" hidden></eg-grid-field>
+  <eg-grid-field path="acn.*" parent-idl-class="acn" hidden></eg-grid-field>
+  <eg-grid-field path="record.*" parent-idl-class="mvr" hidden></eg-grid-field>
+  <eg-grid-field path="mbts.*" parent-idl-class="mbts" hidden></eg-grid-field>
+  <eg-grid-field path="au.*" parent-idl-class="au" hidden></eg-grid-field>
+  <eg-grid-field path="transit.*" parent-idl-class="atc" hidden></eg-grid-field>
+  <eg-grid-field path="hold.*" parent-idl-class="ahr" hidden></eg-grid-field>
+
   <!-- TODO: add support for wildcard fields sans idl-class -->
 </eg-grid>
 
index cdc6731..ca2b283 100644 (file)
@@ -25,6 +25,8 @@ s.LOCATION_ALERT_MSG =
     "{{copy.barcode()}}","{{copy.location().name()}}") %]';
 s.MARK_DAMAGED_CONFIRM = '[% l("Mark {{num_items}} items as DAMAGED?") %]';
 s.ABORT_TRANSIT_CONFIRM = '[% l("Abort {{num_transits}} transits?") %]';
+s.ROUTE_TO_HOLDS_SHELF = '[% l("Holds Shelf") %]';
+s.ROUTE_TO_CATALOGING = '[% l("Cataloging") %]';
 }]);
 </script>
 
index 61a8078..7a64110 100644 (file)
@@ -132,6 +132,7 @@ function($scope , $q , $window , $location , egCore , checkinSvc , egGridDataPro
 
             if (payload) {
                 row_item.circ = payload.circ;
+                row_item.hold = payload.hold;
                 row_item.mbts = payload.circ ?
                     payload.circ.billable_transaction().summary() : null;
                 row_item.record = payload.record;
@@ -145,13 +146,15 @@ function($scope , $q , $window , $location , egCore , checkinSvc , egGridDataPro
                 row_item.title = final_resp.evt.title;
                 row_item.author = final_resp.evt.author;
                 row_item.isbn = final_resp.evt.isbn;
+                row_item.route_to = final_resp.evt.route_to;
             }
 
-            if (row_item.transit) {
-                row_item.route_to = row_item.transit.dest().shortname();
-            } else if (row_item.acp) {
-                row_item.route_to = row_item.acp.location().name();
-                // TODO holds shelf, cataloging
+            if (!row_item.route_to) {
+                if (row_item.transit) {
+                    row_item.route_to = row_item.transit.dest().shortname();
+                } else if (row_item.acp) {
+                    row_item.route_to = row_item.acp.location().name();
+                }
             }
 
             if (row_item.mbts) {
index b9947e6..902eef7 100644 (file)
@@ -811,6 +811,7 @@ function($modal , $q , egCore , egAlertDialog , egConfirmDialog) {
                             if (hold.pickup_lib() == egCore.auth.user().ws_ou()) {
                                 // inform user if the item is on the local holds shelf
                             
+                                evt.route_to = egCore.strings.ROUTE_TO_HOLDS_SHELF;
                                 return service.route_dialog(
                                     './circ/share/t_hold_shelf_dialog', 
                                     evt, params, options
@@ -830,6 +831,7 @@ function($modal , $q , egCore , egAlertDialog , egConfirmDialog) {
                         }
 
                     case 11: /* CATALOGING */
+                        evt.route_to = egCore.strings.ROUTE_TO_CATALOGING;
                         return $q.when(final_resp);
 
                     case 15: /* ON_RESERVATION_SHELF */
@@ -854,6 +856,7 @@ function($modal , $q , egCore , egAlertDialog , egConfirmDialog) {
                     .result.then(function() {return final_resp});
 
             case 'ITEM_NOT_CATALOGED':
+                evt.route_to = egCore.strings.ROUTE_TO_CATALOGING;
                 if (options.no_precat_alert) 
                     return $q.when(final_resp);
                 return egAlertDialog.open(
@@ -893,7 +896,7 @@ function($modal , $q , egCore , egAlertDialog , egConfirmDialog) {
         if (!tmpl.match(/hold_shelf/)) {
             promises.push(
                 service.find_copy_transit(evt, params, options)
-                .then(function(trans) {data.transit = transit})
+                .then(function(trans) {data.transit = trans})
             );
         }
 
@@ -928,7 +931,7 @@ function($modal , $q , egCore , egAlertDialog , egConfirmDialog) {
             }
 
             function print_transit() {
-                var template = transit ? 
+                var template = data.transit ? 
                     (data.patron ? 'hold_transit_slip' : 'transit_slip') :
                     'hold_shelf_slip';