From bada2e4c36f3e6ec163e5f53e4e4c9d1c9f0dd6f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fr=C3=A9d=C3=A9ric=20Demians?= Date: Fri, 13 May 2011 11:33:58 +0100 Subject: [PATCH] Bug 6321 Add a 1/4 months frequency Thanks Stefano Bargioni for the typo fix [2011.09.16] Thanks Paul for catching the display error. [2011.10.11] Thanks Katrin for finding display error on OPAC. Signed-off-by: Colin Campbell Signed-off-by: Katrin Fischer Tested prediction pattern and display in OPAC. No problems found. --- C4/Serials.pm | 11 ++++++++++- .../prog/en/modules/serials/subscription-add.tt | 5 +++++ .../prog/en/modules/serials/subscription-detail.tt | 2 +- .../opac-tmpl/prog/en/modules/opac-serial-issues.tt | 3 +++ 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/C4/Serials.pm b/C4/Serials.pm index 8aa6ebc68d..18e0ce4c05 100644 --- a/C4/Serials.pm +++ b/C4/Serials.pm @@ -2154,7 +2154,7 @@ sub abouttoexpire { @res=Date::Calc::Today; } my @endofsubscriptiondate=split(/-/,$expirationdate); - my @per_list = (0, 7, 7, 14, 21, 31, 62, 93, 93, 190, 365, 730, 0, 0, 0, 0); + my @per_list = (0, 7, 7, 14, 21, 31, 62, 93, 93, 190, 365, 730, 0, 124, 0, 0); my @datebeforeend; @datebeforeend = Add_Delta_Days( $endofsubscriptiondate[0],$endofsubscriptiondate[1],$endofsubscriptiondate[2], - (3 * $per_list[$per])) if (@endofsubscriptiondate && $endofsubscriptiondate[0]*$endofsubscriptiondate[1]*$endofsubscriptiondate[2]); @@ -2317,6 +2317,15 @@ sub GetNextDate(@) { } @resultdate = Add_Delta_YMD( $year, $month, $day, 0, 3, 0 ); } + if ( $subscription->{periodicity} == 13 ) { + for ( my $i = 0 ; $i < @irreg ; $i++ ) { + if ( $irreg[$i] == ( ( $tmpmonth != 8 ) ? ( $tmpmonth + 4 ) % 12 : 12 ) ) { + ( $year, $month, $day ) = Add_Delta_YMD( $year, $month, $day, 0, 4, 0 ); + $tmpmonth = ( ( $tmpmonth != 8 ) ? ( $tmpmonth + 4 ) % 12 : 12 ); + } + } + @resultdate = Add_Delta_YMD( $year, $month, $day, 0, 4, 0 ); + } if ( $subscription->{periodicity} == 9 ) { for ( my $i = 0 ; $i < @irreg ; $i++ ) { if ( $irreg[$i] == ( ( $tmpmonth != 9 ) ? ( $tmpmonth + 3 ) % 12 : 12 ) ) { diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt index 40e1ebee4c..b308896f0a 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt @@ -1223,6 +1223,11 @@ $(document).ready(function() { [% ELSE %] [% END %] + [% IF ( periodicity13 ) %] + + [% ELSE %] + + [% END %] [% IF ( periodicity9 ) %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt index 8663c94c03..ba44815ba9 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt @@ -140,7 +140,7 @@ $(document).ready(function() { 1/day [% END %] [% IF ( periodicity13 ) %] - 3/week + 1/4 months (3/year) [% END %] [% IF ( periodicity2 ) %] 1/week diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-serial-issues.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-serial-issues.tt index 5d45b53fdd..78bc22eb36 100644 --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-serial-issues.tt +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-serial-issues.tt @@ -42,6 +42,9 @@ [% IF ( subscription_LOO.periodicity7 ) %] 3 months [% END %] + [% IF ( subscription_LOO.periodicity13 ) %] + 4 months + [% END %] [% IF ( subscription_LOO.periodicity8 ) %] quarter [% END %] -- 2.39.5