var config = getItemConfig();
var itemForm = (marcXMLDoc) ? extractFixedField(marcXMLDoc,'Form') : "";
-/* -----------------------------------------------------------------------------
- Now set the rule values based on the config. If there is no configured info
- on this copy, fall back on defaults.
- ----------------------------------------------------------------------------- */
-if( config ) {
-
- log_debug("circ_duration found a config for the copy");
- result.durationRule = config.durationRule;
- result.recurringFinesRule = config.recurringFinesRule;
- result.maxFine = config.maxFine;
-
-} else {
-
- result.durationRule = 'default';
- result.recurringFinesRule = 'default';
- result.maxFine = 'default';
-}
+/* Set the defaults for books for most patron types */
+result.durationRule = '3_weeks_2_renew';
+result.recurringFinesRule = 'OSUL_daily';
+result.maxFine = 'OSUL_daily';
if (patronProfile == 'Faculty' ||
patronProfile == 'Graduate') {
result.durationRule = '120_days_2_renew';
}
-if (patronProfile == 'Undergraduate' ||
- patronProfile == 'Staff members' ||
- patronProfile == 'Readers') {
- result.durationRule = '3_weeks_2_renew';
-}
/* Distance education laptops */
if (copy.circ_modifier == 'COMPUTER') {
result.maxFine = 'overdue_equip_max';
}
+/* Study room keys */
+if (copy.circ_modifier == 'KEYS') {
+ result.durationRule = '4_hours_0_renew';
+ result.recurringFinesRule = 'OSUL_hourly';
+ result.maxFine = 'OSUL_hourly';
+}
+
+/* Reserve items - let's use regular expressions to save some pain */
+res_day_re = /^RESERVE (\d+) DAY$/;
+res_hour_re = /^RESERVE (\d+) HOUR$/;
+res_day_match = res_day_re.exec(copy.circ_modifier);
+res_hour_match = res_hour_re.exec(copy.circ_modifier);
+if (res_day_match) {
+ result.durationRule = res_day_match[1] + '_days_0_renew';
+ result.recurringFinesRule = 'OSUL_reserves_daily';
+ result.maxFine = 'OSUL_reserves_daily';
+} else if (res_hour_match) {
+ result.durationRule = res_hour_match[1] + '_hours_0_renew';
+ result.recurringFinesRule = 'OSUL_reserves_daily';
+ result.maxFine = 'OSUL_reserves_daily';
+}
+
/* RACER books */
if (copy.circ_modifier == 'PEB-LIVRE') {
result.durationRule = '14_days_0_renew';