now including all known circ modifiers
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 27 Jul 2006 17:19:33 +0000 (17:19 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 27 Jul 2006 17:19:33 +0000 (17:19 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@5122 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/javascript/backend/circ/circ_duration.js

index 4df442c..f027b97 100644 (file)
@@ -118,6 +118,343 @@ var MARC_ITEM_TYPE_MAP = {
 
 var CIRC_MOD_MAP = {
 
+       'Art'           : {
+               durationRule                    : '3_month_0_renew',
+               recurringFinesRule      : '10_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Atlas'         : {
+               durationRule                    : '7_days_2_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Audiobook' : {
+               durationRule                    : '14_days_2_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'AV-miscellaneous nonprint' : {
+               durationRule                    : '7_days_2_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Bestseller (high demand)'              : {
+               durationRule                    : '7_days_2_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Bestseller not high demand'    : {
+               durationRule                    : '7_days_2_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Bestseller-not holdable'               : {
+               durationRule                    : '7_days_2_renew',
+               recurringFinesLevel     : 'normal',
+               recurringFinesRule      : '50_cent_per_day',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Classroom' : {
+               durationRule                    : '28_days_2_renew',
+               recurringFinesLevel     : 'normal',
+               recurringFinesRule      : '10_cent_per_day',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Compact Disc'                          : {
+               durationRule                    : '7_days_2_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Computer Use' : {
+               durationRule                    : '1_hour_2_renew',
+               recurringFinesRule      : '10_cent_per_day', 
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Deposit [monetary]'            : {
+               durationRule                    : '14_days_2_renew',
+               recurringFinesRule      : '10_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'DVD'                                                   : {
+               durationRule                    : '7_days_2_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'DVD with long loan period'     : {
+               durationRule                    : '7_days_2_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'E-Book' : {
+               durationRule                    : '3_days_1_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Equipment' : { 
+               durationRule                    : '3_days_1_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Equipment with long loan period' : {
+       },
+
+       'Non-PINES GA loan (NILS-Item)' : {
+               durationRule                    : '28_days_0_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'ILL item' : {
+               durationRule                    : '28_days_0_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'PINES ILL loan (ILS-Item)' : {
+               durationRule                    : '28_days_0_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+
+       'Filmstrip'                                     : {
+               durationRule                    : '7_days_2_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Internet' : {
+       },
+
+       'Kit' : {
+               durationRule                    : '14_days_2_renew',
+               recurringFinesRule      : '10_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Laserdisc'                                     : {
+               durationRule                    : '7_days_2_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Libraryuse' : {
+       },
+
+       'Magazine-Circulating'  : {
+               durationRule                    : '7_days_2_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+
+       'Magazine-Non Circulating' : {
+       },
+
+       'Map' : {
+               durationRule                    : '3_days_1_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+
+       'Microform' : {
+       },
+
+       'Music' : {
+               durationRule                    : '14_days_2_renew',
+               recurringFinesRule      : '10_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'New AV material'                       : {
+               durationRule                    : '3_days_1_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'New Book'                                      : {
+               durationRule                    : '14_days_2_renew',
+               recurringFinesRule      : '10_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Outreach' : {
+               durationRule                    : '2_months_2_renew',
+               recurringFinesRule      : '10_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Pamphlet'                                      : {
+               durationRule                    : '14_days_2_renew',
+               recurringFinesRule      : '10_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Paperback' : {
+               durationRule                    : '14_days_2_renew',
+               recurringFinesRule      : '10_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Realia' : {
+               durationRule                    : '28_days_2_renew',
+               recurringFinesRule      : '10_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Record'                                                : {
+               durationRule                    : '7_days_2_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Reference' : {
+       },
+
+       'Reserve' : {
+       },
+
+       'Room' : {
+       },
+
+       'Roomsatell' : {
+       },
+
+       'Software' : {
+               durationRule                    : '7_days_2_renew',
+               recurringFinesRule      : '10_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Software with long loan period' : {
+               durationRule                    : '14_days_2_renew',
+               recurringFinesRule      : '10_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Staff' : {
+       },
+
+       'State Library book' : {
+               durationRule                    : '35_days_1_renew',
+               recurringFinesRule      : '10_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'State Library microform        ' : {
+               durationRule                    : '14_days_2_renew',
+               recurringFinesRule      : '10_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'State Library reference' : {
+               durationRule                    : '14_days_2_renew',
+               recurringFinesRule      : '10_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Talkingbook'                           : { 
+               durationRule                    : '7_days_2_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Toy'                                                   : {
+               durationRule                    : '7_days_2_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Video (high demand)'   : {
+               durationRule                    : '7_days_0_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Video (not high demand)' : {
+               durationRule                    : '7_days_0_renew',
+               recurringFinesRule      : '10_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Video - long loan period' : {
+               durationRule                    : '14_days_2_renew',
+               recurringFinesRule      : '10_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Video public performance'              : {
+               durationRule                    : '7_days_2_renew',
+               recurringFinesRule      : '50_cent_per_day',
+               recurringFinesLevel     : 'normal',
+               maxFine                                 : 'overdue_mid'
+       },
+
+       'Video - special parameters' : {
+       }
+}
+
+
+
+
+/*
+var CIRC_MOD_MAP = {
+
        'Atlas'         : {
                durationRule                    : '7_days_2_renew',
                recurringFinesRule      : '50_cent_per_day',
@@ -245,6 +582,7 @@ var CIRC_MOD_MAP = {
 
        }
 }
+*/
 
 
 
@@ -253,6 +591,18 @@ var CIRC_MOD_MAP = {
 result.durationLevel   = copy.loan_duration;
 
 
+/* treat pre-cat copies like vanilla books */
+if( isTrue(isPrecat) ) {
+       log_info("pre-cat copy getting duration defaults...");
+       result.durationRule                     = '14_days_2_renew';
+       result.recurringFinesRule       = '10_cent_per_day';
+       result.recurringFinesLevel      = 'normal';
+       result.maxFine                                  = 'overdue_mid';
+       return;
+}
+
+
+
 /* ----------------------------------------------------------------------------- 
        If a circ_modifier is defined on the copy and we have config info for the
        provided circ_modifier, use that config.  Otherwise fall back on the MARC