LP#1713151: display owning OU in volcopy editor location selector
authorGalen Charlton <gmc@equinoxinitiative.org>
Mon, 11 Sep 2017 15:13:57 +0000 (11:13 -0400)
committerBen Shum <ben@evergreener.net>
Sun, 17 Sep 2017 14:08:02 +0000 (10:08 -0400)
This patch causes the short name of the OU that owns a location
to be displayed after the location name in shelving location selectors
in the item attribute and copy template editors.

To test
-------
[1] Edit an item and verify that the shelving location selector
    displays the org unit shortname in parentheses after the location
    name.
[2] Verify that the location selector in the copy template portion
    also displays the OU short names.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
Open-ILS/src/templates/staff/cat/volcopy/t_attr_edit.tt2
Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js

index 6e40e32..1d01491 100644 (file)
                 <div class="col-md-6" ng-class="{'bg-success': working.location !== undefined}">
                     <select class="form-control"
                         ng-disabled="!defaults.attributes.location" ng-model="working.location"
-                        ng-options="l.id() as l.name() for l in location_list"
+                        ng-options="l.id() as i18n.ou_qualified_location_name(l) for l in location_list"
                     ></select>
                 </div>
                 <div class="col-md-6" ng-class="{'bg-success': working.opac_visible !== undefined}">
index 285f5e8..4a0c956 100644 (file)
@@ -139,7 +139,14 @@ function(egCore , $q) {
     service.get_locations = function(orgs) {
         return egCore.pcrud.search('acpl',
             {owning_lib : orgs, deleted : 'f'},
-            {order_by : { acpl : 'name' }}, {atomic : true}
+            {
+                flesh : 1,
+                flesh_fields : {
+                    acpl : ['owning_lib']
+                },
+                order_by : { acpl : 'name' }
+            },
+            {atomic : true}
         );
     };
 
@@ -809,6 +816,7 @@ function(egCore , $q) {
 function($scope , $q , $window , $routeParams , $location , $timeout , egCore , egNet , egGridDataProvider , itemSvc , $uibModal) {
 
     $scope.forms = {}; // Accessed by t_attr_edit.tt2
+    $scope.i18n = egCore.i18n;
 
     $scope.defaults = { // If defaults are not set at all, allow everything
         barcode_checkdigit : false,
@@ -1845,6 +1853,8 @@ function($scope , $q , $window , $routeParams , $location , $timeout , egCore ,
         controller : ['$scope','$window','itemSvc','egCore','ngToast',
             function ( $scope , $window , itemSvc , egCore , ngToast) {
 
+                $scope.i18n = egCore.i18n;
+
                 $scope.defaults = { // If defaults are not set at all, allow everything
                     barcode_checkdigit : false,
                     auto_gen_barcode : false,