FFZG discharge -- allow librarians to request discharge for patrons 2020-04-16.production
authorDobrica Pavlinusic <dpavlin@rot13.org>
Wed, 2 Sep 2020 08:59:22 +0000 (10:59 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Wed, 2 Sep 2020 08:59:22 +0000 (10:59 +0200)
koha-tmpl/intranet-tmpl/prog/en/modules/members/discharge.tt
members/discharge.pl

index b832fdf..206ca8f 100644 (file)
         <p>Patron has holds. They will be cancelled if the discharge is generated.</p>
     [% END %]
     <form method="post">
+        [% IF pending %]
+        <p>Patron has pending discharge request.</p>
+        [% ELSIF is_discharged %]
+        <p>Patron is discharged.</p>
+        [% ELSIF can_be_discharged %]
+        <p><input type="submit" value="Request new discharge" name="request" /></p>
+        [% END %]
         <input type="submit" value="Generate discharge" name="discharge" />
         <input type="hidden" value="[% patron.borrowernumber | html %]" name="borrowernumber" />
     </form>
index db74cfc..cd63a75 100755 (executable)
@@ -66,8 +66,32 @@ my $can_be_discharged = Koha::Patron::Discharge::can_be_discharged({
     borrowernumber => $borrowernumber
 });
 
+my $is_discharged = Koha::Patron::Discharge::is_discharged({borrowernumber => $loggedinuser});
+
+my $pending = Koha::Patron::Discharge::count({
+    borrowernumber => $borrowernumber,
+    pending        => 1,
+});
+
+$template->param( can_be_discharged => $can_be_discharged );
+$template->param( is_discharged => $is_discharged );
+$template->param( pending => $pending );
+
+warn "XXX pending = $pending can_be_discharged = $can_be_discharged";
+
+if ( ! $pending and $can_be_discharged and $input->param('request') ) {
+    my $success = Koha::Patron::Discharge::request({
+        borrowernumber => $borrowernumber,
+    });
+    if ( $success ) {
+               warn "XXX new discharge request for $borrowernumber added";
+               $template->param( pending => 1 );
+    }
+}
+
 # Generating discharge if needed
 if ( $input->param('discharge') and $can_be_discharged ) {
+
     my $is_discharged = Koha::Patron::Discharge::is_discharged({
         borrowernumber => $borrowernumber,
     });