adding Cariboo scripts
authorjames <jfournie@sitka.bclibraries.ca>
Wed, 14 Apr 2010 23:01:47 +0000 (16:01 -0700)
committerjames <jfournie@sitka.bclibraries.ca>
Wed, 14 Apr 2010 23:01:47 +0000 (16:01 -0700)
circ/config_BWLCR.js [new file with mode: 0644]
circ/librarymap.js

diff --git a/circ/config_BWLCR.js b/circ/config_BWLCR.js
new file mode 100644 (file)
index 0000000..86eb878
--- /dev/null
@@ -0,0 +1,114 @@
+/** Policies for BWLCR (Cariboo) **/
+
+function getPolicy() {
+
+    load_lib('circ/circ_lib.js');
+    log_info("Loading policy info for BWLCR");
+    var circMod = copy.circ_modifier ? copy.circ_modifier.toLowerCase() : '';
+
+    return {
+
+        getLoanDuration : function() {
+            if (copy.call_number == -1){
+                return '21_0';
+            }
+            if(patronProfile == 'InterLibraryLoan'){
+                return '30_0';
+            }
+
+            var map = {
+              'videos'                 : '7_1',
+              'audio-cds'      : '7_1'
+                       };
+
+            return map[circMod] || '21_1';
+
+        },
+
+        getRecurringFine : function() {
+           var circMod = copy.circ_modifier ? copy.circ_modifier.toLowerCase() : '';
+           
+        var map = {
+              'videos'                            : 'default',
+              'talking-tape-cnib'          : 'default',
+              'audio-cds-cnib'            : 'default',
+              'audio-cds'                         : 'default',
+              'juvenile-collection'        : 'fivecents',
+              'compact-discs'              : 'default'
+            };
+
+           return map[circMod] || 'tencents';
+        },
+                       
+
+          
+        getMaxFine : function() {
+
+           return 'fivedollar';
+        },
+
+        exceedsMaxCheckoutsByCircMod : function() {
+            return false;
+        },
+
+        isAllowedCirc : function() {
+          return true;
+        },
+        isAllowedHold : function() {
+            return true;
+        },
+        getGroupConfig : function() {
+
+          // set defaults
+          var maxItemsOutValue        =  99;
+          var maxHoldsValue           =  5;
+          var overdueThresholdValue   =  10;
+          var fineThresholdValue      =  10;
+  
+       // set special values for group
+       switch (patronProfile) {
+       case 'BCOneCard':
+               maxItemsOutValue = 5;
+               maxHoldsValue    = 5;
+               overdueThresholdValue  = 5;
+               break;
+       case 'Temporary':
+               maxItemsOutValue = 2;
+               maxHoldsValue    = 2;
+               overdueThresholdValue  = 1;
+               fineThresholdValue = 5;
+               break;
+       case 'InterLibraryLoan':
+               maxHoldsValue    = 99;
+               overdueThresholdValue  = 999;
+               fineThresholdValue = 9999;
+               break;
+       case 'NoFines':
+               fineThresholdValue = 15;
+               break;
+       case 'Catalogers':
+               fineThresholdValue = 15;
+               break;
+       case 'Circulators':
+               fineThresholdValue = 15;
+               break;
+       case 'Local System Administrator':
+               fineThresholdValue = 15;
+               break;
+       case 'CircCat':
+               fineThresholdValue = 15;
+               break;
+       }
+          // return group config
+          var config = {
+            'maxHolds'          :  maxHoldsValue,
+            'maxItemsOut'       :  maxItemsOutValue,
+            'overdueThreshold'  :  overdueThresholdValue,
+            'fineThreshold'     :  fineThresholdValue
+          };
+
+          return config;
+        }
+    };
+}
index bf0b4d7..13aa6ea 100644 (file)
@@ -30,8 +30,22 @@ function getBranchPolicyMap(shortname) {
                 'BKCT-ADM'       :  'BKCT',
                 'BKCT-ZRQ'       :  'BKCT',
                 'BKCT-ILL'        :  'BKCT',                
-                'BKCT-BKM'       :  'BKCT'
-
+                'BKCT-BKM'       :  'BKCT',
+                'BWLCRL'    : 'BWLCR',
+                'BQ'        : 'BWLCR',
+                'BMH'       : 'BWLCR',
+                'BWLCR-AC'  : 'BWLCR',
+                'BWLCR-AL'  : 'BWLCR',
+                'BWLCR-BR'  : 'BWLCR',
+                'BWLCR-BI'  : 'BWLCR',
+                'BWLCR-FG'  : 'BWLCR',
+                'BWLCR-HF'  : 'BWLCR',
+                'BWLCR-LL'  : 'BWLCR',
+                'BWLCR-LI'  : 'BWLCR',
+                'BWLCR-MC'  : 'BWLCR',
+                'BWLCR-NA'  : 'BWLCR',
+                'BWLCR-TA'  : 'BWLCR',
+                'BWLCR-WE'  : 'BWLCR'
             };
 
             return map[shortname] || shortname;