[Koha-patches] [PATCH] Bug 8694 - Show accurate subscription renewal warning for expired subscriptions

Owen Leonard oleonard at myacpl.org
Tue Aug 28 17:03:46 CEST 2012


This patch adds a check of the subscription end date when
displaying the "about to expire" message, substituting a
"already expired" warning in its place if the expiration
date is in the past.

To test, view a subscription which is about to expire
and a subscription which has already expired. You should
see two different versions of the message.
---
 .../prog/en/modules/serials/subscription-detail.tt |    8 +++++++-
 serials/subscription-detail.pl                     |    7 ++++++-
 2 files changed, 13 insertions(+), 2 deletions(-)

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 1afd0c1..d67a246 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
@@ -56,7 +56,13 @@ $(document).ready(function() {
 	[% INCLUDE 'serials-toolbar.inc' %]
 
     <h1>Subscription for [% bibliotitle %] </h1>
-    [% IF ( abouttoexpire ) %]<div class="dialog message">Subscription will expire [% enddate %]. <a href="#" id="renewsub">Renew this subscription</a>.</div>[% END %]
+    [% IF ( abouttoexpire ) %]
+        [% IF ( expired ) %]
+        <div class="dialog alert">Subscription expired on [% enddate %]. <a href="#" id="renewsub">Renew this subscription</a>.</div>
+        [% ELSE %]
+        <div class="dialog message">Subscription will expire [% enddate %]. <a href="#" id="renewsub">Renew this subscription</a>.</div>
+        [% END %]
+    [% END %]
     [% IF ( NEEDSCONFIRMATION ) %]
     <div id="circ_needsconfirmation" class="dialog alert">
 			<h3>Please Confirm Subscription deletion</h3>
diff --git a/serials/subscription-detail.pl b/serials/subscription-detail.pl
index ae85c51..9dfcc1e 100755
--- a/serials/subscription-detail.pl
+++ b/serials/subscription-detail.pl
@@ -25,7 +25,7 @@ use C4::Serials;
 use C4::Output;
 use C4::Context;
 use C4::Search qw/enabled_staff_search_views/;
-use Date::Calc qw/Today Day_of_Year Week_of_Year Add_Delta_Days/;
+use Date::Calc qw/Today Day_of_Year Week_of_Year Add_Delta_Days Delta_Days/;
 use Carp;
 
 my $query = new CGI;
@@ -99,10 +99,15 @@ my $hasRouting = check_routing($subscriptionid);
     = checkauth($query, 0, {catalogue => 1}, "intranet");
 
 # COMMENT hdl : IMHO, we should think about passing more and more data hash to template->param rather than duplicating code a new coding Guideline ?
+my $today = C4::Dates->today("iso");
+my $expirationdiff = Delta_Days(split(/-/,"$subs->{enddate}"),split (/-/,$today)) ;
+
+if($expirationdiff >= 0){ $subs->{expired} = 1; }
 
 for my $date qw(startdate enddate firstacquidate histstartdate histenddate){
     $$subs{$date}      = format_date($$subs{$date}) if $date && $$subs{$date};
 }
+
 $subs->{location} = GetKohaAuthorisedValueLib("LOC",$subs->{location});
 $subs->{abouttoexpire}  = abouttoexpire($subs->{subscriptionid});
 $template->param(%{ $subs });
-- 
1.7.9.5



More information about the Koha-patches mailing list