From: erickson Date: Mon, 7 Aug 2006 14:02:02 +0000 (+0000) Subject: relying on copy fine_level and loan_duration - not retrieving from script X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=5174a20e517cc4ddba79fc814c55d6a86fa90799;p=evergreen%2Fpines.git relying on copy fine_level and loan_duration - not retrieving from script git-svn-id: svn://svn.open-ils.org/ILS/trunk@5326 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/javascript/backend/circ/circ_duration.js b/Open-ILS/src/javascript/backend/circ/circ_duration.js index 5277956900..fa1d8a5956 100644 --- a/Open-ILS/src/javascript/backend/circ/circ_duration.js +++ b/Open-ILS/src/javascript/backend/circ/circ_duration.js @@ -19,98 +19,84 @@ var MARC_ITEM_TYPE_MAP = { a : { /* Language material [Books] */ durationRule : '14_days_2_renew', recurringFinesRule : '10_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, t : { /* Manuscript language material [Books] */ durationRule : '14_days_2_renew', recurringFinesRule : '10_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, g : { /* Projected medium [Videos, etc.] */ durationRule : '7_days_0_renew', recurringFinesRule : '10_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, k : { /* Two-dimensional nonprojectable graphic [Card, charts, etc.] */ durationRule : '14_days_2_renew', recurringFinesRule : '10_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, r : { /* Three-dimensional artifact or naturally occurring object [Models, games, etc.] */ durationRule : '14_days_2_renew', recurringFinesRule : '10_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, o : { /* Kit [Mixture of item types] */ durationRule : '14_days_2_renew', recurringFinesRule : '10_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, p : { /* Mixed materials [Mixture of item types] */ durationRule : '14_days_2_renew', recurringFinesRule : '10_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, e : { /* Cartographic material [Map] */ durationRule : '3_days_1_renew', recurringFinesRule : '50_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, f : { /* Manuscript cartographic material [Map] */ durationRule : '3_days_1_renew', recurringFinesRule : '50_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, c : { /* Notated music [Printed music] */ durationRule : '14_days_2_renew', recurringFinesRule : '10_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, d : { /* Manuscript notated music [Printed music] */ durationRule : '14_days_2_renew', recurringFinesRule : '10_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, i : { /* Nonmusical sound recording [Audiobooks, sound effects, etc.] */ durationRule : '14_days_2_renew', recurringFinesRule : '10_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, j : { /* Musical sound recording [Music] */ durationRule : '14_days_2_renew', recurringFinesRule : '10_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, m : { /* Computer file */ durationRule : '7_days_2_renew', recurringFinesRule : '10_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' } } @@ -121,55 +107,47 @@ 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' }, @@ -177,49 +155,42 @@ var CIRC_MOD_MAP = { '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' }, @@ -229,21 +200,18 @@ var CIRC_MOD_MAP = { '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' }, @@ -251,7 +219,6 @@ var CIRC_MOD_MAP = { 'Filmstrip' : { durationRule : '7_days_2_renew', recurringFinesRule : '50_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, @@ -261,14 +228,12 @@ var CIRC_MOD_MAP = { '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' }, @@ -278,7 +243,6 @@ var CIRC_MOD_MAP = { 'Magazine-Circulating' : { durationRule : '7_days_2_renew', recurringFinesRule : '50_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, @@ -289,7 +253,6 @@ var CIRC_MOD_MAP = { 'Map' : { durationRule : '3_days_1_renew', recurringFinesRule : '50_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, @@ -300,56 +263,48 @@ var CIRC_MOD_MAP = { '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' }, @@ -368,14 +323,12 @@ var CIRC_MOD_MAP = { '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' }, @@ -385,63 +338,54 @@ var CIRC_MOD_MAP = { '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' }, @@ -458,27 +402,23 @@ var CIRC_MOD_MAP = { 'Atlas' : { 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' }, @@ -486,98 +426,84 @@ var CIRC_MOD_MAP = { 'Compact Disc' : { durationRule : '7_days_2_renew', recurringFinesRule : '50_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' }, 'Filmstrip' : { durationRule : '7_days_2_renew', recurringFinesRule : '50_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, 'Laserdisc' : { durationRule : '7_days_2_renew', recurringFinesRule : '50_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, 'Magazine-Circulating' : { durationRule : '7_days_2_renew', recurringFinesRule : '50_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, 'New AV material' : { durationRule : '7_days_2_renew', recurringFinesRule : '50_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, 'New Book' : { durationRule : '7_days_2_renew', recurringFinesRule : '50_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, 'Pamphlet' : { durationRule : '7_days_2_renew', recurringFinesRule : '50_cent_per_day', - recurringFinesLevel : 'normal', maxFine : 'overdue_mid' }, 'Record' : { durationRule : '7_days_2_renew', recurringFinesRule : '50_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_2_renew', recurringFinesRule : '50_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' } @@ -585,24 +511,16 @@ var CIRC_MOD_MAP = { */ - - -/* Get the load duration level directly from the copy */ -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 @@ -638,17 +556,14 @@ if( config ) { log_debug("circ_duration found a config for the copy"); result.durationRule = config.durationRule; result.recurringFinesRule = config.recurringFinesRule; - result.recurringFinesLevel = config.recurringFinesLevel; result.maxFine = config.maxFine; - log_debug(config.durationRule + ' : ' + config.recurringFinesRule + ' : ' + - config.recurringFinesLevel + ' : ' + config.maxFine ); + log_debug(config.durationRule + ' : ' + config.recurringFinesRule + ' : ' + config.maxFine ); } else { result.durationRule = '14_days_2_renew'; result.recurringFinesRule = "10_cent_per_day"; - result.recurringFinesLevel = 'normal'; result.maxFine = "overdue_mid"; } @@ -665,7 +580,6 @@ if( isOrgDescendent('STATELIB', copy.circ_lib.id) ) { result.durationRule = '35_days_1_renew'; result.recurringFinesRule = "10_cent_per_day"; - result.recurringFinesLevel = 'normal'; result.maxFine = "overdue_mid"; /* reference, microfiche, microfilm */ diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm index c554629bb2..162fecb6d2 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm @@ -880,10 +880,10 @@ sub run_checkout_scripts { throw OpenSRF::EX::ERROR ("Circ Duration Script Died: $@"); my $duration = $result->{durationRule}; - my $dur_level = $result->{durationLevel}; + #my $dur_level = $result->{durationLevel}; my $recurring = $result->{recurringFinesRule}; my $max_fine = $result->{maxFine}; - my $rec_fines_level = $result->{recurringFinesLevel}; + #my $rec_fines_level = $result->{recurringFinesLevel}; ($duration, $evt) = $U->fetch_circ_duration_by_name($duration); return $self->bail_on_events($evt) if $evt; @@ -892,8 +892,8 @@ sub run_checkout_scripts { ($max_fine, $evt) = $U->fetch_max_fine_by_name($max_fine); return $self->bail_on_events($evt) if $evt; - $self->duration_level($dur_level); - $self->recurring_fines_level($rec_fines_level); + #$self->duration_level($dur_level); + #$self->recurring_fines_level($rec_fines_level); $self->duration_rule($duration); $self->recurring_fines_rule($recurring); $self->max_fine_rule($max_fine); @@ -909,23 +909,33 @@ sub build_checkout_circ_object { my $recurring = $self->recurring_fines_rule; my $copy = $self->copy; my $patron = $self->patron; - my $dur_level = $self->duration_level; - my $rec_level = $self->recurring_fines_level; + #my $dur_level = $self->duration_level; + #my $rec_level = $self->recurring_fines_level; my $dname = $duration->name; my $mname = $max->name; my $rname = $recurring->name; - $logger->debug("circulator: building circulation with duration=$dname, ". - "maxfine=$mname, recurring=$rname, duration-level=$dur_level, recurring-level=$rec_level"); - - $circ->duration( $duration->shrt ) if ($dur_level == OILS_CIRC_DURATION_SHORT); - $circ->duration( $duration->normal ) if ($dur_level == OILS_CIRC_DURATION_NORMAL); - $circ->duration( $duration->extended ) if ($dur_level == OILS_CIRC_DURATION_EXTENDED); - - $circ->recuring_fine( $recurring->low ) if ($rec_level eq OILS_REC_FINE_LEVEL_LOW); - $circ->recuring_fine( $recurring->normal ) if ($rec_level eq OILS_REC_FINE_LEVEL_NORMAL); - $circ->recuring_fine( $recurring->high ) if ($rec_level eq OILS_REC_FINE_LEVEL_HIGH); + $logger->debug("circulator: building circulation ". + "with duration=$dname, maxfine=$mname, recurring=$rname"); + + #$circ->duration( $duration->shrt ) if ($dur_level == OILS_CIRC_DURATION_SHORT); + #$circ->duration( $duration->normal ) if ($dur_level == OILS_CIRC_DURATION_NORMAL); + #$circ->duration( $duration->extended ) if ($dur_level == OILS_CIRC_DURATION_EXTENDED); + + $circ->duration( $duration->shrt ) + if $copy->loan_duration == OILS_CIRC_DURATION_SHORT; + $circ->duration( $duration->normal ) + if $copy->loan_duration == OILS_CIRC_DURATION_NORMAL; + $circ->duration( $duration->extended ) + if $copy->loan_duration ==OILS_CIRC_DURATION_EXTENDED; + + $circ->recuring_fine( $recurring->low ) + if $copy->fine_level == OILS_REC_FINE_LEVEL_LOW; + $circ->recuring_fine( $recurring->normal ) + if $copy->fine_level == OILS_REC_FINE_LEVEL_NORMAL; + $circ->recuring_fine( $recurring->high ) + if $copy->fine_level == OILS_REC_FINE_LEVEL_HIGH; $circ->duration_rule( $duration->name ); $circ->recuring_fine_rule( $recurring->name );