simplifying group config down to max holds
authorJames <james.fournie@gmail.com>
Wed, 28 Apr 2010 20:50:46 +0000 (13:50 -0700)
committerJames <james.fournie@gmail.com>
Wed, 28 Apr 2010 20:50:46 +0000 (13:50 -0700)
36 files changed:
circ/circ_duration.js
circ/circ_permit_hold.js
circ/circ_permit_patron.js
circ/config_BABM.js
circ/config_BBUL.js
circ/config_BCD.js
circ/config_BCREK.js
circ/config_BFN.js
circ/config_BGF.js
circ/config_BGI.js
circ/config_BGSI.js
circ/config_BH.js
circ/config_BHA.js
circ/config_BIN.js
circ/config_BKCT.js
circ/config_BLP-BB.js
circ/config_BLP.js
circ/config_BM.js
circ/config_BMB.js
circ/config_BMK.js
circ/config_BNA.js
circ/config_BPE.js
circ/config_BPR.js
circ/config_BPRDP.js
circ/config_BR.js
circ/config_BRHSP.js
circ/config_BS.js
circ/config_BSA.js
circ/config_BSE.js
circ/config_BSP.js
circ/config_BTA.js
circ/config_BTE.js
circ/config_BVALE.js
circ/config_BVDH.js
circ/config_BW.js
circ/config_BWLCR.js

index 6551137..8f322d3 100644 (file)
@@ -20,9 +20,8 @@ function go() {
         location = copy.circ_lib.shortname || currentLocation.shortname;
     }
     var policy = openPolicyFile(location);
-    var config = policy.getGroupConfig();
 
