webstaff: teach egVolumeList more tricks
authorGalen Charlton <gmc@esilibrary.com>
Wed, 7 Oct 2015 20:00:08 +0000 (20:00 +0000)
committerKathy Lussier <klussier@masslnc.org>
Tue, 2 Feb 2016 19:58:49 +0000 (14:58 -0500)
The directive now accepts two new attributes:

* editVolumes - controls display of the 'Edit volumes' button
* editCopies - if true, adds a 'Edit volumes and copies button'

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Open-ILS/src/templates/staff/cat/share/t_volume_list.tt2
Open-ILS/web/js/ui/default/staff/cat/services/holdings.js

index 56f1c07..1c029e0 100644 (file)
@@ -5,7 +5,8 @@
     grid-controls="holdingsGridControls"
     persist-key="cat.record_overlay.holdings">
 
-    <eg-grid-menu-item handler="edit_volumes" label="[% l('Edit volumes') %]" />
+    <eg-grid-menu-item handler="edit_volumes" label="[% l('Edit volumes') %]" ng-if="editVolumes"></eg-grid-menu-item>
+    <eg-grid-menu-item handler="edit_copies" label="[% l('Edit volumes and copies') %]" ng-if="editCopies"></eg-grid-menu-item>
 
     <eg-grid-field label="[% l('Owning Library') %]" path="owner_label" flex="4" align="right" visible></eg-grid-field>
     <eg-grid-field label="[% l('Call Number') %]"    path="call_number.label" visible></eg-grid-field>
index a0806c5..2201812 100644 (file)
@@ -278,7 +278,9 @@ function(egCore , $q) {
     return {
         restrict:   'AE',
         scope: {
-            recordId : '='
+            recordId : '=',
+            editVolumes : '@',
+            editCopies  : '@'
         },
         templateUrl: './cat/share/t_volume_list',
         controller:
@@ -302,7 +304,7 @@ function(egCore , $q) {
                     return cp_id_list;
                 }
 
-                $scope.edit_volumes = function () {
+                $scope.edit_volumes = function (copies_too) {
                     egCore.net.request(
                         'open-ils.actor',
                         'open-ils.actor.anon_cache.set_value',
@@ -310,7 +312,7 @@ function(egCore , $q) {
                             record_id: $scope.recordId,
                             copies: gatherHoldingsIds(),
                             hide_vols : false,
-                            hide_copies : true
+                            hide_copies : (copies_too) ? false : true
                         }
                     ).then(function(key) {
                         if (key) {
@@ -330,6 +332,9 @@ function(egCore , $q) {
                         }
                     });
                 }
+                $scope.edit_copies = function() {
+                    $scope.edit_volumes(true);
+                }
 
                 function load_holdings() {
                     holdingsSvcInst.fetch({