From 9836e229f794da29bff583213ffdce86d13a5d9f Mon Sep 17 00:00:00 2001 From: pzed Date: Thu, 9 Jul 2009 14:30:53 +0000 Subject: [PATCH] updated circ rules for OWA and OWAL git-svn-id: svn://svn.open-ils.org/ILS-Contrib/conifer/trunk@574 6d9bc8c9-1ec2-4278-b937-99fde70a366f --- circ/circ_duration_OWA.js | 1107 +++++++++++++++----------------------------- circ/circ_duration_OWAL.js | 959 +++++++++----------------------------- 2 files changed, 604 insertions(+), 1462 deletions(-) diff --git a/circ/circ_duration_OWA.js b/circ/circ_duration_OWA.js index 9298c16afe..8d48fc1767 100644 --- a/circ/circ_duration_OWA.js +++ b/circ/circ_duration_OWA.js @@ -1,731 +1,376 @@ -/* SIP media types -000 Other -001 Book -002 Magazine -003 Bound journal -004 Audio tape -005 Video tape -006 CD/CDROM -007 Diskette -008 Book with diskette -009 Book with CD -010 Book with audio tape -*/ - -/* set item type defaults - if the either the patron group or the circ modifier - is missing or invalid, these settings will be used */ - -// do these first two have any significance for us? -result.SIPMediaType = '001'; -result.magneticMedia = 'f'; - -// if result.durationRule is not modified for a patron group, item does not circulate -// -// of course, what this rule actually does is circulate the item for 0 days, meaning -// that it is immediately due... need to move this logic over to circ_permit_patron.js -// or circ_permit_copy.js -result.durationRule = 'non_circ'; - -// for fines, set the most common value here -result.recurringFinesRule = '50_cent_per_day'; -result.maxFine = '10_dollars'; - -/* adjust rules by patron group and circ modifier */ - -switch(patronProfile) { - - case 'Patrons': - switch(copy.circ_modifier) { - case 'CD MUSIC': - // use defaults - break; - case 'CIRC': - result.durationRule = '14_days_3_renew'; - break; - case 'CIRC SHORT': - // use defaults - break; - case 'CRC MEDIA': - result.durationRule = '7_days_3_renew'; - break; - case 'CRC SPEC': - result.durationRule = '14_days_3_renew'; - break; - case 'CRC TEXT': - result.durationRule = '14_days_3_renew'; - break; - case 'DNON': - // use defaults - break; - case 'DOC': - result.durationRule = '14_days_3_renew'; - break; - case 'DVD VIDEO': - result.durationRule = '3_days_1_renew'; - break; - case 'LAW MONO': - // use defaults - break; - case 'LAW NOCIRC': - // use defaults - break; - case 'LAW RES1D': - // use defaults - break; - case 'LAW RES3D': - // use defaults - break; - case 'LAW RES3H': - // use defaults - break; - case 'LAW RES5H': - // use defaults - break; - case 'LAW SERIAL': - // use defaults - break; - case 'MAP': - // use defaults - break; - case 'MAP (CIRCULATING)': - result.durationRule = '14_days_3_renew'; - break; - case 'MAP (REFERENCE)': - // use defaults - break; - case 'MEDIA': - result.durationRule = '14_days_3_renew'; - break; - case 'MFORM': - result.durationRule = '14_days_3_renew'; - break; - case 'MFORM REF': - // use defaults - break; - case 'MFORM SER': - // use defaults - break; - case 'REF': - result.durationRule = '7_days_3_renew'; - break; - case 'RSV1': - // use defaults - break; - case 'RSV2': - // use defaults - break; - case 'RSV3': - // use defaults - break; - case 'RSV7': - // use defaults - break; - case 'SER': - // use defaults - break; - case 'THESIS': - result.durationRule = '14_days_3_renew'; - break; - } - break; - - case 'Faculty': - switch(copy.circ_modifier) { - case 'CD MUSIC': - result.durationRule = '3_days_1_renew'; - break; - case 'CIRC': - result.durationRule = '28_days_3_renew'; - break; - case 'CIRC SHORT': - result.durationRule = '3_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'CRC MEDIA': - result.durationRule = '7_days_3_renew'; - break; - case 'CRC SPEC': - result.durationRule = '28_days_3_renew'; - break; - case 'CRC TEXT': - result.durationRule = '28_days_3_renew'; - break; - case 'DNON': - // use defaults - break; - case 'DOC': - result.durationRule = '28_days_3_renew'; - break; - case 'DVD VIDEO': - result.durationRule = '3_days_1_renew'; - break; - - /* settings for law item types are those applicable to LAW FACLTY - and will need to be changed as soon as a conifer Law Faculty patron - group can be created */ - - case 'LAW MONO': - result.durationRule = '28_days_5_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW NOCIRC': - result.durationRule = '14_days_5_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW RES1D': - result.durationRule = '2_days_20_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW RES3D': - result.durationRule = '3_days_20_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW RES3H': - result.durationRule = '2_days_20_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW RES5H': - result.durationRule = '2_days_20_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW SERIAL': - result.durationRule = '14_days_5_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'MAP': - // use defaults - break; - case 'MAP (CIRCULATING)': - result.durationRule = '28_days_3_renew'; - break; - case 'MAP (REFERENCE)': - // use defaults - break; - case 'MEDIA': - result.durationRule = '28_days_3_renew'; - break; - case 'MFORM': - result.durationRule = '28_days_3_renew'; - break; - case 'MFORM REF': - // use defaults - break; - case 'MFORM SER': - // use defaults - break; - case 'REF': - result.durationRule = '7_days_3_renew'; - break; - case 'RSV1': - result.durationRule = '1_day_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV2': - result.durationRule = '120_minutes_0_renew'; - result.recurringFinesRule = '5_cents_per_minute'; - result.maxFine = '50_dollars'; - break; - case 'RSV3': - result.durationRule = '3_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV7': - result.durationRule = '7_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'SER': - result.durationRule = '1_day_1_renew'; - result.recurringFinesRule = '2_dollars_per_day'; - break; - case 'THESIS': - result.durationRule = '28_days_3_renew'; - break; - } - break; - - case 'Staff members': - switch(copy.circ_modifier) { - case 'CD MUSIC': - result.durationRule = '3_days_1_renew'; - break; - case 'CIRC': - result.durationRule = '28_days_3_renew'; - break; - case 'CIRC SHORT': - result.durationRule = '3_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'CRC MEDIA': - result.durationRule = '7_days_3_renew'; - break; - case 'CRC SPEC': - result.durationRule = '28_days_3_renew'; - break; - case 'CRC TEXT': - result.durationRule = '28_days_3_renew'; - break; - case 'DNON': - // use defaults - break; - case 'DOC': - result.durationRule = '28_days_3_renew'; - break; - case 'DVD VIDEO': - result.durationRule = '3_days_1_renew'; - break; - - /* settings for law item types are those applicable to LAW FACLTY - and will need to be changed as soon as a conifer Law Faculty patron - group can be created */ - - case 'LAW MONO': - result.durationRule = '28_days_5_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW NOCIRC': - result.durationRule = '14_days_5_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW RES1D': - result.durationRule = '2_days_20_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW RES3D': - result.durationRule = '3_days_20_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW RES3H': - result.durationRule = '2_days_20_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW RES5H': - result.durationRule = '2_days_20_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW SERIAL': - result.durationRule = '14_days_5_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'MAP': - // use defaults - break; - case 'MAP (CIRCULATING)': - result.durationRule = '28_days_3_renew'; - break; - case 'MAP (REFERENCE)': - // use defaults - break; - case 'MEDIA': - result.durationRule = '28_days_3_renew'; - break; - case 'MFORM': - result.durationRule = '28_days_3_renew'; - break; - case 'MFORM REF': - // use defaults - break; - case 'MFORM SER': - // use defaults - break; - case 'REF': - result.durationRule = '7_days_3_renew'; - break; - case 'RSV1': - result.durationRule = '1_day_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV2': - result.durationRule = '120_minutes_0_renew'; - result.recurringFinesRule = '5_cents_per_minute'; - result.maxFine = '50_dollars'; - break; - case 'RSV3': - result.durationRule = '3_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV7': - result.durationRule = '7_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'SER': - result.durationRule = '1_day_1_renew'; - result.recurringFinesRule = '2_dollars_per_day'; - break; - case 'THESIS': - result.durationRule = '28_days_3_renew'; - break; - } - break; - - case 'Graduate': - switch(copy.circ_modifier) { - case 'CD MUSIC': - // use defaults - break; - case 'CIRC': - result.durationRule = '28_days_3_renew'; - break; - case 'CIRC SHORT': - result.durationRule = '3_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'CRC MEDIA': - result.durationRule = '7_days_3_renew'; - break; - case 'CRC SPEC': - result.durationRule = '28_days_3_renew'; - break; - case 'CRC TEXT': - result.durationRule = '28_days_3_renew'; - break; - case 'DNON': - // use defaults - break; - case 'DOC': - result.durationRule = '28_days_3_renew'; - break; - case 'DVD VIDEO': - result.durationRule = '3_days_1_renew'; - break; - case 'LAW MONO': - result.durationRule = '28_days_5_renew'; - result.recurringFinesRule = '50_cent_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW NOCIRC': - // use defaults - break; - case 'LAW RES1D': - result.durationRule = '16_hours_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW RES3D': - result.durationRule = '2_days_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW RES3H': - result.durationRule = '3_hours_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW RES5H': - result.durationRule = '5_hours_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW SERIAL': - // use defaults - break; - case 'MAP': - // use defaults - break; - case 'MAP (CIRCULATING)': - result.durationRule = '28_days_3_renew'; - break; - case 'MAP (REFERENCE)': - // use defaults - break; - case 'MEDIA': - result.durationRule = '28_days_3_renew'; - break; - case 'MFORM': - result.durationRule = '28_days_3_renew'; - break; - case 'MFORM REF': - // use defaults - break; - case 'MFORM SER': - // use defaults - break; - case 'REF': - result.durationRule = '7_days_3_renew'; - break; - case 'RSV1': - result.durationRule = '1_day_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV2': - result.durationRule = '120_minutes_0_renew'; - result.recurringFinesRule = '5_cents_per_minute'; - result.maxFine = '50_dollars'; - break; - case 'RSV3': - result.durationRule = '3_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV7': - result.durationRule = '7_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'SER': - result.durationRule = '1_day_1_renew'; - result.recurringFinesRule = '2_dollars_per_day'; - break; - case 'THESIS': - result.durationRule = '28_days_3_renew'; - break; - } - break; - - case 'Readers': - - /* currently STAFF, LAW1, LAW2, and LAW3. applying STAFF rules to Leddy items - and LAWx rules to Law items - fix as soon as Windsor groups exists! */ - - switch(copy.circ_modifier) { - case 'cd music': - result.durationRule = '3_days_1_renew'; - break; - case 'CIRC': - result.durationRule = '28_days_3_renew'; - break; - case 'CIRC SHORT': - result.durationRule = '1_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'CRC MEDIA': - result.durationRule = '7_days_3_renew'; - break; - case 'CRC SPEC': - result.durationRule = '28_days_3_renew'; - break; - case 'CRC TEXT': - result.durationRule = '28_days_3_renew'; - break; - case 'DNON': - // use defaults - break; - case 'DOC': - result.durationRule = '28_days_3_renew'; - break; - case 'DVD VIDEO': - result.durationRule = '3_days_1_renew'; - break; - case 'LAW MONO': - result.durationRule = '28_days_5_renew'; - result.maxFine = '50_dollars'; - break; - case 'LAW NOCIRC': - // use defaults - break; - case 'LAW RES1D': - result.durationRule = '16_hours_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW RES3D': - result.durationRule = '2_days_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW RES3H': - result.durationRule = '3_hours_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW RES5H': - result.durationRule = '5_hours_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW SERIAL': - // use defaults - break; - case 'MAP': - // use defaults - break; - case 'MAP (CIRCULATING)': - result.durationRule = '28_days_3_renew'; - break; - case 'MAP (REFERENCE)': - // use defaults - break; - case 'MEDIA': - result.durationRule = '28_days_3_renew'; - break; - case 'MFORM': - result.durationRule = '28_days_3_renew'; - break; - case 'MFORM REF': - // use defaults - break; - case 'MFORM SER': - // use defaults - break; - case 'REF': - result.durationRule = '7_days_3_renew'; - break; - case 'RSV1': - result.durationRule = '1_day_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV2': - result.durationRule = '120_minutes_0_renew'; - result.recurringFinesRule = '5_cents_per_minute'; - result.maxFine = '50_dollars'; - break; - case 'RSV3': - result.durationRule = '3_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV7': - result.durationRule = '7_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'SER': - result.durationRule = '1_day_1_renew'; - result.recurringFinesRule = '2_dollars_per_day'; - break; - case 'THESIS': - result.durationRule = '28_days_3_renew'; - break; - } - break; - - case 'Undergraduate': - switch(copy.circ_modifier) { - case 'CD MUSIC': - // use defaults - break; - case 'CIRC': - result.durationRule = '14_days_3_renew'; - break; - case 'CIRC SHORT': - result.durationRule = '3_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'CRC MEDIA': - result.durationRule = '7_days_3_renew'; - break; - case 'CRC SPEC': - result.durationRule = '14_days_3_renew'; - break; - case 'CRC TEXT': - result.durationRule = '14_days_3_renew'; - break; - case 'DNON': - // use defaults - break; - case 'DOC': - result.durationRule = '14_days_3_renew'; - break; - case 'DVD VIDEO': - result.durationRule = '3_days_1_renew'; - break; - case 'LAW MONO': - result.durationRule = '28_days_5_renew'; - result.maxFine = '50_dollars'; - break; - case 'LAW NOCIRC': - // use defaults - break; - case 'LAW RES1D': - result.durationRule = '16_hours_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW RES3D': - result.durationRule = '2_days_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW RES3H': - result.durationRule = '3_hours_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW RES5H': - result.durationRule = '5_hours_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW SERIAL': - // use defaults - break; - case 'MAP': - // use defaults - break; - case 'MAP (CIRCULATING)': - result.durationRule = '14_days_3_renew'; - break; - case 'MAP (REFERENCE)': - // use defaults - break; - case 'MEDIA': - result.durationRule = '14_days_3_renew'; - break; - case 'MFORM': - result.durationRule = '14_days_3_renew'; - break; - case 'MFORM REF': - // use defaults - break; - case 'MFORM SER': - // use defaults - break; - case 'REF': - result.durationRule = '7_days_3_renew'; - break; - case 'RSV1': - result.durationRule = '1_day_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV2': - result.durationRule = '120_minutes_0_renew'; - result.recurringFinesRule = '5_cents_per_minute'; - result.maxFine = '50_dollars'; - break; - case 'RSV3': - result.durationRule = '3_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV7': - result.durationRule = '7_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'SER': - // use defaults - break; - case 'THESIS': - result.durationRule = '14_days_3_renew'; - break; - } - break; - -} +// circ duration rules for Windsor Leddy (OWA) + +/* set item type defaults - if the either the patron group or the circ modifier + is missing or invalid, these settings will be used */ + +// do these first two have any significance for us? +result.SIPMediaType = '001'; +result.magneticMedia = 'f'; + +// if result.durationRule is not modified for a patron group, set default +// once rules for non-circulating items are figured out, use most common value here and delete unnecessary lines below +result.durationRule = 'non_circ'; + +// for fines, set the most common value here +result.recurringFinesRule = '50_cent_per_day'; +result.maxFine = '10_dollars'; + +/* adjust rules by patron group and circ modifier */ + +switch(patronProfile) { + + // currently, Patrons group is not used; rules are the same as Readers group + case 'Patrons': + switch(copy.circ_modifier) { + case 'CIRC': + result.durationRule = '14_days_3_renew'; + break; + case 'CRC MEDIA': + result.durationRule = '7_days_3_renew'; + break; + case 'CRC SPEC': + result.durationRule = '14_days_3_renew'; + break; + case 'CRC TEXT': + result.durationRule = '14_days_3_renew'; + break; + case 'DOC': + result.durationRule = '14_days_3_renew'; + break; + case 'DVD VIDEO': + result.durationRule = '3_days_1_renew'; + break; + case 'MAP (CIRCULATING)': + result.durationRule = '14_days_3_renew'; + break; + case 'MEDIA': + result.durationRule = '14_days_3_renew'; + break; + case 'MFORM': + result.durationRule = '14_days_3_renew'; + break; + case 'REF': + result.durationRule = '7_days_3_renew'; + break; + case 'THESIS': + result.durationRule = '14_days_3_renew'; + break; + } + break; + + // Faculty includes former AFFL FAC, EXEC, FAC, and LAW FACLTY + case 'Faculty': + switch(copy.circ_modifier) { + case 'CD MUSIC': + result.durationRule = '3_days_1_renew'; + break; + case 'CIRC': + result.durationRule = '28_days_3_renew'; + break; + case 'CIRC SHORT': + result.durationRule = '3_days_1_renew'; + result.recurringFinesRule = '10_dollars_per_day'; + result.maxFine = '50_dollars'; + break; + case 'CRC MEDIA': + result.durationRule = '7_days_3_renew'; + break; + case 'CRC SPEC': + result.durationRule = '28_days_3_renew'; + break; + case 'CRC TEXT': + result.durationRule = '28_days_3_renew'; + break; + case 'DOC': + result.durationRule = '28_days_3_renew'; + break; + case 'DVD VIDEO': + result.durationRule = '3_days_1_renew'; + break; + case 'MAP (CIRCULATING)': + result.durationRule = '28_days_3_renew'; + break; + case 'MEDIA': + result.durationRule = '28_days_3_renew'; + break; + case 'MFORM': + result.durationRule = '28_days_3_renew'; + break; + case 'REF': + result.durationRule = '7_days_3_renew'; + break; + case 'RSV1': + result.durationRule = '1_day_1_renew'; + result.recurringFinesRule = '10_dollars_per_day'; + result.maxFine = '50_dollars'; + break; + case 'RSV2': + result.durationRule = '120_minutes_0_renew'; + result.recurringFinesRule = '5_cents_per_minute'; + result.maxFine = '50_dollars'; + break; + case 'RSV3': + result.durationRule = '3_days_1_renew'; + result.recurringFinesRule = '10_dollars_per_day'; + result.maxFine = '50_dollars'; + break; + case 'RSV7': + result.durationRule = '7_days_1_renew'; + result.recurringFinesRule = '10_dollars_per_day'; + result.maxFine = '50_dollars'; + break; + case 'SER': + result.durationRule = '1_day_1_renew'; + result.recurringFinesRule = '2_dollars_per_day'; + break; + case 'THESIS': + result.durationRule = '28_days_3_renew'; + break; + } + break; + + // includes former STAF, ILL, EXTM, and BINDERY + case 'Staff members': + switch(copy.circ_modifier) { + case 'CD MUSIC': + result.durationRule = '3_days_1_renew'; + break; + case 'CIRC': + result.durationRule = '28_days_3_renew'; + break; + case 'CIRC SHORT': + result.durationRule = '3_days_1_renew'; + result.recurringFinesRule = '10_dollars_per_day'; + result.maxFine = '50_dollars'; + break; + case 'CRC MEDIA': + result.durationRule = '7_days_3_renew'; + break; + case 'CRC SPEC': + result.durationRule = '28_days_3_renew'; + break; + case 'CRC TEXT': + result.durationRule = '28_days_3_renew'; + break; + case 'DOC': + result.durationRule = '28_days_3_renew'; + break; + case 'DVD VIDEO': + result.durationRule = '3_days_1_renew'; + break; + case 'MAP (CIRCULATING)': + result.durationRule = '28_days_3_renew'; + break; + case 'MEDIA': + result.durationRule = '28_days_3_renew'; + break; + case 'MFORM': + result.durationRule = '28_days_3_renew'; + break; + case 'REF': + result.durationRule = '7_days_3_renew'; + break; + case 'RSV1': + result.durationRule = '1_day_1_renew'; + result.recurringFinesRule = '10_dollars_per_day'; + result.maxFine = '50_dollars'; + break; + case 'RSV2': + result.durationRule = '120_minutes_0_renew'; + result.recurringFinesRule = '5_cents_per_minute'; + result.maxFine = '50_dollars'; + break; + case 'RSV3': + result.durationRule = '3_days_1_renew'; + result.recurringFinesRule = '10_dollars_per_day'; + result.maxFine = '50_dollars'; + break; + case 'RSV7': + result.durationRule = '7_days_1_renew'; + result.recurringFinesRule = '10_dollars_per_day'; + result.maxFine = '50_dollars'; + break; + case 'SER': + result.durationRule = '1_day_1_renew'; + result.recurringFinesRule = '2_dollars_per_day'; + break; + case 'THESIS': + result.durationRule = '28_days_3_renew'; + break; + } + break; + + // includes former GRAD and AFFL GRAD + case 'Graduate': + switch(copy.circ_modifier) { + case 'CIRC': + result.durationRule = '28_days_3_renew'; + break; + case 'CIRC SHORT': + result.durationRule = '3_days_1_renew'; + result.recurringFinesRule = '10_dollars_per_day'; + result.maxFine = '50_dollars'; + break; + case 'CRC MEDIA': + result.durationRule = '7_days_3_renew'; + break; + case 'CRC SPEC': + result.durationRule = '28_days_3_renew'; + break; + case 'CRC TEXT': + result.durationRule = '28_days_3_renew'; + break; + case 'DOC': + result.durationRule = '28_days_3_renew'; + break; + case 'DVD VIDEO': + result.durationRule = '3_days_1_renew'; + break; + case 'MAP (CIRCULATING)': + result.durationRule = '28_days_3_renew'; + break; + case 'MEDIA': + result.durationRule = '28_days_3_renew'; + break; + case 'MFORM': + result.durationRule = '28_days_3_renew'; + break; + case 'REF': + result.durationRule = '7_days_3_renew'; + break; + case 'RSV1': + result.durationRule = '1_day_1_renew'; + result.recurringFinesRule = '10_dollars_per_day'; + result.maxFine = '50_dollars'; + break; + case 'RSV2': + result.durationRule = '120_minutes_0_renew'; + result.recurringFinesRule = '5_cents_per_minute'; + result.maxFine = '50_dollars'; + break; + case 'RSV3': + result.durationRule = '3_days_1_renew'; + result.recurringFinesRule = '10_dollars_per_day'; + result.maxFine = '50_dollars'; + break; + case 'RSV7': + result.durationRule = '7_days_1_renew'; + result.recurringFinesRule = '10_dollars_per_day'; + result.maxFine = '50_dollars'; + break; + case 'SER': + result.durationRule = '1_day_1_renew'; + result.recurringFinesRule = '2_dollars_per_day'; + break; + case 'THESIS': + result.durationRule = '28_days_3_renew'; + break; + } + break; + + // includes former DIRB, EXAL, EXDB, EXOT, ONEPASS, and LAW COUR + case 'Readers': + switch(copy.circ_modifier) { + case 'CIRC': + result.durationRule = '14_days_3_renew'; + break; + case 'CRC MEDIA': + result.durationRule = '7_days_3_renew'; + break; + case 'CRC SPEC': + result.durationRule = '14_days_3_renew'; + break; + case 'CRC TEXT': + result.durationRule = '14_days_3_renew'; + break; + case 'DOC': + result.durationRule = '14_days_3_renew'; + break; + case 'DVD VIDEO': + result.durationRule = '3_days_1_renew'; + break; + case 'MAP (CIRCULATING)': + result.durationRule = '14_days_3_renew'; + break; + case 'MAP (REFERENCE)': + // use defaults + break; + case 'MEDIA': + result.durationRule = '14_days_3_renew'; + break; + case 'MFORM': + result.durationRule = '14_days_3_renew'; + break; + case 'REF': + result.durationRule = '7_days_3_renew'; + break; + case 'THESIS': + result.durationRule = '14_days_3_renew'; + break; + } + break; + + // includes former AFFL UND, UND, LAW1, LAW2, and LAW3 + case 'Undergraduate': + switch(copy.circ_modifier) { + case 'CIRC': + result.durationRule = '14_days_3_renew'; + break; + case 'CIRC SHORT': + result.durationRule = '3_days_1_renew'; + result.recurringFinesRule = '10_dollars_per_day'; + result.maxFine = '50_dollars'; + break; + case 'CRC MEDIA': + result.durationRule = '7_days_3_renew'; + break; + case 'CRC SPEC': + result.durationRule = '14_days_3_renew'; + break; + case 'CRC TEXT': + result.durationRule = '14_days_3_renew'; + break; + case 'DOC': + result.durationRule = '14_days_3_renew'; + break; + case 'DVD VIDEO': + result.durationRule = '3_days_1_renew'; + break; + case 'MAP (CIRCULATING)': + result.durationRule = '14_days_3_renew'; + break; + case 'MEDIA': + result.durationRule = '14_days_3_renew'; + break; + case 'MFORM': + result.durationRule = '14_days_3_renew'; + break; + case 'REF': + result.durationRule = '7_days_3_renew'; + break; + case 'RSV1': + result.durationRule = '1_day_1_renew'; + result.recurringFinesRule = '10_dollars_per_day'; + result.maxFine = '50_dollars'; + break; + case 'RSV2': + result.durationRule = '120_minutes_0_renew'; + result.recurringFinesRule = '5_cents_per_minute'; + result.maxFine = '50_dollars'; + break; + case 'RSV3': + result.durationRule = '3_days_1_renew'; + result.recurringFinesRule = '10_dollars_per_day'; + result.maxFine = '50_dollars'; + break; + case 'RSV7': + result.durationRule = '7_days_1_renew'; + result.recurringFinesRule = '10_dollars_per_day'; + result.maxFine = '50_dollars'; + break; + case 'THESIS': + result.durationRule = '14_days_3_renew'; + break; + } + break; +} diff --git a/circ/circ_duration_OWAL.js b/circ/circ_duration_OWAL.js index 9298c16afe..4db8202ade 100644 --- a/circ/circ_duration_OWAL.js +++ b/circ/circ_duration_OWAL.js @@ -1,731 +1,228 @@ -/* SIP media types -000 Other -001 Book -002 Magazine -003 Bound journal -004 Audio tape -005 Video tape -006 CD/CDROM -007 Diskette -008 Book with diskette -009 Book with CD -010 Book with audio tape -*/ - -/* set item type defaults - if the either the patron group or the circ modifier - is missing or invalid, these settings will be used */ - -// do these first two have any significance for us? -result.SIPMediaType = '001'; -result.magneticMedia = 'f'; - -// if result.durationRule is not modified for a patron group, item does not circulate -// -// of course, what this rule actually does is circulate the item for 0 days, meaning -// that it is immediately due... need to move this logic over to circ_permit_patron.js -// or circ_permit_copy.js -result.durationRule = 'non_circ'; - -// for fines, set the most common value here -result.recurringFinesRule = '50_cent_per_day'; -result.maxFine = '10_dollars'; - -/* adjust rules by patron group and circ modifier */ - -switch(patronProfile) { - - case 'Patrons': - switch(copy.circ_modifier) { - case 'CD MUSIC': - // use defaults - break; - case 'CIRC': - result.durationRule = '14_days_3_renew'; - break; - case 'CIRC SHORT': - // use defaults - break; - case 'CRC MEDIA': - result.durationRule = '7_days_3_renew'; - break; - case 'CRC SPEC': - result.durationRule = '14_days_3_renew'; - break; - case 'CRC TEXT': - result.durationRule = '14_days_3_renew'; - break; - case 'DNON': - // use defaults - break; - case 'DOC': - result.durationRule = '14_days_3_renew'; - break; - case 'DVD VIDEO': - result.durationRule = '3_days_1_renew'; - break; - case 'LAW MONO': - // use defaults - break; - case 'LAW NOCIRC': - // use defaults - break; - case 'LAW RES1D': - // use defaults - break; - case 'LAW RES3D': - // use defaults - break; - case 'LAW RES3H': - // use defaults - break; - case 'LAW RES5H': - // use defaults - break; - case 'LAW SERIAL': - // use defaults - break; - case 'MAP': - // use defaults - break; - case 'MAP (CIRCULATING)': - result.durationRule = '14_days_3_renew'; - break; - case 'MAP (REFERENCE)': - // use defaults - break; - case 'MEDIA': - result.durationRule = '14_days_3_renew'; - break; - case 'MFORM': - result.durationRule = '14_days_3_renew'; - break; - case 'MFORM REF': - // use defaults - break; - case 'MFORM SER': - // use defaults - break; - case 'REF': - result.durationRule = '7_days_3_renew'; - break; - case 'RSV1': - // use defaults - break; - case 'RSV2': - // use defaults - break; - case 'RSV3': - // use defaults - break; - case 'RSV7': - // use defaults - break; - case 'SER': - // use defaults - break; - case 'THESIS': - result.durationRule = '14_days_3_renew'; - break; - } - break; - - case 'Faculty': - switch(copy.circ_modifier) { - case 'CD MUSIC': - result.durationRule = '3_days_1_renew'; - break; - case 'CIRC': - result.durationRule = '28_days_3_renew'; - break; - case 'CIRC SHORT': - result.durationRule = '3_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'CRC MEDIA': - result.durationRule = '7_days_3_renew'; - break; - case 'CRC SPEC': - result.durationRule = '28_days_3_renew'; - break; - case 'CRC TEXT': - result.durationRule = '28_days_3_renew'; - break; - case 'DNON': - // use defaults - break; - case 'DOC': - result.durationRule = '28_days_3_renew'; - break; - case 'DVD VIDEO': - result.durationRule = '3_days_1_renew'; - break; - - /* settings for law item types are those applicable to LAW FACLTY - and will need to be changed as soon as a conifer Law Faculty patron - group can be created */ - - case 'LAW MONO': - result.durationRule = '28_days_5_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW NOCIRC': - result.durationRule = '14_days_5_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW RES1D': - result.durationRule = '2_days_20_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW RES3D': - result.durationRule = '3_days_20_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW RES3H': - result.durationRule = '2_days_20_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW RES5H': - result.durationRule = '2_days_20_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW SERIAL': - result.durationRule = '14_days_5_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'MAP': - // use defaults - break; - case 'MAP (CIRCULATING)': - result.durationRule = '28_days_3_renew'; - break; - case 'MAP (REFERENCE)': - // use defaults - break; - case 'MEDIA': - result.durationRule = '28_days_3_renew'; - break; - case 'MFORM': - result.durationRule = '28_days_3_renew'; - break; - case 'MFORM REF': - // use defaults - break; - case 'MFORM SER': - // use defaults - break; - case 'REF': - result.durationRule = '7_days_3_renew'; - break; - case 'RSV1': - result.durationRule = '1_day_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV2': - result.durationRule = '120_minutes_0_renew'; - result.recurringFinesRule = '5_cents_per_minute'; - result.maxFine = '50_dollars'; - break; - case 'RSV3': - result.durationRule = '3_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV7': - result.durationRule = '7_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'SER': - result.durationRule = '1_day_1_renew'; - result.recurringFinesRule = '2_dollars_per_day'; - break; - case 'THESIS': - result.durationRule = '28_days_3_renew'; - break; - } - break; - - case 'Staff members': - switch(copy.circ_modifier) { - case 'CD MUSIC': - result.durationRule = '3_days_1_renew'; - break; - case 'CIRC': - result.durationRule = '28_days_3_renew'; - break; - case 'CIRC SHORT': - result.durationRule = '3_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'CRC MEDIA': - result.durationRule = '7_days_3_renew'; - break; - case 'CRC SPEC': - result.durationRule = '28_days_3_renew'; - break; - case 'CRC TEXT': - result.durationRule = '28_days_3_renew'; - break; - case 'DNON': - // use defaults - break; - case 'DOC': - result.durationRule = '28_days_3_renew'; - break; - case 'DVD VIDEO': - result.durationRule = '3_days_1_renew'; - break; - - /* settings for law item types are those applicable to LAW FACLTY - and will need to be changed as soon as a conifer Law Faculty patron - group can be created */ - - case 'LAW MONO': - result.durationRule = '28_days_5_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW NOCIRC': - result.durationRule = '14_days_5_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW RES1D': - result.durationRule = '2_days_20_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW RES3D': - result.durationRule = '3_days_20_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW RES3H': - result.durationRule = '2_days_20_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW RES5H': - result.durationRule = '2_days_20_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'LAW SERIAL': - result.durationRule = '14_days_5_renew'; - result.recurringFinesRule = 'free'; - result.maxFine = 0; - break; - case 'MAP': - // use defaults - break; - case 'MAP (CIRCULATING)': - result.durationRule = '28_days_3_renew'; - break; - case 'MAP (REFERENCE)': - // use defaults - break; - case 'MEDIA': - result.durationRule = '28_days_3_renew'; - break; - case 'MFORM': - result.durationRule = '28_days_3_renew'; - break; - case 'MFORM REF': - // use defaults - break; - case 'MFORM SER': - // use defaults - break; - case 'REF': - result.durationRule = '7_days_3_renew'; - break; - case 'RSV1': - result.durationRule = '1_day_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV2': - result.durationRule = '120_minutes_0_renew'; - result.recurringFinesRule = '5_cents_per_minute'; - result.maxFine = '50_dollars'; - break; - case 'RSV3': - result.durationRule = '3_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV7': - result.durationRule = '7_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'SER': - result.durationRule = '1_day_1_renew'; - result.recurringFinesRule = '2_dollars_per_day'; - break; - case 'THESIS': - result.durationRule = '28_days_3_renew'; - break; - } - break; - - case 'Graduate': - switch(copy.circ_modifier) { - case 'CD MUSIC': - // use defaults - break; - case 'CIRC': - result.durationRule = '28_days_3_renew'; - break; - case 'CIRC SHORT': - result.durationRule = '3_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'CRC MEDIA': - result.durationRule = '7_days_3_renew'; - break; - case 'CRC SPEC': - result.durationRule = '28_days_3_renew'; - break; - case 'CRC TEXT': - result.durationRule = '28_days_3_renew'; - break; - case 'DNON': - // use defaults - break; - case 'DOC': - result.durationRule = '28_days_3_renew'; - break; - case 'DVD VIDEO': - result.durationRule = '3_days_1_renew'; - break; - case 'LAW MONO': - result.durationRule = '28_days_5_renew'; - result.recurringFinesRule = '50_cent_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW NOCIRC': - // use defaults - break; - case 'LAW RES1D': - result.durationRule = '16_hours_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW RES3D': - result.durationRule = '2_days_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW RES3H': - result.durationRule = '3_hours_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW RES5H': - result.durationRule = '5_hours_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW SERIAL': - // use defaults - break; - case 'MAP': - // use defaults - break; - case 'MAP (CIRCULATING)': - result.durationRule = '28_days_3_renew'; - break; - case 'MAP (REFERENCE)': - // use defaults - break; - case 'MEDIA': - result.durationRule = '28_days_3_renew'; - break; - case 'MFORM': - result.durationRule = '28_days_3_renew'; - break; - case 'MFORM REF': - // use defaults - break; - case 'MFORM SER': - // use defaults - break; - case 'REF': - result.durationRule = '7_days_3_renew'; - break; - case 'RSV1': - result.durationRule = '1_day_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV2': - result.durationRule = '120_minutes_0_renew'; - result.recurringFinesRule = '5_cents_per_minute'; - result.maxFine = '50_dollars'; - break; - case 'RSV3': - result.durationRule = '3_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV7': - result.durationRule = '7_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'SER': - result.durationRule = '1_day_1_renew'; - result.recurringFinesRule = '2_dollars_per_day'; - break; - case 'THESIS': - result.durationRule = '28_days_3_renew'; - break; - } - break; - - case 'Readers': - - /* currently STAFF, LAW1, LAW2, and LAW3. applying STAFF rules to Leddy items - and LAWx rules to Law items - fix as soon as Windsor groups exists! */ - - switch(copy.circ_modifier) { - case 'cd music': - result.durationRule = '3_days_1_renew'; - break; - case 'CIRC': - result.durationRule = '28_days_3_renew'; - break; - case 'CIRC SHORT': - result.durationRule = '1_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'CRC MEDIA': - result.durationRule = '7_days_3_renew'; - break; - case 'CRC SPEC': - result.durationRule = '28_days_3_renew'; - break; - case 'CRC TEXT': - result.durationRule = '28_days_3_renew'; - break; - case 'DNON': - // use defaults - break; - case 'DOC': - result.durationRule = '28_days_3_renew'; - break; - case 'DVD VIDEO': - result.durationRule = '3_days_1_renew'; - break; - case 'LAW MONO': - result.durationRule = '28_days_5_renew'; - result.maxFine = '50_dollars'; - break; - case 'LAW NOCIRC': - // use defaults - break; - case 'LAW RES1D': - result.durationRule = '16_hours_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW RES3D': - result.durationRule = '2_days_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW RES3H': - result.durationRule = '3_hours_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW RES5H': - result.durationRule = '5_hours_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW SERIAL': - // use defaults - break; - case 'MAP': - // use defaults - break; - case 'MAP (CIRCULATING)': - result.durationRule = '28_days_3_renew'; - break; - case 'MAP (REFERENCE)': - // use defaults - break; - case 'MEDIA': - result.durationRule = '28_days_3_renew'; - break; - case 'MFORM': - result.durationRule = '28_days_3_renew'; - break; - case 'MFORM REF': - // use defaults - break; - case 'MFORM SER': - // use defaults - break; - case 'REF': - result.durationRule = '7_days_3_renew'; - break; - case 'RSV1': - result.durationRule = '1_day_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV2': - result.durationRule = '120_minutes_0_renew'; - result.recurringFinesRule = '5_cents_per_minute'; - result.maxFine = '50_dollars'; - break; - case 'RSV3': - result.durationRule = '3_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV7': - result.durationRule = '7_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'SER': - result.durationRule = '1_day_1_renew'; - result.recurringFinesRule = '2_dollars_per_day'; - break; - case 'THESIS': - result.durationRule = '28_days_3_renew'; - break; - } - break; - - case 'Undergraduate': - switch(copy.circ_modifier) { - case 'CD MUSIC': - // use defaults - break; - case 'CIRC': - result.durationRule = '14_days_3_renew'; - break; - case 'CIRC SHORT': - result.durationRule = '3_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'CRC MEDIA': - result.durationRule = '7_days_3_renew'; - break; - case 'CRC SPEC': - result.durationRule = '14_days_3_renew'; - break; - case 'CRC TEXT': - result.durationRule = '14_days_3_renew'; - break; - case 'DNON': - // use defaults - break; - case 'DOC': - result.durationRule = '14_days_3_renew'; - break; - case 'DVD VIDEO': - result.durationRule = '3_days_1_renew'; - break; - case 'LAW MONO': - result.durationRule = '28_days_5_renew'; - result.maxFine = '50_dollars'; - break; - case 'LAW NOCIRC': - // use defaults - break; - case 'LAW RES1D': - result.durationRule = '16_hours_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW RES3D': - result.durationRule = '2_days_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW RES3H': - result.durationRule = '3_hours_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW RES5H': - result.durationRule = '5_hours_20_renew'; - result.recurringFinesRule = '60_cents_per_day'; - result.maxFine = '50_dollars'; - break; - case 'LAW SERIAL': - // use defaults - break; - case 'MAP': - // use defaults - break; - case 'MAP (CIRCULATING)': - result.durationRule = '14_days_3_renew'; - break; - case 'MAP (REFERENCE)': - // use defaults - break; - case 'MEDIA': - result.durationRule = '14_days_3_renew'; - break; - case 'MFORM': - result.durationRule = '14_days_3_renew'; - break; - case 'MFORM REF': - // use defaults - break; - case 'MFORM SER': - // use defaults - break; - case 'REF': - result.durationRule = '7_days_3_renew'; - break; - case 'RSV1': - result.durationRule = '1_day_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV2': - result.durationRule = '120_minutes_0_renew'; - result.recurringFinesRule = '5_cents_per_minute'; - result.maxFine = '50_dollars'; - break; - case 'RSV3': - result.durationRule = '3_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'RSV7': - result.durationRule = '7_days_1_renew'; - result.recurringFinesRule = '10_dollars_per_day'; - result.maxFine = '50_dollars'; - break; - case 'SER': - // use defaults - break; - case 'THESIS': - result.durationRule = '14_days_3_renew'; - break; - } - break; - -} +// circ duration rules for Windsor Law (OWAL) + +/* set item type defaults - if the either the patron group or the circ modifier + is missing or invalid, these settings will be used */ + +// do these first two have any significance for us? +result.SIPMediaType = '001'; +result.magneticMedia = 'f'; + +// if result.durationRule is not modified for a patron group, set default +// once rules for non-circulating items are figured out, use most common value here and delete unnecessary lines below +result.durationRule = 'non_circ'; + +// for fines, set the most common value here +result.recurringFinesRule = '50_cent_per_day'; +result.maxFine = '50_dollars'; + +/* adjust rules by patron group and circ modifier */ + +if (patron.home_ou.shortname == "OWAL") { // define Law patron rules first + + switch(patronProfile) { + + case 'Faculty': + switch(copy.circ_modifier) { + case 'LAW MONO': + result.durationRule = '28_days_5_renew'; + result.recurringFinesRule = 'free'; + result.maxFine = 500; + break; + case 'LAW NOCIRC': + result.durationRule = '14_days_5_renew'; + result.recurringFinesRule = 'free'; + result.maxFine = 500; + break; + case 'LAW RES1D': + result.durationRule = '3_days_5_renew'; + result.recurringFinesRule = 'free'; + result.maxFine = 500; + break; + case 'LAW RES3D': + result.durationRule = '3_days_5_renew'; + result.recurringFinesRule = 'free'; + result.maxFine = 500; + break; + case 'LAW RES3H': + result.durationRule = '3_days_5_renew'; + result.recurringFinesRule = 'free'; + result.maxFine = 500; + break; + case 'LAW RES5H': + result.durationRule = '3_days_5_renew'; + result.recurringFinesRule = 'free'; + result.maxFine = 500; + break; + case 'LAW SERIAL': + result.durationRule = '14_days_5_renew'; + result.recurringFinesRule = 'free'; + result.maxFine = 500; + break; + } + break; + + case 'Staff members': + switch(copy.circ_modifier) { + case 'LAW MONO': + result.durationRule = '28_days_5_renew'; + break; + case 'LAW RES1D': + result.durationRule = '1_day_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW RES3D': + result.durationRule = '3_days_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW RES3H': + result.durationRule = '3_hours_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW RES5H': + result.durationRule = '5_hours_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + } + break; + + case 'Readers': + switch(copy.circ_modifier) { + case 'LAW MONO': + result.durationRule = '7_days_3_renew'; + result.maxFine = '10_dollars'; + break; + } + break; + + case 'Undergraduate': + switch(copy.circ_modifier) { + case 'LAW MONO': + result.durationRule = '28_days_5_renew'; + break; + case 'LAW RES1D': + result.durationRule = '1_day_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW RES3D': + result.durationRule = '3_days_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW RES3H': + result.durationRule = '3_hours_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW RES5H': + result.durationRule = '5_hours_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + } + break; + } + +} else { // define patron rules for non-Law patrons + + switch(patronProfile) { + + case 'Faculty': + switch(copy.circ_modifier) { + case 'LAW MONO': + result.durationRule = '28_days_5_renew'; + break; + case 'LAW NOCIRC': + result.durationRule = '14_days_5_renew'; + break; + case 'LAW RES1D': + result.durationRule = '1_day_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW RES3D': + result.durationRule = '3_days_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW RES3H': + result.durationRule = '3_hours_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW RES5H': + result.durationRule = '5_hours_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW SERIAL': + result.durationRule = '14_days_5_renew'; + break; + } + break; + + case 'Staff members': + switch(copy.circ_modifier) { + case 'LAW MONO': + result.durationRule = '28_days_5_renew'; + break; + case 'LAW RES1D': + result.durationRule = '1_day_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW RES3D': + result.durationRule = '3_days_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW RES3H': + result.durationRule = '3_hours_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW RES5H': + result.durationRule = '5_hours_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + } + break; + + case 'Graduate': + switch(copy.circ_modifier) { + case 'LAW MONO': + result.durationRule = '28_days_5_renew'; + break; + case 'LAW RES1D': + result.durationRule = '1_day_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW RES3D': + result.durationRule = '3_days_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW RES3H': + result.durationRule = '3_hours_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW RES5H': + result.durationRule = '5_hours_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + } + break; + + case 'Undergraduate': + switch(copy.circ_modifier) { + case 'LAW MONO': + result.durationRule = '28_days_5_renew'; + break; + case 'LAW RES1D': + result.durationRule = '1_day_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW RES3D': + result.durationRule = '3_days_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW RES3H': + result.durationRule = '3_hours_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + case 'LAW RES5H': + result.durationRule = '5_hours_5_renew'; + result.recurringFinesRule = '60_cent_per_hour'; + break; + } + break; + } +} -- 2.11.0