webstaff: serial.default_display_grouping setting
authorJason Etheridge <jason@EquinoxInitiative.org>
Wed, 19 Jul 2017 14:37:16 +0000 (10:37 -0400)
committerJason Etheridge <jason@EquinoxInitiative.org>
Wed, 19 Jul 2017 15:18:28 +0000 (11:18 -0400)
This wires the library org unit setting "Default display grouping for serials
distributions presented in the OPAC." into the webstaff serials interface.

It also defaults the display grouping to Chronological for new distributions
in the absence of a setting.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Open-ILS/web/js/ui/default/staff/serials/directives/subscription_manager.js

index 9404be6..d7edbb8 100644 (file)
@@ -74,18 +74,23 @@ function($scope , $q , egSerialsCoreSvc , egCore , egGridDataProvider ,
         $scope.add_distribution(new_ssub); // since we know we want at least one distribution
     }
     $scope.add_distribution = function(ssub, grab_focus) {
-        var new_sdist = egCore.idl.toTypedHash(new egCore.idl.sdist());
-        new_sdist._isnew = true;
-        new_sdist.subscription = ssub.id;
-        if (!angular.isArray(ssub.distributions)){
-            ssub.distributions = [];
-        }
-        if (grab_focus) {
-            new_sdist._focus_me = true;
-            ssub._focus_me = false;
-        }
-        ssub.distributions.push(new_sdist);
-        $scope.add_stream(new_sdist); // since we know we want at least one stream
+        egCore.org.settings([
+            'serial.default_display_grouping'
+        ]).then(function(set) {
+            var new_sdist = egCore.idl.toTypedHash(new egCore.idl.sdist());
+            new_sdist._isnew = true;
+            new_sdist.subscription = ssub.id;
+            new_sdist.display_grouping = set['serial.default_display_grouping'] || 'chron';
+            if (!angular.isArray(ssub.distributions)){
+                ssub.distributions = [];
+            }
+            if (grab_focus) {
+                new_sdist._focus_me = true;
+                ssub._focus_me = false;
+            }
+            ssub.distributions.push(new_sdist);
+            $scope.add_stream(new_sdist); // since we know we want at least one stream
+        });
     }
     $scope.remove_pending_distribution = function(ssub, sdist) {
         var to_remove = -1;