-    if (config) {
+    if (policy) {
         result.durationRule = policy.getLoanDuration();
         result.recurringFinesRule = policy.getRecurringFine();
         result.maxFine = policy.getMaxFine();
index 0479636..0e5a671 100644 (file)
@@ -3,8 +3,6 @@ function go() {
     load_lib('circ/circ_lib.js');
     log_vars('circ_permit_hold');
 
-
-
     if (isTrue(patron.barred))
     result.events.push('PATRON_BARRED');
 
@@ -15,17 +13,18 @@ function go() {
     result.events.push('ITEM_NOT_HOLDABLE');
 
     var testAncestor = hasCommonAncestor(copy.circ_lib.id, holdPickupLib, 2);
+
     if (!isTrue(testAncestor)) {
         result.events.push('ITEM_NOT_HOLDABLE');
     }
 
     var location = copy.circ_lib.shortname || currentLocation.shortname;
-    var config = findGroupConfig(patronProfile);
     var policy = openPolicyFile(location);
-    config = policy.getGroupConfig() || findGroupConfig(patronProfile);
 
-    if (config) {
+
+    if (policy) {
         var holdAllowed = policy.isAllowedHold();
+           var maxHolds = policy.getMaxHolds();
 
         if (!isTrue(holdAllowed)) {
             result.events.push('ITEM_NOT_HOLDABLE');
@@ -33,10 +32,9 @@ function go() {
 
         if (newHold) {
             /* see if they have too many items out */
-            var limit = config.maxHolds;
             var count = userHoldCount(patron.id) || 0;
             log_info("patron has " + count + " open holds");
-            if (limit >= 0 && count >= limit) {
+            if (maxHolds >= 0 && count >= maxHolds) {
                 result.events.push('MAX_HOLDS');
             }
 
index d996e43..0ffb37e 100644 (file)
@@ -13,17 +13,14 @@ function go() {
     var location = currentLocation.shortname || patron.home_ou.shortname || copy.circ_lib.shortname;
     
     var policy = openPolicyFile(location);
-    var config = policy.getGroupConfig() || findGroupConfig(patronProfile);
 
-    if (config) {
-
-        if (policy && policy.exceedsMaxCheckoutsByCircMod) {
-            if (policy.exceedsMaxCheckoutsByCircMod())
-            result.events.push('PATRON_EXCEEDS_CHECKOUT_COUNT');
+    if (policy && policy.exceedsMaxCheckoutsByCircMod) {
+       if(!isGroupDescendant('Public Library Staff')){
+                       if (policy.exceedsMaxCheckoutsByCircMod()){
+                               result.events.push('PATRON_EXCEEDS_CHECKOUT_COUNT');    
+                       }
         }
-
     } else {
-
         log_warn("** profile has no configured information: " + patronProfile);
     }
 
index 108f3f4..c146479 100644 (file)
@@ -56,13 +56,8 @@ function getPolicy() {
         isAllowedHold: function() {
             return 'true';
         },
-
-        getGroupConfig: function() {
-            var config = {
-                               'maxHolds': 2
-                       };
-                                               
-            return config;
+        getMaxHolds: function() {
+            return 2;
         }
     };
 }
index e4f7aec..e666a85 100644 (file)
@@ -45,12 +45,8 @@ function getPolicy() {
         isAllowedHold: function() {
             return true;
         },
-        getGroupConfig: function() {
-            var config = {
-                               'maxHolds':50
-                       };
-
-            return config;
+        getMaxHolds: function() {
+            return 50;
         }
     };
 }
index 1387505..88ff617 100644 (file)
@@ -74,25 +74,22 @@ function getPolicy() {
         isAllowedHold: function() {
             return true;
         },
-        getGroupConfig: function() {
+        getMaxHolds: function() {
             var maxHoldsValue;
 
             switch (patronProfile) {
             case 'PL BC OneCard':
                 maxHoldsValue = 5;
                 break;
-            case 'Staff':
-                maxHoldsValue = -1;
-                break;
                        default:
                                maxHoldsValue = 20;
             }
 
-            var config = {
-                'maxHolds': maxHoldsValue,
-            };
+            if (isGroupDescendant('Public Library Staff', patronProfile)) {
+                maxHoldsValue = -1;
+            }
 
-            return config;
+            return maxHoldsValue;
         }
     };
 }
index aca809e..1436da2 100644 (file)
@@ -84,11 +84,7 @@ function getPolicy() {
             return true;
         },
 
-        getGroupConfig: function() {
-            /* returns the combined user config object */
-
-            var config = findGroupConfig(patronProfile) || findGroupConfig('Patrons');
-
+        getMaxHolds: function() {
             // set defaults
             var maxHoldsValue = 0;
 
@@ -117,12 +113,7 @@ function getPolicy() {
                 }
             }
 
-            // return group config
-            config = {
-                'maxHolds': maxHoldsValue || 100,
-            };
-
-            return config;
+            return maxHoldsValue;
         }
     };
 }
index 4c21a63..5185e2a 100644 (file)
@@ -54,12 +54,8 @@ function getPolicy() {
             return true;
         },
 
-        getGroupConfig: function() {
-            var config = {
-                               'maxHolds':-1
-                       }
-
-            return config;
+        getMaxHolds: function() {
+                       return -1;
         }
     };
 }
index 878bb78..8277b17 100644 (file)
@@ -56,7 +56,7 @@ function getPolicy() {
             return true;
         },
 
-        getGroupConfig: function() {
+        getMaxHolds: function() {
                        var maxHoldsValue;
                        
             switch (patronProfile) {
@@ -66,11 +66,8 @@ function getPolicy() {
                        default:
                                maxHoldsValue = -1;
             }
-            var config = {
-                               'maxHolds':maxHoldsValue
-                       }
 
-            return config;
+            return maxHoldsValue;
         }
     };
 }
index 8798280..39dc9c1 100644 (file)
@@ -131,7 +131,7 @@ function getPolicy() {
             return true;
         },
 
-        getGroupConfig: function() {
+        getMaxHolds: function() {
                        var maxHoldsValue;
 
             switch (patronProfile) {
@@ -142,11 +142,7 @@ function getPolicy() {
                                maxHoldsValue = -1;
             }
 
-            var config = {
-                'maxHolds': maxHoldsValue,
-            };
-
-            return config;
+            return maxHoldsValue;
         }
     };
 }
index d599a7a..fa6f591 100644 (file)
@@ -85,12 +85,8 @@ function getPolicy() {
             return true;
         },
 
-        getGroupConfig: function() {
-            var config = {
-                'maxHolds': -1,
-            };
-
-            return config;
+        getMaxHolds: function() {
+                       return -1;
         }
     };
 }
index ce51c15..ce63977 100644 (file)
@@ -81,11 +81,8 @@ function getPolicy() {
         isAllowedHold: function() {
             return true;
         },
-        getGroupConfig: function() {
-                       var config = {
-                               'maxHolds':-1
-                       }
-            return config;
+        getMaxHolds: function() {
+            return -1;
         }
     };
 }
index 72ac423..45883c3 100644 (file)
@@ -41,13 +41,8 @@ function getPolicy() {
             return true;
         },
 
-        getGroupConfig: function() {
-            // return group config
-            var config = {
-                'maxHolds': 100,
-            };
-
-            return config;
+        getMaxHolds: function() {
+            return 100;
         }
     };
 }
index 92976c4..46160a5 100644 (file)
@@ -70,7 +70,7 @@ function getPolicy() {
             return true;
         },
 
-        getGroupConfig: function() {
+        getMaxHolds: function() {
                        var maxHoldsValue;
 
             switch (patronProfile) {
@@ -84,11 +84,7 @@ function getPolicy() {
                                maxHoldsValue = 10;
             }
 
-            var config = {
-                'maxHolds': maxHoldsValue,
-            };
-
-            return config;
+            return maxHoldsValue;
 
         }
     };
index f9e5afb..0527cfe 100644 (file)
@@ -30,7 +30,7 @@ function getPolicy() {
         },
 
         getRecurringFine: function() {
-            if (isTrue(isPrecat) || patronProfile == 'Homebound' || patronProfile == 'ILL') {
+            if (isTrue(isPrecat) || patronProfile == 'PL Home Services' || patronProfile == 'PL ILL') {
                 return 'zero';
             }
             if (isTrue(patron.juvenile)) {
@@ -119,7 +119,7 @@ function getPolicy() {
             // number of this circ mod currently checked out
             var circModCount = checkoutsByCircModifier(patron.id)[circMod] || 0;
 
-            if (patronProfile == 'NonResident' || patronProfile == 'Temporary') {
+            if (patronProfile == 'PL Non Resident' || patronProfile == 'PL Temporary') {
                 maxByCircMod = {
                     'bookclub': 1
                 };
@@ -148,21 +148,11 @@ function getPolicy() {
         },
 
         isAllowedHold: function() {
-            /* var noHoldAllowed = { 'quickread' : 1 };
-                       if ( noHoldAllowed[circMod] == 1 ) {
-                               return false;
-                       } 
-                       // FIXME
-                       */
             return true;
         },
 
-        getGroupConfig: function() {
-            var config = findGroupConfig(patronProfile) || findGroupConfig('Patrons');
-            // return group config
-            config.maxHolds = 100;
-
-            return config;
+        getMaxHolds: function() {
+            return 100;
         }
     };
 }
index 861fdde..4b4d14f 100644 (file)
@@ -32,7 +32,7 @@ function getPolicy() {
             return true;
         },
 
-        getGroupConfig: function() {
+        getMaxHolds: function() {
             var maxHoldsValue;
 
             switch (patronProfile) {
@@ -46,11 +46,7 @@ function getPolicy() {
                                maxHoldsValue = 4;
             }
 
-            var config = {
-                'maxHolds': maxHoldsValue,
-            };
-
-            return config;
+            return maxHoldsValue;
         }
     };
 }
index 2dc7fff..e3125b2 100644 (file)
@@ -92,7 +92,7 @@ function getPolicy() {
             return true;
         },
 
-        getGroupConfig: function() {
+        getMaxHolds: function() {
             var maxHoldsValue = 4;
 
             switch (patronProfile) {
@@ -104,11 +104,7 @@ function getPolicy() {
                 break;
             }
 
-            var config = {
-                'maxHolds': maxHoldsValue,
-            };
-
-            return config;
+            return maxHoldsValue;
         }
     };
 }
index 48c3e8a..95b172e 100644 (file)
@@ -64,13 +64,8 @@ function getPolicy() {
             return true;
         },
 
-        getGroupConfig: function() {
-                       var config;
-                       config = {
-                               'maxHolds': -1
-                       }
-
-            return config;
+        getMaxHolds: function() {
+            return -1;
         }
     };
 }
index 3f630b5..7102fea 100644 (file)
@@ -53,7 +53,7 @@ function getPolicy() {
             return true;
         },
 
-        getGroupConfig: function() {
+        getMaxHolds: function() {
                        var maxHoldsValue;
 
             switch (patronProfile) {
@@ -70,11 +70,7 @@ function getPolicy() {
                                maxHoldsValue = -1;
             }
 
-            var config = {
-                'maxHolds': maxHoldsValue,
-            };
-
-            return config;
+            return maxHoldsValue;
         }
     };
 
index 9987c8f..80e1734 100644 (file)
@@ -60,12 +60,8 @@ function getPolicy() {
         isAllowedHold: function() {
             return true;
         },
-        getGroupConfig: function() {
-            var config = {
-                'maxHolds': 20,
-            };
-
-            return config;
+        getMaxHolds: function() {
+            return 20;
         }
     };
 }
index c01d8cf..0ec7828 100644 (file)
@@ -50,12 +50,8 @@ function getPolicy() {
             return 'true';
         },
 
-        getGroupConfig: function() {
-                       var config {
-                               'maxHolds':-1
-                       }
-
-            return config;
+        getMaxHolds: function() {
+            return -1;
         }
     };
 }
index 721e5cb..f265346 100644 (file)
@@ -82,11 +82,8 @@ function getPolicy() {
         },
 
 
-        getGroupConfig: function() {
-                       var config = {
-                               'maxHolds':-1
-                       }
-            return config;
+        getMaxHolds: function() {
+                       return -1;
         }
     };
 }
index d06aed1..f8dfb2b 100644 (file)
@@ -85,14 +85,8 @@ function getPolicy() {
             return true;
         },
 
-
-        getGroupConfig: function() {
-
-            var config = {
-                'maxHolds': 50
-            };
-
-            return config;
+        getMaxHolds: function() {
+                       return 50;
         }
     };
 }
index f725a13..a5f8386 100644 (file)
@@ -116,11 +116,8 @@ function getPolicy() {
             return true;
         },
 
-        getGroupConfig: function() {
-            var config = {
-                               'maxHolds': -1
-                       }
-            return config;
+        getMaxHolds: function() {
+            return -1;
         }
     };
 }
index 002f962..af56be4 100644 (file)
@@ -55,7 +55,7 @@ function getPolicy() {
             return 'true';
         },
 
-        getGroupConfig: function() {
+        getMaxHolds: function() {
             var maxHoldsValue;
 
             switch (patronProfile) {
@@ -69,11 +69,7 @@ function getPolicy() {
                                maxHoldsValue = 3;
             }
 
-            var config = {
-                'maxHolds': maxHoldsValue,
-            };
-
-            return config;
+            return maxHoldsValue;
         }
     };
 }
index ea2c96d..9c460d8 100644 (file)
@@ -60,12 +60,8 @@ function getPolicy() {
         isAllowedHold: function() {
             return true;
         },
-        getGroupConfig: function() {
-            var config = {
-                'maxHolds': 20,
-            };
-
-            return config;
+        getMaxHolds: function() {
+            return 20;
         }
     };
 }
index 2ee02cd..3dcd00e 100644 (file)
@@ -81,12 +81,9 @@ function getPolicy() {
         },
 
         // returns the combined user config object
-        getGroupConfig: function() {
+        getMaxHolds: function() {
                        var maxHoldsValue;
             switch (patronProfile) {
-            case 'Staff':
-                maxHoldsValue = 99;
-                break;
             case 'PL BC OneCard':
                 maxHoldsValue = 0;
                 break;
@@ -94,11 +91,11 @@ function getPolicy() {
                 maxHoldsValue = 5
             }
 
-            var config = {
-                'maxHolds': maxHoldsValue,
-            };
+            if (isGroupDescendant('Public Library Staff', patronProfile)) {
+                maxHoldsValue = 99;
+            }
 
-            return config;
+            return maxHoldsValue;
         }
     };
 }
index 4a740c2..38f3d90 100644 (file)
@@ -120,12 +120,9 @@ function getPolicy() {
             return true;
         },
 
-        getGroupConfig: function() {
-
-            // set defaults
+        getMaxHolds: function() {
             var maxHoldsValue;
 
-            // set special values for group
             switch (patronProfile) {
             case 'PL Juvenile':
                 maxHoldsValue = 5;
@@ -133,19 +130,15 @@ function getPolicy() {
             case 'PL BC OneCard':
                 maxHoldsValue = 0;
                 break;
-            case 'Staff':
-                maxHoldsValue = -1;
-                break;
             default:
                maxHoldsValue = 10;
                        }
 
-            // return group config
-            var config = {
-                'maxHolds': maxHoldsValue,
-            };
+            if (isGroupDescendant('Public Library Staff', patronProfile)) {
+                maxHoldsValue = -1;
+            }
 
-            return config;
+            return maxHoldsValue;
         }
     };
 }
index 11302c1..99ce49f 100644 (file)
@@ -103,18 +103,14 @@ function getPolicy() {
                 'talking-books': '1'
             };
             if ((copy.circ_lib.id != holdPickupLib) && (nontransitmap[circMod])) {
-                return 'false';
+                return false;
             }
 
             return true;
         },
 
-        getGroupConfig: function() {
-            var config = {
-                'maxHolds': 99,
-            };
-
-            return config;
+        getMaxHolds: function() {
+            return 99;
         }
     };
 }
index 5d30887..d575a9b 100644 (file)
@@ -56,11 +56,8 @@ function getPolicy() {
             return false;
         },
 
-        getGroupConfig: function() {
-            var config = {
-                'maxHolds': 0,
-            };
-            return config;
+        getMaxHolds: function() {
+            return 0;
         }
     };
 }
index b51ed23..b3f6c8e 100644 (file)
@@ -58,12 +58,8 @@ function getPolicy() {
         isAllowedHold: function() {
             return true;
         },
-        getGroupConfig: function() {
-            var config = {
-                'maxHolds': 5
-            };
-
-            return config;
+        getMaxHolds: function() {
+            return 5;
         }
     };
 }
index d2c72a1..07c584d 100644 (file)
@@ -88,12 +88,8 @@ function getPolicy() {
             return true;
         },
 
-        getGroupConfig: function() {
-            var config = {
-                               'maxHolds':25
-                       }
-
-            return config;
+        getMaxHolds: function() {
+            return 25;
         }
     };
 }
index ad530cd..bbff601 100644 (file)
@@ -64,14 +64,8 @@ function getPolicy() {
         isAllowedHold: function() {
             return true;
         },
-        getGroupConfig: function() {
-            /* returns the combined user config object */
-
-            var config = {
-                               'maxHolds':-1
-                       }
-
-            return config;
+        getMaxHolds: function() {
+            return -1;
         }
     };
 }
index b248a02..6e89137 100644 (file)
@@ -32,11 +32,8 @@ function getPolicy() {
             return true;
         },
 
-        getGroupConfig: function() {
-            var config = {
-                               'maxHolds':10
-                       }
-            return config;
+        getMaxHolds: function() {
+            return 10;
         }
     };
 }
index 566d436..d79b89e 100644 (file)
@@ -75,16 +75,12 @@ function getPolicy() {
             return true;
         },
 
-        getGroupConfig: function() {
-            var config {
-                               'maxHolds':10
-                       }
-                       
-            if (isGroupDescendant('Staff', patronProfile)) {
-                config.maxHolds = 50;
+        getMaxHolds: function() {
+            if (isGroupDescendant('Public Library Staff', patronProfile)) {
+                return 50;
             }
 
-            return config;
+            return 10;
         }
     };
 }
index 7c3bcf7..7ea19b7 100644 (file)
@@ -56,7 +56,7 @@ function getPolicy() {
         isAllowedHold: function() {
             return true;
         },
-        getGroupConfig: function() {
+        getMaxHolds: function() {
             var maxHoldsValue;
 
             switch (patronProfile) {
@@ -72,12 +72,7 @@ function getPolicy() {
                        default:
                                maxHoldsVAlue = 5;
             }
-
-            var config = {
-                'maxHolds': maxHoldsValue,
-            };
-
-            return config;
+            return maxHoldsValue;
         }
     };
 }