Merge branch 'master' of git.evergreen-ils.org:Evergreen
authorJane Sandberg <sandbej@linnbenton.edu>
Sun, 17 Sep 2017 15:23:50 +0000 (08:23 -0700)
committerJane Sandberg <sandbej@linnbenton.edu>
Sun, 17 Sep 2017 15:23:50 +0000 (08:23 -0700)
Open-ILS/src/templates/opac/parts/sms_carrier_selector.tt2
Open-ILS/src/templates/staff/cat/volcopy/t_attr_edit.tt2
Open-ILS/src/templates/staff/circ/patron/t_summary.tt2
Open-ILS/web/js/ui/default/staff/admin/workstation/app.js
Open-ILS/web/js/ui/default/staff/cat/catalog/app.js
Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js
Open-ILS/web/js/ui/default/staff/offline.js
Open-ILS/web/js/ui/default/staff/services/navbar.js

index 1f66d15..0a6d5a9 100644 (file)
@@ -19,7 +19,7 @@
 %]
 [% IF NOT sms_carrier_hide_label; l('Mobile carrier:'); END; %]
 <select name="sms_carrier">
-    <option value="">[% l('') %]</option>
+    <option value="">[% l('Please select your mobile carrier') %]</option>
     [% FOR carrier IN carriers.sort('name','region') -%]
     <option value='[% carrier.id | html %]'[%
         default_carrier == carrier.id ? ' selected="selected"' : ''
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 c3180bf..632f50b 100644 (file)
@@ -21,6 +21,9 @@
         {{patron().alert_message()}}
       </div>
     </div>
+    <div ng-if="patron().photo_url()" class="row">
+         <div class="col-md-8 patron_photo_wrap"><img class="img-responsive img-rounded" src="{{patron().photo_url()}}" ></div>
+    </div>
     <div class="row" 
       ng-class="{'patron-summary-divider' : alert_penalties().length || patron().alert_message()}">
       <div class="col-md-5">[% l('Profile') %]</div>
index 2cc0256..d3468af 100644 (file)
@@ -108,7 +108,9 @@ function($q , $timeout , $location , egCore , egConfirmDialog) {
                                 service.register_ws_api(
                                     base_name, name, org_id, true, deferred)
                             },
-                            cancel : function() {deferred.reject()} 
+                            cancel : function() {
+                                deferred.reject();
+                            }
                         }
                     );
 
@@ -861,6 +863,8 @@ function($scope , $q , $window , $location , egCore , egAlertDialog , workstatio
                 return $scope.set_default_ws(new_ws.name);
             }
             $scope.newWSName = '';
+        }, function(err) {
+            $scope.is_registering = false;
         });
     }
 }])
index faa0954..6952660 100644 (file)
@@ -541,7 +541,7 @@ function($scope , $routeParams , $location , $window , $q , egCore , egHolds , e
         $scope.$apply();
 
         if (!$scope.in_opac_call) {
-            if ($scope.record_id) {
+            if ($scope.record_id && !$scope.record_tab) {
                 $scope.default_tab = egCore.hatch.getLocalItem( 'eg.cat.default_record_tab' );
                 tab = $routeParams.record_tab || $scope.default_tab || 'catalog';
             } else {
@@ -1717,10 +1717,15 @@ function($scope , $routeParams , $location , $window , $q , egCore , egHolds , e
     // ------------------------------------------------------------------
     // Initialize the selected tab
 
+    // we explicitly initialize catalog_url because otherwise Firefox
+    // ends up setting it to $BASE_URL/{{url}}, which then messes
+    // things up. See LP#1708951
+    $scope.catalog_url = '';
+
     function init_cat_url() {
         // Set the initial catalog URL.  This only happens once.
         // The URL is otherwise generated through user navigation.
-        if ($scope.catalog_url) return; 
+        if ($scope.catalog_url) return;
 
         var url = $location.absUrl().replace(/\/staff.*/, '/opac/advanced');
 
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,
index 276333d..8c75f14 100644 (file)
@@ -464,7 +464,7 @@ function($routeProvider , $locationProvider , $compileProvider) {
         }
 
         $rootScope.save_offline_xacts = function () { return $scope.save() };
-        //$rootScope.active_tab = function (t) { $scope.active_tab = t };
+        $rootScope.active_tab = function (t) { $scope.active_tab = t };
 
         $scope.logout = function () {
             egCore.auth.logout();
index bae8190..52c916f 100644 (file)
@@ -32,14 +32,14 @@ angular.module('egCoreMod')
                             description: desc,
                             callback: function(e) {
                                 e.preventDefault();
-                                if (path) return navTo(path,route);
+                                if (path) return navTo(path);
                                 return $timeout(function(){$(elm).trigger('click')});
                             }
                         });
                     });
                 };
 
-                function inspect(elm) {
+                function find_accesskeys(elm) {
                     elm = angular.element(elm);
                     if (elm.attr('eg-accesskey')) {
                         $scope.addHotkey(
@@ -49,9 +49,8 @@ angular.module('egCoreMod')
                             elm
                         );
                     }
-                    angular.forEach(elm.children(), inspect);
+                    angular.forEach(elm.children(), find_accesskeys);
                 }
-                $timeout(function(){inspect($element)});
 
                 $scope.retrieveLastRecord = function() {
                     var last_record = egCore.hatch.getLocalItem("eg.cat.last_record_retrieved");
@@ -117,6 +116,10 @@ angular.module('egCoreMod')
                                 $scope.showRecentPatrons = val > 1;
                             });
                         }
+                        // need to defer initialization of hotkeys to this point
+                        // as some of them are conditional on whether one is logged in
+                        // or is working in offline circulation mode
+                        $timeout(function(){find_accesskeys($element)});
                     }
                 );
             }