updated circ rules for OWA and OWAL
authorpzed <pzed@6d9bc8c9-1ec2-4278-b937-99fde70a366f>
Thu, 9 Jul 2009 14:30:53 +0000 (14:30 +0000)
committerpzed <pzed@6d9bc8c9-1ec2-4278-b937-99fde70a366f>
Thu, 9 Jul 2009 14:30:53 +0000 (14:30 +0000)
git-svn-id: svn://svn.open-ils.org/ILS-Contrib/conifer/trunk@574 6d9bc8c9-1ec2-4278-b937-99fde70a366f

circ/circ_duration_OWA.js
circ/circ_duration_OWAL.js

index 9298c16..8d48fc1 100644 (file)
-/* 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)\r
+\r
+/* set item type defaults - if the either the patron group or the circ modifier\r
+   is missing or invalid, these settings will be used */\r
+\r
+// do these first two have any significance for us?\r
+result.SIPMediaType = '001';\r
+result.magneticMedia = 'f';\r
+\r
+// if result.durationRule is not modified for a patron group, set default\r
+// once rules for non-circulating items are figured out, use most common value here and delete unnecessary lines below\r
+result.durationRule = 'non_circ';\r
+\r
+// for fines, set the most common value here\r
+result.recurringFinesRule = '50_cent_per_day';\r
+result.maxFine = '10_dollars';\r
+\r
+/* adjust rules by patron group and circ modifier */\r
+\r
+switch(patronProfile) {\r
+\r
+    // currently, Patrons group is not used; rules are the same as Readers group\r
+    case 'Patrons':\r
+        switch(copy.circ_modifier) {\r
+            case 'CIRC':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'CRC MEDIA':\r
+                result.durationRule = '7_days_3_renew';\r
+                break;\r
+            case 'CRC SPEC':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'CRC TEXT':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'DOC':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'DVD VIDEO':\r
+                result.durationRule = '3_days_1_renew';\r
+                break;\r
+            case 'MAP (CIRCULATING)':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'MEDIA':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'MFORM':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'REF':\r
+                result.durationRule = '7_days_3_renew';\r
+                break;\r
+            case 'THESIS':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+        }\r
+        break;\r
+    \r
+    // Faculty includes former AFFL FAC, EXEC, FAC, and LAW FACLTY\r
+    case 'Faculty':\r
+        switch(copy.circ_modifier) {\r
+            case 'CD MUSIC':\r
+                result.durationRule = '3_days_1_renew';\r
+                break;\r
+            case 'CIRC':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'CIRC SHORT':\r
+                result.durationRule = '3_days_1_renew';\r
+                result.recurringFinesRule = '10_dollars_per_day';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'CRC MEDIA':\r
+                result.durationRule = '7_days_3_renew';\r
+                break;\r
+            case 'CRC SPEC':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'CRC TEXT':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'DOC':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'DVD VIDEO':\r
+                result.durationRule = '3_days_1_renew';\r
+                break;\r
+            case 'MAP (CIRCULATING)':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'MEDIA':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'MFORM':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'REF':\r
+                result.durationRule = '7_days_3_renew';\r
+                break;\r
+            case 'RSV1':\r
+                result.durationRule = '1_day_1_renew';\r
+                result.recurringFinesRule = '10_dollars_per_day';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'RSV2':\r
+                result.durationRule = '120_minutes_0_renew';\r
+                result.recurringFinesRule = '5_cents_per_minute';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'RSV3':\r
+                result.durationRule = '3_days_1_renew';\r
+                result.recurringFinesRule = '10_dollars_per_day';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'RSV7':\r
+                result.durationRule = '7_days_1_renew';\r
+                result.recurringFinesRule = '10_dollars_per_day';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'SER':\r
+                result.durationRule = '1_day_1_renew';\r
+                result.recurringFinesRule = '2_dollars_per_day';\r
+                break;\r
+            case 'THESIS':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+        }\r
+        break;\r
+\r
+    // includes former STAF, ILL, EXTM, and BINDERY\r
+    case 'Staff members':\r
+        switch(copy.circ_modifier) {\r
+            case 'CD MUSIC':\r
+                result.durationRule = '3_days_1_renew';\r
+                break;\r
+            case 'CIRC':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'CIRC SHORT':\r
+                result.durationRule = '3_days_1_renew';\r
+                result.recurringFinesRule = '10_dollars_per_day';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'CRC MEDIA':\r
+                result.durationRule = '7_days_3_renew';\r
+                break;\r
+            case 'CRC SPEC':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'CRC TEXT':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'DOC':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'DVD VIDEO':\r
+                result.durationRule = '3_days_1_renew';\r
+                break;\r
+            case 'MAP (CIRCULATING)':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'MEDIA':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'MFORM':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'REF':\r
+                result.durationRule = '7_days_3_renew';\r
+                break;\r
+            case 'RSV1':\r
+                result.durationRule = '1_day_1_renew';\r
+                result.recurringFinesRule = '10_dollars_per_day';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'RSV2':\r
+                result.durationRule = '120_minutes_0_renew';\r
+                result.recurringFinesRule = '5_cents_per_minute';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'RSV3':\r
+                result.durationRule = '3_days_1_renew';\r
+                result.recurringFinesRule = '10_dollars_per_day';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'RSV7':\r
+                result.durationRule = '7_days_1_renew';\r
+                result.recurringFinesRule = '10_dollars_per_day';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'SER':\r
+                result.durationRule = '1_day_1_renew';\r
+                result.recurringFinesRule = '2_dollars_per_day';\r
+                break;\r
+            case 'THESIS':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+        }\r
+        break;\r
+\r
+    // includes former GRAD and AFFL GRAD\r
+    case 'Graduate':\r
+        switch(copy.circ_modifier) {\r
+            case 'CIRC':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'CIRC SHORT':\r
+                result.durationRule = '3_days_1_renew';\r
+                result.recurringFinesRule = '10_dollars_per_day';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'CRC MEDIA':\r
+                result.durationRule = '7_days_3_renew';\r
+                break;\r
+            case 'CRC SPEC':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'CRC TEXT':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'DOC':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'DVD VIDEO':\r
+                result.durationRule = '3_days_1_renew';\r
+                break;\r
+            case 'MAP (CIRCULATING)':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'MEDIA':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'MFORM':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+            case 'REF':\r
+                result.durationRule = '7_days_3_renew';\r
+                break;\r
+            case 'RSV1':\r
+                result.durationRule = '1_day_1_renew';\r
+                result.recurringFinesRule = '10_dollars_per_day';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'RSV2':\r
+                result.durationRule = '120_minutes_0_renew';\r
+                result.recurringFinesRule = '5_cents_per_minute';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'RSV3':\r
+                result.durationRule = '3_days_1_renew';\r
+                result.recurringFinesRule = '10_dollars_per_day';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'RSV7':\r
+                result.durationRule = '7_days_1_renew';\r
+                result.recurringFinesRule = '10_dollars_per_day';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'SER':\r
+                result.durationRule = '1_day_1_renew';\r
+                result.recurringFinesRule = '2_dollars_per_day';\r
+                break;\r
+            case 'THESIS':\r
+                result.durationRule = '28_days_3_renew';\r
+                break;\r
+        }\r
+        break;\r
+    \r
+    // includes former DIRB, EXAL, EXDB, EXOT, ONEPASS, and LAW COUR\r
+    case 'Readers':\r
+        switch(copy.circ_modifier) {\r
+            case 'CIRC':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'CRC MEDIA':\r
+                result.durationRule = '7_days_3_renew';\r
+                break;\r
+            case 'CRC SPEC':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'CRC TEXT':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'DOC':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'DVD VIDEO':\r
+                result.durationRule = '3_days_1_renew';\r
+                break;\r
+            case 'MAP (CIRCULATING)':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'MAP (REFERENCE)':\r
+                // use defaults\r
+                break;\r
+            case 'MEDIA':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'MFORM':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'REF':\r
+                result.durationRule = '7_days_3_renew';\r
+                break;\r
+            case 'THESIS':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+        }\r
+        break;\r
+    \r
+    // includes former AFFL UND, UND, LAW1, LAW2, and LAW3\r
+    case 'Undergraduate':\r
+        switch(copy.circ_modifier) {\r
+            case 'CIRC':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'CIRC SHORT':\r
+                result.durationRule = '3_days_1_renew';\r
+                result.recurringFinesRule = '10_dollars_per_day';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'CRC MEDIA':\r
+                result.durationRule = '7_days_3_renew';\r
+                break;\r
+            case 'CRC SPEC':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'CRC TEXT':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'DOC':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'DVD VIDEO':\r
+                result.durationRule = '3_days_1_renew';\r
+                break;\r
+            case 'MAP (CIRCULATING)':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'MEDIA':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'MFORM':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+            case 'REF':\r
+                result.durationRule = '7_days_3_renew';\r
+                break;\r
+            case 'RSV1':\r
+                result.durationRule = '1_day_1_renew';\r
+                result.recurringFinesRule = '10_dollars_per_day';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'RSV2':\r
+                result.durationRule = '120_minutes_0_renew';\r
+                result.recurringFinesRule = '5_cents_per_minute';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'RSV3':\r
+                result.durationRule = '3_days_1_renew';\r
+                result.recurringFinesRule = '10_dollars_per_day';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'RSV7':\r
+                result.durationRule = '7_days_1_renew';\r
+                result.recurringFinesRule = '10_dollars_per_day';\r
+                result.maxFine = '50_dollars';\r
+                break;\r
+            case 'THESIS':\r
+                result.durationRule = '14_days_3_renew';\r
+                break;\r
+        }\r
+        break;\r
+}\r
index 9298c16..4db8202 100644 (file)
-/* 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)\r
+\r
+/* set item type defaults - if the either the patron group or the circ modifier\r
+   is missing or invalid, these settings will be used */\r
+\r
+// do these first two have any significance for us?\r
+result.SIPMediaType = '001';\r
+result.magneticMedia = 'f';\r
+\r
+// if result.durationRule is not modified for a patron group, set default\r
+// once rules for non-circulating items are figured out, use most common value here and delete unnecessary lines below\r
+result.durationRule = 'non_circ';\r
+\r
+// for fines, set the most common value here\r
+result.recurringFinesRule = '50_cent_per_day';\r
+result.maxFine = '50_dollars';\r
+\r
+/* adjust rules by patron group and circ modifier */\r
+\r
+if (patron.home_ou.shortname == "OWAL") {  // define Law patron rules first\r
+\r
+    switch(patronProfile) {\r
+               \r
+        case 'Faculty':\r
+            switch(copy.circ_modifier) {\r
+                case 'LAW MONO':\r
+                    result.durationRule = '28_days_5_renew';\r
+                    result.recurringFinesRule = 'free';\r
+                    result.maxFine = 500;\r
+                    break;\r
+                case 'LAW NOCIRC':\r
+                    result.durationRule = '14_days_5_renew';\r
+                    result.recurringFinesRule = 'free';\r
+                    result.maxFine = 500;\r
+                    break;\r
+                case 'LAW RES1D':\r
+                    result.durationRule = '3_days_5_renew';\r
+                    result.recurringFinesRule = 'free';\r
+                    result.maxFine = 500;\r
+                    break;\r
+                case 'LAW RES3D':\r
+                    result.durationRule = '3_days_5_renew';\r
+                    result.recurringFinesRule = 'free';\r
+                    result.maxFine = 500;\r
+                    break;\r
+                case 'LAW RES3H':\r
+                    result.durationRule = '3_days_5_renew';\r
+                    result.recurringFinesRule = 'free';\r
+                    result.maxFine = 500;\r
+                    break;\r
+                case 'LAW RES5H':\r
+                    result.durationRule = '3_days_5_renew';\r
+                    result.recurringFinesRule = 'free';\r
+                    result.maxFine = 500;\r
+                    break;\r
+                case 'LAW SERIAL':\r
+                    result.durationRule = '14_days_5_renew';\r
+                    result.recurringFinesRule = 'free';\r
+                    result.maxFine = 500;\r
+                    break;\r
+            }\r
+            break;\r
+    \r
+        case 'Staff members':\r
+            switch(copy.circ_modifier) {\r
+                case 'LAW MONO':\r
+                    result.durationRule = '28_days_5_renew';\r
+                    break;\r
+                case 'LAW RES1D':\r
+                    result.durationRule = '1_day_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW RES3D':\r
+                    result.durationRule = '3_days_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW RES3H':\r
+                    result.durationRule = '3_hours_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW RES5H':\r
+                    result.durationRule = '5_hours_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+            }\r
+            break;\r
+\r
+        case 'Readers':\r
+            switch(copy.circ_modifier) {\r
+                case 'LAW MONO':\r
+                    result.durationRule = '7_days_3_renew';\r
+                    result.maxFine = '10_dollars';\r
+                    break;\r
+            }\r
+            break;\r
+            \r
+        case 'Undergraduate':\r
+            switch(copy.circ_modifier) {\r
+                case 'LAW MONO':\r
+                    result.durationRule = '28_days_5_renew';\r
+                    break;\r
+                case 'LAW RES1D':\r
+                    result.durationRule = '1_day_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW RES3D':\r
+                    result.durationRule = '3_days_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW RES3H':\r
+                    result.durationRule = '3_hours_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW RES5H':\r
+                    result.durationRule = '5_hours_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+            }\r
+            break;\r
+    }\r
+\r
+} else {  // define patron rules for non-Law patrons\r
+\r
+    switch(patronProfile) {\r
+               \r
+        case 'Faculty':\r
+            switch(copy.circ_modifier) {\r
+                case 'LAW MONO':\r
+                    result.durationRule = '28_days_5_renew';\r
+                    break;\r
+                case 'LAW NOCIRC':\r
+                    result.durationRule = '14_days_5_renew';\r
+                    break;\r
+                case 'LAW RES1D':\r
+                    result.durationRule = '1_day_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW RES3D':\r
+                    result.durationRule = '3_days_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW RES3H':\r
+                    result.durationRule = '3_hours_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW RES5H':\r
+                    result.durationRule = '5_hours_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW SERIAL':\r
+                    result.durationRule = '14_days_5_renew';\r
+                    break;\r
+            }\r
+            break;\r
+    \r
+        case 'Staff members':\r
+            switch(copy.circ_modifier) {\r
+                case 'LAW MONO':\r
+                    result.durationRule = '28_days_5_renew';\r
+                    break;\r
+                case 'LAW RES1D':\r
+                    result.durationRule = '1_day_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW RES3D':\r
+                    result.durationRule = '3_days_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW RES3H':\r
+                    result.durationRule = '3_hours_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW RES5H':\r
+                    result.durationRule = '5_hours_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+            }\r
+            break;\r
+     \r
+        case 'Graduate':\r
+            switch(copy.circ_modifier) {\r
+                case 'LAW MONO':\r
+                    result.durationRule = '28_days_5_renew';\r
+                    break;\r
+                case 'LAW RES1D':\r
+                    result.durationRule = '1_day_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW RES3D':\r
+                    result.durationRule = '3_days_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW RES3H':\r
+                    result.durationRule = '3_hours_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW RES5H':\r
+                    result.durationRule = '5_hours_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+            }\r
+            break;\r
+\r
+        case 'Undergraduate':\r
+            switch(copy.circ_modifier) {\r
+                case 'LAW MONO':\r
+                    result.durationRule = '28_days_5_renew';\r
+                    break;\r
+                case 'LAW RES1D':\r
+                    result.durationRule = '1_day_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW RES3D':\r
+                    result.durationRule = '3_days_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW RES3H':\r
+                    result.durationRule = '3_hours_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+                case 'LAW RES5H':\r
+                    result.durationRule = '5_hours_5_renew';\r
+                    result.recurringFinesRule = '60_cent_per_hour';\r
+                    break;\r
+            }\r
+            break;\r
+    }\r
+}\r