Bug 6321 Add a 1/4 months frequency
authorFrédéric Demians <f.demians@tamil.fr>
Fri, 13 May 2011 10:33:58 +0000 (11:33 +0100)
committerPaul Poulain <paul.poulain@biblibre.com>
Thu, 17 Nov 2011 15:56:28 +0000 (16:56 +0100)
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 <colin.campbell@ptfs-europe.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested prediction pattern and display in OPAC.
No problems found.

C4/Serials.pm
koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt
koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-serial-issues.tt

index 8aa6ebc..18e0ce4 100644 (file)
@@ -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 ) ) {
index 40e1ebe..b308896 100644 (file)
@@ -1223,6 +1223,11 @@ $(document).ready(function() {
                 [% ELSE %]
                     <option value="8">1/quarter (seasonal)</option>
                 [% END %]
+                [% IF ( periodicity13 ) %]
+                    <option value="13" selected="selected">1/4 months (3/year)</option>
+                [% ELSE %]
+                    <option value="13">1/4 months (3/year)</option>
+                [% END %]
 
                 [% IF ( periodicity9 ) %]
                     <option value="9" selected="selected">2/years</option>
index 8663c94..ba44815 100644 (file)
@@ -140,7 +140,7 @@ $(document).ready(function() {
                         1/day
                 [% END %]
                 [% IF ( periodicity13 ) %]
-                        3/week
+                        1/4 months (3/year)
                 [% END %]
                 [% IF ( periodicity2 ) %]
                         1/week
index 5d45b53..78bc22e 100644 (file)
@@ -42,6 +42,9 @@
                [% IF ( subscription_LOO.periodicity7 ) %]
                                3 months
                [% END %]
+               [% IF ( subscription_LOO.periodicity13 ) %]
+                               4 months
+               [% END %]
                [% IF ( subscription_LOO.periodicity8 ) %]
                                quarter
                [% END %]