Bug 16463: Replace discharge link with error message if user has checked out items
authorAleisha Amohia <aleishaamohia@hotmail.com>
Wed, 30 Aug 2017 23:26:38 +0000 (23:26 +0000)
committerKatrin Fischer <katrin.fischer.83@web.de>
Sun, 29 Oct 2017 18:19:18 +0000 (19:19 +0100)
To test:
1) Ensure the useDischarge syspref is enabled
2) Check out an item to a borrower
3) Log in to the OPAC as this borrower
4) Click the 'ask for a discharge' link in the nav
5) Click the 'Ask for a discharge' link
6) Notice you cannot be discharged because you have checkouts
7) Apply the patch, click the 'ask for a discharge' link in the nav
8) Notice the link has been replaced with an appropriate error message
9) Attempt to force the discharge URL:
/cgi-bin/koha/opac-discharge?op=request
10) Notice the message and you cannot be discharged.
11) Confirm that when you check in your item, the discharge link shows
again and works as expected.

Sponsored-by: Catalyst IT
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 89528af3b089b2d17e3e7b212ea5608478f0ca84)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
(cherry picked from commit 4ea7a76d2666405ba66a085f4ff1a550c8d7ae6e)
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-discharge.tt
opac/opac-discharge.pl

index 3053bf7..5cc5c4c 100644 (file)
                         <h2>What is a discharge?</h2>
                         <p>This document certifies that you have returned all borrowed items. It is sometimes asked during a file transfer from a school to another. The discharge is sent by us to your school. You will also find it available on your reader account.</p>
                         <p><strong>Warning</strong>: This request is only valid if you are in good standing with the library. Once the application is made, you can not borrow library materials.</p>
-                        <a href="/cgi-bin/koha/opac-discharge.pl?op=request">Ask for a discharge</a>
+                        [% IF has_checkouts %]
+                            <div class="dialog alert">You cannot be discharged, you have checked out items. Please return items before asking for a discharge.</div>
+                        [% ELSE %]
+                            <a href="/cgi-bin/koha/opac-discharge.pl?op=request">Ask for a discharge</a>
+                        [% END %]
+
                     [% END %]
                 </div> <!-- / #discharge -->
             </div> <!-- / .span10 -->
index 3b75166..f38c400 100755 (executable)
@@ -47,6 +47,11 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user({
     debug         => 1,
 });
 
+my $can_be_discharged = Koha::Patron::Discharge::can_be_discharged({ borrowernumber => $loggedinuser });
+if ($can_be_discharged == 0) {
+    $template->param( has_checkouts => 1 );
+}
+
 if ( $op eq 'request' ) {
     my $success = Koha::Patron::Discharge::request({
         borrowernumber => $loggedinuser,