Bug 12568 - Improve visibility of successful renewal via opac
authorKyle M Hall <kyle@bywatersolutions.com>
Mon, 14 Jul 2014 12:34:40 +0000 (08:34 -0400)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Thu, 31 Jul 2014 14:52:01 +0000 (11:52 -0300)
Currently, when a patron renews an item via the opac, the only feedback
the patron receives when a renewal is successful is an updated value for
the due date of the item. This subtle indication of success may go
unnoticed by some patrons. We should add a more prominent way to
indicate an item was renewed successfully.

Test Plan:
1) Apply this patch
2) From the OPAC, renew some items
3) Note the "Renewed!" message in the "Renew" column of the checkouts table

Signed-off-by: Cathi Wiggins <cwiggins@ci.arcadia.ca.us>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes tests and QA script.
Makes successful renewals more visible to the user in the OPAC.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt
opac/opac-renew.pl
opac/opac-user.pl

index ec3de30..7b7f023 100644 (file)
                                                 </td>
                                                 [% IF ( OpacRenewalAllowed && !( borrower.is_expired && borrower.BlockExpiredPatronOpacActions ) ) %]
                                                     <td class="renew">
+                                                    [% IF ISSUE.renewed %]<span class="alert">Renewed!</span>[% END %]
                                                     [% IF ( ISSUE.status ) %]
                                                         [% IF ( canrenew ) %]
                                                             <input type="checkbox" name="item" value="[% ISSUE.itemnumber %]"/> <a href="/cgi-bin/koha/opac-renew.pl?from=opac_user&amp;item=[% ISSUE.itemnumber %]&amp;borrowernumber=[% ISSUE.borrowernumber %]">Renew</a>
index 34b7527..7b59f47 100755 (executable)
@@ -43,11 +43,13 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
         debug           => 1,
        }
 ); 
-my @items          = $query->param('item');
+my @items = $query->param('item');
 
 my $opacrenew = C4::Context->preference("OpacRenewalAllowed");
 
-my $errorstring='';
+my $errorstring = q{};
+my $renewed     = q{};
+
 my $member_details = GetMemberDetails($borrowernumber);
 
 if (   $member_details->{'BlockExpiredPatronOpacActions'}
@@ -56,6 +58,7 @@ if (   $member_details->{'BlockExpiredPatronOpacActions'}
     $errorstring = 'card_expired';
 }
 else {
+    my @renewed;
     for my $itemnumber (@items) {
         my ( $status, $error ) =
           CanBookBeRenewed( $borrowernumber, $itemnumber );
@@ -81,12 +84,14 @@ else {
                 $branchcode = 'OPACRenew';
             }
             AddRenewal( $borrowernumber, $itemnumber, $branchcode );
+            push( @renewed, $itemnumber );
         }
         else {
             $errorstring .= $error . "|";
         }
     }
+    $renewed = join( '|', @renewed );
 }
 
-print $query->redirect("/cgi-bin/koha/opac-user.pl?renew_error=$errorstring");
+print $query->redirect("/cgi-bin/koha/opac-user.pl?renew_error=$errorstring&renewed=$renewed");
 
index 3284b3a..fdf4054 100755 (executable)
@@ -64,6 +64,8 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
     }
 );
 
+my %renewed = map { $_ => 1 } split( '|', $query->param('renewed') );
+
 my $show_priority;
 for ( C4::Context->preference("OPACShowHoldQueueDetails") ) {
     m/priority/ and $show_priority = 1;
@@ -189,6 +191,8 @@ if ($issues){
             $issue->{'status'} = $status;
         }
 
+        $issue->{'renewed'} = $renewed{ $issue->{'itemnumber'} };
+
         if ($renewerror) {
             $issue->{'too_many'}   = 1 if $renewerror eq 'too_many';
             $issue->{'on_reserve'} = 1 if $renewerror eq 'on_reserve';