LP1775920: Improve consistency in item status menus
authorJane Sandberg <sandbej@linnbenton.edu>
Thu, 25 Apr 2019 19:49:19 +0000 (15:49 -0400)
committerGalen Charlton <gmc@equinoxinitiative.org>
Thu, 1 Aug 2019 14:46:18 +0000 (10:46 -0400)
To test:

1) Go into item status and scan in a few barcodes.
2) Select one of the items from the grid.
3) Click on the Actions menu.  Note the list of actions.
4) Click the Detail View button.
5) Click the Actions menu.  Note that several actions from
step 3 are missing.
6) Apply this commit.
7) Repeat step 5.  Make sure that all the actions are now
available on the Detail View actions menu (although some have
slightly different names, to match the clarifying wording
introduced in lp1717551)
8) Make sure that all the actions work correctly.

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Dawn Dale <ddale@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/src/templates/staff/cat/item/index.tt2
Open-ILS/web/js/ui/default/staff/cat/item/app.js

index 96c402c..785f250 100644 (file)
@@ -86,6 +86,7 @@
       </button>
       <ul uib-dropdown-menu class="scrollable-menu dropdown-menu-right">
         <li><a href ng-click="add_copies_to_bucket()">[% l('Add Items to Bucket') %]</a></li>
+        <li><a href ng-click="show_in_catalog()">[% l('Show in Catalog') %]</a></li>
         <li><a href ng-click="make_copies_bookable()">[% l('Make Items Bookable') %]</a></li>
         <li><a href ng-click="book_copies_now()">[% l('Book Item Now') %]</a></li>
         <li><a href ng-click="requestItems()">[% l('Request Items') %]</a></li>
         <li><a href ng-click="update_inventory()">[% l('Update Inventory') %]</a></li>
 
         <p><b>[% l('Show') %]</b></p>
+        <li><a href ng-click="show_triggered_events()">[% l('Show Triggered Events') %]</a></li>
+        <li><a href ng-click="show_item_holds()">[% l('Show Item Holds') %]</a></li>
+        <li><a href ng-click="show_record_holds()">[% l('Show Record Holds') %]</a></li>
+        <li><a href ng-click="print_labels()">[% l('Print Labels') %]</a></li>
         <li><a href ng-click="findAcquisition()">[% l('Originating Acquisition') %]</a></li>
 
         <p><b>[% l('Mark') %]</b></p>    
         <li><a href ng-click="selectedHoldingsMissing()">[% l('Item as Missing') %]</a></li>
     
         <p><b>[% l('Add') %]</b></p>    
-        <li><a href ng-click="selectedHoldingsCopyAdd()">[% l('Items') %]</a></li>
-        <li><a href ng-click="selectedHoldingsVolCopyAdd()">[% l('Call Numbers and Items') %]</a></li>
+        <li><a href ng-click="selectedHoldingsCopyAdd()">[% l('Add Items') %]</a></li>
+        <li><a href ng-click="selectedHoldingsVolCopyAdd()">[% l('Add Call Numbers and Items') %]</a></li>
+        <li><a href ng-click="add_item_alerts()">[% l('Add Item Alerts') %]</a></li>
 
         <p><b>[% l('Edit') %]</b></p>    
         <li><a href ng-click="selectedHoldingsVolEdit()">[% l('Call Numbers') %]</a></li>
         <li><a href ng-click="selectedHoldingsCopyEdit()">[% l('Items') %]</a></li>
         <li><a href ng-click="selectedHoldingsVolCopyEdit()">[% l('Call Numbers and Items') %]</a></li>
         <li><a href ng-click="replaceBarcodes()">[% l('Replace Barcodes') %]</a></li>
+        <li><a href ng-click="manage_item_alerts()">[% l('Manage Item Alerts') %]</a></li>
 
         <p><b>[% l('Transfer') %]</b></p>    
         <li><a href ng-click="changeItemOwningLib()">[% l('Items to Previously Marked Library') %]</a></li>
 
 [% END %]
 
-
index 4426ad0..5e418e7 100644 (file)
@@ -52,8 +52,8 @@ angular.module('egItemStatus',
  * Parent scope for list and detail views
  */
 .controller('SearchCtrl', 
-       ['$scope','$q','$window','$location','$timeout','egCore','egNet','egGridDataProvider','egItem',
-function($scope , $q , $window , $location , $timeout , egCore , egNet , egGridDataProvider , itemSvc) {
+       ['$scope','$q','$window','$location','$timeout','egCore','egNet','egGridDataProvider','egItem', 'egCirc',
+function($scope , $q , $window , $location , $timeout , egCore , egNet , egGridDataProvider , itemSvc , egCirc) {
     $scope.args = {}; // search args
 
     // sub-scopes (search / detail-view) apply their version 
@@ -86,6 +86,15 @@ function($scope , $q , $window , $location , $timeout , egCore , egNet , egGridD
         itemSvc.add_copies_to_bucket([$scope.args.copyId]);
     }
 
+    $scope.show_in_catalog = function() {
+        window.open('/eg/staff/cat/catalog/record/' + $scope.args.recordId + '/catalog', '_blank');
+    }
+
+    $scope.print_labels = function() {
+        itemSvc.print_spine_labels([$scope.args.copyId]);
+    }
+
+
     $scope.make_copies_bookable = function() {
         itemSvc.make_copies_bookable([{
             id : $scope.args.copyId,
@@ -146,6 +155,27 @@ function($scope , $q , $window , $location , $timeout , egCore , egNet , egGridD
         });
     }
 
+    $scope.show_triggered_events = function() {
+        $location.path('/cat/item/' + $scope.args.copyId + '/triggered_events');
+    }
+
+    $scope.show_item_holds = function() {
+        $location.path('/cat/item/' + $scope.args.copyId + '/holds');
+    }
+
+    $scope.show_record_holds = function() {
+        window.open('/eg/staff/cat/catalog/record/' + $scope.args.recordId + '/holds', '_blank');
+    }
+
+    $scope.add_item_alerts = function() {
+        egCirc.add_copy_alerts([$scope.args.copyId]);
+    }
+
+    $scope.manage_item_alerts = function() {
+        egCirc.manage_copy_alerts([$scope.args.copyId]);
+    }
+
+
     $scope.attach_to_peer_bib = function() {
         itemSvc.attach_to_peer_bib([{
             id : $scope.args.copyId,