Bug 8007: Discharge - Glue
authorYohann Dufour <dufour.yohann@gmail.com>
Mon, 4 Aug 2014 14:09:35 +0000 (16:09 +0200)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Thu, 30 Apr 2015 15:33:53 +0000 (12:33 -0300)
This patch adds:
- links to the new pages.
- syspref description
- links on the main page (intranet)
- the DISCHARGE type for debarment

Signed-off-by: Lucie <lucie.rousseaux@dracenie.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>

C4/Auth.pm
Koha/Borrower/Debarments.pm
koha-tmpl/intranet-tmpl/prog/en/includes/borrower_debarments.inc
koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc
koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.tt
koha-tmpl/intranet-tmpl/prog/en/includes/members-menu.inc
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/patrons.pref
koha-tmpl/intranet-tmpl/prog/en/modules/intranet-main.tt
koha-tmpl/opac-tmpl/bootstrap/en/includes/usermenu.inc
mainpage.pl

index 0e1b03f..4b02701 100644 (file)
@@ -421,6 +421,7 @@ sub get_template_and_user {
             EnableBorrowerFiles                                                        => C4::Context->preference('EnableBorrowerFiles'),
             UseKohaPlugins                                                             => C4::Context->preference('UseKohaPlugins'),
             UseCourseReserves                                                          => C4::Context->preference("UseCourseReserves"),
+            useDischarge                                                               => C4::Context->preference('useDischarge'),
         );
     }
     else {
@@ -532,6 +533,7 @@ sub get_template_and_user {
             OPACLocalCoverImages                  => C4::Context->preference("OPACLocalCoverImages"),
             PatronSelfRegistration                => C4::Context->preference("PatronSelfRegistration"),
             PatronSelfRegistrationDefaultCategory => C4::Context->preference("PatronSelfRegistrationDefaultCategory"),
+            useDischarge                 => C4::Context->preference('useDischarge'),
         );
 
         $template->param( OpacPublic => '1' ) if ( $user || C4::Context->preference("OpacPublic") );
index 2c91af2..9efdc42 100644 (file)
@@ -131,7 +131,7 @@ sub DelDebarment {
 my $success = ModDebarment({
     borrower_debarment_id => $borrower_debarment_id,
     expiration            => $expiration,
-    type                  => $type, ## enum('FINES','OVERDUES','MANUAL')
+    type                  => $type, ## enum('FINES','OVERDUES','MANUAL','DISCHARGE')
     comment               => $comment,
 });
 
index 8d6ac33..aea0889 100644 (file)
@@ -47,6 +47,8 @@
                                     Overdues
                                 [% CASE 'SUSPENSION' %]
                                     Suspension
+                                [% CASE 'DISCHARGE' %]
+                                    Discharge
                             [% END %]
                         </td>
                         <td>[% d.comment %]</td>
index 1bf8746..ee9818b 100644 (file)
@@ -91,6 +91,9 @@
     [% IF ( CAN_user_borrowers ) %]
         [% IF ( suggestionsview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/purchase-suggestions.pl?borrowernumber=[% borrowernumber %]">Purchase suggestions</a></li>
     [% END %]
+    [% IF CAN_user_borrowers && useDischarge %]
+        [% IF dischargeview %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/discharge.pl?borrowernumber=[% borrowernumber %]">Discharge</a></li>
+    [% END %]
 </ul></div>
 [% END %]
 
index 3a8c4a2..5c953a5 100644 (file)
@@ -92,6 +92,9 @@ in the global namespace %]
     [% IF ( CAN_user_borrowers ) %]
         [% IF (  suggestionsview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/purchase-suggestions.pl?borrowernumber=[% borrower.borrowernumber %]">Purchase<br/>suggestions</a></li>
     [% END %]
+    [% IF CAN_user_borrowers && useDischarge %]
+        [% IF dischargeview %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/discharge.pl?borrowernumber=[% borrowernumber %]">Discharge</a></li>
+    [% END %]
 </ul></div>
 [% END %]
 
index 9bd5285..e7e8772 100644 (file)
@@ -19,6 +19,9 @@
     [% IF EnableBorrowerFiles %]
         [% IF ( borrower_files ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/files.pl?borrowernumber=[% borrowernumber %]">Files</a></li>
     [% END %]
+    [% IF CAN_user_borrowers && useDischarge %]
+        [% IF dischargeview %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/members/discharge.pl?borrowernumber=[% borrowernumber %]">Discharge</a></li>
+    [% END %]
   </ul>
 </div>
 [% END %]
index 4784f27..30533b5 100644 (file)
@@ -132,6 +132,12 @@ Patrons:
          - pref: CardnumberLength
          - "characters long. The length can be a single number to specify an exact length, a range separated by a comma (i.e., 'Min,Max'), or a maximum with no minimum (i.e., ',Max')."
          - "If 'cardnumber' is included in the BorrowerMandatoryField list, the minimum length, if not specified here, defaults to one."
+     -
+         - pref: useDischarge
+           choices:
+               yes: Allows
+               no: "Don't allow"
+         - librarians to discharge borrowers and borrowers to request a discharge.
     "Norwegian patron database":
      -
          - pref: NorwegianPatronDBEnable
index c34ca85..8440526 100644 (file)
             [% IF ( ( CAN_user_tools_moderate_comments  && pendingcomments ) 
                     || ( CAN_user_tools_moderate_tags && pendingtags )
                     || ( CAN_user_borrowers && pending_borrower_modifications )
-                    || ( CAN_user_acquisition && pendingsuggestions ) ) %]
+                    || ( CAN_user_acquisition && pendingsuggestions )
+                    || ( CAN_user_borrowers && pending_discharge_requests )
+            ) %]
                 <div id="area-pending">
                     [% IF ( CAN_user_acquisition && pendingsuggestions ) %]
                     <div class="pending-info" id="suggestions_pending">
                     </div>
                     [% END %]
 
+                    [% IF CAN_user_borrowers && pending_discharge_requests %]
+                    <div class="pending-info" id="patron_discharges_pending">
+                        <a href="/cgi-bin/koha/members/discharges.pl">Discharge requests pending</a>:
+                        <span class="pending-number-link">[% pending_discharge_requests %]</span>
+                    </div>
+                    [% END %]
+
                 </div>
 
             [% END %]
index 182543b..2c896fa 100644 (file)
                 [% END %]
                 <a href="/cgi-bin/koha/opac-shelves.pl?display=privateshelves">your lists</a></li>
             [% END %]
+
+            [% IF Koha.Preference( 'useDischarge' ) == 1 %]
+                [% IF ( dischargeview ) %]
+                    <li class="active">
+                [% ELSE %]
+                    <li>
+                [% END %]
+                <a href="/cgi-bin/koha/opac-discharge.pl">ask for a discharge</a></li>
+            [% END %]
         </ul>
     </div>
 [% END %]
index 09450f6..1ccffad 100755 (executable)
@@ -29,6 +29,7 @@ use C4::Review qw/numberofreviews/;
 use C4::Suggestions qw/CountSuggestion/;
 use C4::Tags qw/get_count_by_tag_status/;
 use Koha::Borrower::Modifications;
+use Koha::Borrower::Discharge;
 
 my $query = new CGI;
 
@@ -65,12 +66,14 @@ my $pendingtags        = get_count_by_tag_status(0);
 my $pendingsuggestions = CountSuggestion("ASKED");
 my $pending_borrower_modifications =
   Koha::Borrower::Modifications->GetPendingModificationsCount( $branch );
+my $pending_discharge_requests = Koha::Borrower::Discharge::count({ pending => 1 });
 
 $template->param(
     pendingcomments                => $pendingcomments,
     pendingtags                    => $pendingtags,
     pendingsuggestions             => $pendingsuggestions,
     pending_borrower_modifications => $pending_borrower_modifications,
+    pending_discharge_requests     => $pending_discharge_requests,
 );
 
 #