// circ duration rules for Windsor Leddy (OWA)\r
\r
-/* we use a date based identifier to pick up values in the log\r
-*/\r
+/* we use a date based identifier to pick up values in the log */\r
var currentTime = new Date();\r
var debugStamp = "circ" + (currentTime.getMonth() + 1) + "" +\r
"" + currentTime.getDate() + "" + currentTime.getFullYear() +\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
+/* if result.durationRule is not modified for a patron group, set default\r
+ * this value will be used for all circ overrides! */\r
+result.durationRule = 'OWA_override';\r
\r
// for fines, set the most common value here\r
-result.recurringFinesRule = '50_cent_per_day';\r
-result.maxFine = '10_dollars';\r
+result.recurringFinesRule = 'OWA_daily';\r
+result.maxFine = 'OWA_normal';\r
\r
/* adjust rules by patron group and circ modifier */\r
\r
log_info(debugStamp + 'patronProfile is ' + patronProfile + ' - modifier ' + copy.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
+if (isValidPatron(patronProfile)) {\r
+ var temp_array = patronProfile.split(" ");\r
+ var profileFirst = temp_array[0];\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
+ switch(copy.circ_modifier) {\r
+ case 'CD MUSIC':\r
+ if (profileFirst == 'Faculty' || profileFirst == 'Staff') {\r
+ result.durationRule = 'OWA_audiovisual';\r
+ }\r
+ break;\r
+ case 'CIRC':\r
+ result.durationRule = 'OWA_' + profileFirst;\r
+ break;\r
+ case 'CIRC SHORT':\r
+ result.durationRule = 'OWA_short';\r
+ result.recurringFinesRule = 'OWA_daily_short';\r
+ result.maxFine = 'OWA_short';\r
+ break;\r
+ case 'CRC MEDIA':\r
+ result.durationRule = 'OWA_sevenday';\r
+ break;\r
+ case 'CRC SPEC':\r
+ result.durationRule = 'OWA_' + profileFirst;\r
+ break;\r
+ case 'CRC TEXT':\r
+ result.durationRule = 'OWA_' + profileFirst;\r
+ break;\r
+ case 'DOC':\r
+ result.durationRule = 'OWA_' + profileFirst;\r
+ break;\r
+ case 'DVD VIDEO':\r
+ result.durationRule = 'OWA_audiovisual';\r
+ break;\r
+ case 'MEDIA':\r
+ result.durationRule = 'OWA_' + profileFirst;\r
+ break;\r
+ case 'MFORM':\r
+ result.durationRule = 'OWA_' + profileFirst;\r
+ break;\r
+ case 'REF':\r
+ result.durationRule = 'OWA_sevenday';\r
+ break;\r
+ case 'RSV1':\r
+ result.durationRule = 'OWA_rsv_oneday';\r
+ result.recurringFinesRule = 'OWA_daily_rsv';\r
+ result.maxFine = 'OWA_rsv';\r
+ break;\r
+ case 'RSV2':\r
+ result.durationRule = 'OWA_rsv_twohour';\r
+ result.recurringFinesRule = 'OWA_hourly_rsv';\r
+ result.maxFine = 'OWA_rsv';\r
+ break;\r
+ case 'RSV3':\r
+ result.durationRule = 'OWA_rsv_threeday';\r
+ result.recurringFinesRule = 'OWA_daily_rsv';\r
+ result.maxFine = 'OWA_rsv';\r
+ break;\r
+ case 'RSV7':\r
+ result.durationRule = 'OWA_rsv_sevenday';\r
+ result.recurringFinesRule = 'OWA_daily_rsv';\r
+ result.maxFine = 'OWA_rsv';\r
+ break;\r
+ case 'SER':\r
+ result.durationRule = 'OWA_serials';\r
+ result.recurringFinesRule = 'OWA_daily_serials';\r
+ break;\r
+ case 'THESIS':\r
+ result.durationRule = 'OWA_' + profileFirst;\r
+ break;\r
+ }\r
}\r
log_info("circ0814 - results: " + result.durationRule);\r
+\r
+function isValidPatron(patronProfile) {\r
+ var valid_patrons = ['Faculty', 'Graduate', 'Undergraduate', 'Staff members', 'Readers'];\r
+ for (var i = 0; i < valid_patrons.length; i++) {\r
+ if (valid_patrons[i] == patronProfile) {\r
+ return true;\r
+ }\r
+ }\r
+ return false;\r
+}
\ No newline at end of file
// circ duration rules for Windsor Law (OWAL)\r
\r
+/* we use a date based identifier to pick up values in the log */\r
+var currentTime = new Date();\r
+var debugStamp = "circ" + (currentTime.getMonth() + 1) + "" +\r
+ "" + currentTime.getDate() + "" + currentTime.getFullYear() +\r
+ ": ";\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
+ * 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
+/* if result.durationRule is not modified for a patron group, set default\r
+ * this value will be used for all circ overrides! */\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
+result.recurringFinesRule = 'OWAL_daily';\r
+result.maxFine = 'OWAL_normal';\r
\r
/* adjust rules by patron group and circ modifier */\r
\r
-if (patron.home_ou.shortname == "OWAL") { // define Law patron rules first\r
+log_info(debugStamp + 'patronProfile is ' + patronProfile + ' - modifier ' + copy.circ_modifier);\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
- break;\r
- case 'LAW NOCIRC':\r
- result.durationRule = '14_days_5_renew';\r
- result.recurringFinesRule = 'free';\r
- break;\r
- case 'LAW RES1D':\r
- result.durationRule = '3_days_5_renew';\r
- result.recurringFinesRule = 'free';\r
- break;\r
- case 'LAW RES3D':\r
- result.durationRule = '3_days_5_renew';\r
- result.recurringFinesRule = 'free';\r
- break;\r
- case 'LAW RES3H':\r
- result.durationRule = '3_days_5_renew';\r
- result.recurringFinesRule = 'free';\r
- break;\r
- case 'LAW RES5H':\r
- result.durationRule = '3_days_5_renew';\r
- result.recurringFinesRule = 'free';\r
- break;\r
- case 'LAW SERIAL':\r
- result.durationRule = '14_days_5_renew';\r
- result.recurringFinesRule = 'free';\r
- break;\r
- }\r
- break;\r
+if (isValidPatron(patronProfile)) {\r
+ var temp_array = patronProfile.split(" ");\r
+ var profileFirst = temp_array[0];\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
+ switch(copy.circ_modifier) {\r
+ case 'LAW MONO':\r
+ if (patronProfile == 'Readers' && patron.home_ou.shortname != 'OWAL') {\r
+ // do nothing\r
+ } else {\r
+ result.durationRule = 'OWAL_' + profileFirst;\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
+ case 'LAW NOCIRC':\r
+ // Faculty exception handled below\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
+ case 'LAW RES1D':\r
+ result.durationRule = 'OWAL_rsv_oneday';\r
+ result.recurringFinesRule = 'OWAL_hourly';\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
+ case 'LAW RES3D':\r
+ result.durationRule = 'OWAL_rsv_threeday';\r
+ result.recurringFinesRule = 'OWAL_hourly';\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
+ case 'LAW RES3H':\r
+ result.durationRule = 'OWAL_rsv_threehour';\r
+ result.recurringFinesRule = 'OWAL_hourly';\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
+ case 'LAW RES5H':\r
+ result.durationRule = 'OWAL_rsv_fivehour';\r
+ result.recurringFinesRule = 'OWAL_hourly';\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
+ case 'LAW SERIAL':\r
+ // Faculty exception handled below\r
break;\r
}\r
+\r
+ //exceptions for Law Faculty\r
+ if (patron.home_ou.shortname == "OWAL" && patronProfile == "Faculty") {\r
+ result.recurringFines.Rule = 'free';\r
+ if (copy.circ_modifier == 'LAW NOCIRC') {\r
+ result.durationRule = 'OWAL_faculty_nocirc';\r
+ } else if (copy.circ_modifier == 'LAW SERIAL') {\r
+ result.durationRule = 'OWAL_faculty_serials';\r
+ } else if (copy.circ_modifier.slice(0, 6) == 'LAW RES') {\r
+ result.durationRule = 'OWAL_rsv_threeday';\r
+ }\r
+ }\r
}\r
+log_info("circ0814 - results: " + result.durationRule);\r
+\r
+function isValidPatron(patronProfile) {\r
+ var valid_patrons = ['Faculty', 'Graduate', 'Undergraduate', 'Staff members', 'Readers'];\r
+ for (var i = 0; i < valid_patrons.length; i++) {\r
+ if (valid_patrons[i] == patronProfile) {\r
+ return true;\r
+ }\r
+ }\r
+ return false;\r
+}
\ No newline at end of file