Notify the user on his account page when his account is almost expired
New feature : If the "NotifyBorrowerDeparture" system preference is defined, a notification appears in the user's account page if his subscription is almost expired. http://bugs.koha-community.org/show_bug.cgi?id=6978 Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Paul Poulain <paul.poulain@biblibre.com> works perfectly with date formatted DD/MM/YYYY as well
This commit is contained in:
parent
0ea8ff7c4c
commit
e676e117fc
2 changed files with 27 additions and 0 deletions
|
@ -79,6 +79,12 @@ $.tablesorter.addParser({
|
||||||
|
|
||||||
[% IF ( patronupdate ) %]<div class="dialog message"><h3>Thank you!</h3><p>Your corrections have been submitted to the library, and a staff member will update your record as soon as possible.</p></div>[% END %]
|
[% IF ( patronupdate ) %]<div class="dialog message"><h3>Thank you!</h3><p>Your corrections have been submitted to the library, and a staff member will update your record as soon as possible.</p></div>[% END %]
|
||||||
|
|
||||||
|
[% IF ( BORROWER_INF.warndeparture ) %]
|
||||||
|
<div class="dialog alert">
|
||||||
|
<strong>Please note:</strong><span> Your card will expire on [% BORROWER_INF.warndeparture %]. Please contact the library if you wish to renew your subscription.</span>
|
||||||
|
[% IF ( BORROWER_INF.returnbeforeexpiry ) %]<span> Also note that you must return all checked out items before your card expires.</span>[% END %]
|
||||||
|
</div>
|
||||||
|
[% END %]
|
||||||
|
|
||||||
[% IF ( BORROWER_INF.flagged ) %]
|
[% IF ( BORROWER_INF.flagged ) %]
|
||||||
<div class="dialog alert">
|
<div class="dialog alert">
|
||||||
|
|
|
@ -38,6 +38,12 @@ use C4::Branch; # GetBranches
|
||||||
|
|
||||||
use constant ATTRIBUTE_SHOW_BARCODE => 'SHOW_BCODE';
|
use constant ATTRIBUTE_SHOW_BARCODE => 'SHOW_BCODE';
|
||||||
|
|
||||||
|
use Date::Calc qw(
|
||||||
|
Today
|
||||||
|
Add_Delta_Days
|
||||||
|
Date_to_Days
|
||||||
|
);
|
||||||
|
|
||||||
my $query = new CGI;
|
my $query = new CGI;
|
||||||
|
|
||||||
BEGIN {
|
BEGIN {
|
||||||
|
@ -64,6 +70,9 @@ my $patronupdate = $query->param('patronupdate');
|
||||||
# get borrower information ....
|
# get borrower information ....
|
||||||
my ( $borr ) = GetMemberDetails( $borrowernumber );
|
my ( $borr ) = GetMemberDetails( $borrowernumber );
|
||||||
|
|
||||||
|
my ( $today_year, $today_month, $today_day) = Today();
|
||||||
|
my ($warning_year, $warning_month, $warning_day) = split /-/, $borr->{'dateexpiry'};
|
||||||
|
|
||||||
for (qw(dateenrolled dateexpiry dateofbirth)) {
|
for (qw(dateenrolled dateexpiry dateofbirth)) {
|
||||||
($borr->{$_}) and $borr->{$_} = format_date($borr->{$_});
|
($borr->{$_}) and $borr->{$_} = format_date($borr->{$_});
|
||||||
}
|
}
|
||||||
|
@ -99,6 +108,18 @@ $borr->{'amountoutstanding'} = sprintf "%.02f", $borr->{'amountoutstanding'};
|
||||||
my @bordat;
|
my @bordat;
|
||||||
$bordat[0] = $borr;
|
$bordat[0] = $borr;
|
||||||
|
|
||||||
|
# Warningdate is the date that the warning starts appearing
|
||||||
|
if ( C4::Context->preference('NotifyBorrowerDeparture') &&
|
||||||
|
Date_to_Days(Add_Delta_Days($warning_year,$warning_month,$warning_day,- C4::Context->preference('NotifyBorrowerDeparture'))) <
|
||||||
|
Date_to_Days( $today_year, $today_month, $today_day ) )
|
||||||
|
{
|
||||||
|
# borrower card soon to expire, warn the borrower
|
||||||
|
$borr->{'warndeparture'} = $borr->{dateexpiry};
|
||||||
|
if (C4::Context->preference('ReturnBeforeExpiry')){
|
||||||
|
$borr->{'returnbeforeexpiry'} = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$template->param( BORROWER_INFO => \@bordat,
|
$template->param( BORROWER_INFO => \@bordat,
|
||||||
borrowernumber => $borrowernumber,
|
borrowernumber => $borrowernumber,
|
||||||
patron_flagged => $borr->{flagged},
|
patron_flagged => $borr->{flagged},
|
||||||
|
|
Loading…
Reference in a new issue