Bug 14577 - Allow restriction of checkouts based on fines of guarantor's guarantees
[srvgit] / koha-tmpl / intranet-tmpl / prog / en / modules / circ / circulation.tt
index 19ba9fa..bfedf5c 100644 (file)
@@ -10,7 +10,7 @@
 [% INCLUDE 'doc-head-open.inc' %]
 [% SET destination = "circ" %]
 <title>Koha &rsaquo; Circulation
-[% IF borrowernumber %]
+[% IF borrowernumber and borrower%]
   &rsaquo; Checking out to [% INCLUDE 'patron-title.inc' invert_name = 1 %]
 [% END %]
 </title>
@@ -37,7 +37,8 @@ var theme = "[% theme %]";
 var borrowernumber = "[% borrowernumber %]";
 var branchcode = "[% branch %]";
 var exports_enabled = "[% exports_enabled %]";
-var AllowRenewalLimitOverride = [% (CAN_user_circulate_override_renewals && AllowRenewalLimitOverride)? 1: 0 %];
+var AllowRenewalLimitOverride = [% (CAN_user_circulate_override_renewals && Koha.Preference('AllowRenewalLimitOverride') )? 1: 0 %];
+var AllowCirculate = [% (CAN_user_circulate_circulate_remaining_permissions)? 1 : 0 %];
 var script = "circulation";
 var relatives_borrowernumbers = new Array();
 [% FOREACH b IN relatives_borrowernumbers %]
@@ -46,10 +47,11 @@ var relatives_borrowernumbers = new Array();
 
 var MSG_ADD_MESSAGE = _("Add a new message");
 var MSG_EXPORT_SELECT_CHECKOUTS = _("You must select checkout(s) to export");
+var MSG_CONFIRM_DELETE_MESSAGE = _("Are you sure you want to delete this message? This cannot be undone.");
 
 columns_settings = [% ColumnsSettings.GetColumns( 'circ', 'circulation', 'issues-table', 'json' ) %]
 
-[% IF ( borrowernumber ) %]
+[% IF borrowernumber and borrower %]
     if($.cookie("holdfor") != [% borrowernumber %]){
         $.removeCookie("holdfor", { path: '/' });
     }
@@ -88,6 +90,10 @@ $(document).ready(function() {
         }
     });
 
+    $(".clickable").click(function() {
+        window.document.location = $(this).data('url');
+    });
+
     [% IF !( CircAutoPrintQuickSlip == 'clear' ) %]
         // listen submit to trigger qslip on empty checkout
         $('#mainform').bind('submit',function() {
@@ -128,7 +134,7 @@ $(document).ready(function() {
 [% INCLUDE 'circ-search.inc' %]
 
 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a> &rsaquo;
-[% IF ( borrowernumber ) %]
+[% IF borrowernumber and borrower %]
     <a href="/cgi-bin/koha/circ/circulation.pl">Checkouts</a> &rsaquo; [% INCLUDE 'patron-title.inc' %]
 [% ELSE %]
     <strong>Checkouts</strong>
@@ -148,7 +154,7 @@ $(document).ready(function() {
        <div class="yui-b">
 [% END %]
 
-[% IF ( borrowernumber ) %]
+[% IF borrowernumber and borrower %]
 [% INCLUDE 'members-toolbar.inc' %]
 [% END %]
 
@@ -161,8 +167,8 @@ $(document).ready(function() {
     <li>
             <label for="message_type">Add a message for:</label>
           <select name="message_type" id="message_type">
-            <option value="L">Other librarians</option>
-            <option value="B">[% firstname %]</option>
+            <option value="L">Staff - Internal note</option>
+            <option value="B">OPAC - [% firstname %] [% surname %]</option>
         </select>
     </li>
     [% IF ( canned_bor_notes_loop ) %]
@@ -203,7 +209,7 @@ $(document).ready(function() {
 [% END %]
 
 [% IF ( alert.OTHER_CHARGES ) %]
-    <div class="dialog message">The patron has unpaid charges for reserves, rentals etc of [% alert.OTHER_CHARGES %]</div>
+    <div class="dialog message">The patron has unpaid charges for holds, rentals etc of [% alert.OTHER_CHARGES %]</div>
 [% END %]
 
 [% IF ( NEEDSCONFIRMATION ) %]
@@ -228,6 +234,11 @@ $(document).ready(function() {
 [% IF ( DEBT ) %]
     <li>The patron has a debt of [% DEBT %].</li>
 [% END %]
+
+[% IF ( DEBT_GUARANTEES ) %]
+    <li>The patron's guarantees collectively have a debt of [% DEBT_GUARANTEES %].</li>
+[% END %]
+
 [% IF ( RENTALCHARGE && RENTALCHARGE > 0 ) %]
     <li>Rental charge for this item: [% RENTALCHARGE %]</li>
 [% END %]
@@ -261,7 +272,7 @@ $(document).ready(function() {
 [% END %]
 
 [% IF ( BORRNOTSAMEBRANCH ) %]
-    <li>This patrons is from a different library ([% BORRNOTSAMEBRANCH %])</li>
+    <li>This patron is from a different library ([% BORRNOTSAMEBRANCH %])</li>
 [% END %]
 
 [% IF ( PATRON_CANT ) %]
@@ -362,9 +373,9 @@ $(document).ready(function() {
     <input type="hidden" name="stickyduedate" value="[% stickyduedate %]" />
     <input type="hidden" name="branch" value="[% branch %]" />
     [% IF ( RENEW_ISSUE ) %]
-    <input type="submit" class="approve" value="Yes, renew (Y)" accesskey="y" />
+    <button type="submit" class="approve" accesskey="y"><i class="fa fa-check"></i> Yes, renew (Y)</button>
     [% ELSE %]
-    <input type="submit" class="approve" value="Yes, check out (Y)" accesskey="y" />
+    <button type="submit" class="approve" accesskey="y"><i class="fa fa-check"></i> Yes, check out (Y)</button>
     [% END %]
     <input type="hidden" name="onsite_checkout" value="[% onsite_checkout %]" />
 </form>
@@ -376,7 +387,7 @@ $(document).ready(function() {
     <input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
     <input type="hidden" name="duedatespec" value="[% duedatespec %]" />
     <input type="hidden" name="stickyduedate" value="[% stickyduedate %]" />
-    <input class="print" type="submit" onclick="Dopop('hold-transfer-slip.pl?borrowernumber=[% reserveborrowernumber %]&amp;biblionumber=[% itembiblionumber %]&amp;op=slip');this.form.submit();" value="Don't check out and print slip (P)">
+    <button class="print" type="submit" onclick="Dopop('hold-transfer-slip.pl?borrowernumber=[% reserveborrowernumber %]&amp;biblionumber=[% itembiblionumber %]&amp;op=slip');this.form.submit();"><i class="fa fa-print"></i> Don't check out and print slip (P)</button>
 </form>
 [% END %]
 
@@ -386,7 +397,7 @@ $(document).ready(function() {
     <input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
     <input type="hidden" name="duedatespec" value="[% duedatespec %]" />
     <input type="hidden" name="stickyduedate" value="[% stickyduedate %]" />
-    <input class="print" type="submit" onclick="Dopop('hold-transfer-slip.pl?borrowernumber=[% reserveborrowernumber %]&amp;biblionumber=[% itembiblionumber %]&amp;op=slip');this.form.submit();" value="Don't check out and print slip (P)">
+    <button class="print" type="submit" onclick="Dopop('hold-transfer-slip.pl?borrowernumber=[% reserveborrowernumber %]&amp;biblionumber=[% itembiblionumber %]&amp;op=slip');this.form.submit();"><i class="fa fa-print"></i> Don't check out and print slip (P)</button>
 </form>
 [% END %]
 
@@ -398,15 +409,20 @@ $(document).ready(function() {
     <input type="hidden" name="stickyduedate" value="[% stickyduedate %]" />
     [% IF CAN_user_circulate_force_checkout or HIGHHOLDS %]
         [% IF ( RENEW_ISSUE ) %]
-        <input type="submit" class="deny" value="No, don't renew (N)" accesskey="n" />
+        <button type="submit" class="deny" accesskey="n"><i class="fa fa-times"></i> No, don't renew (N)</button>
         [% ELSE %]
-        <input type="submit" class="deny" value="No, don't check out (N)" accesskey="n" />
+        <button type="submit" class="deny" accesskey="n"><i class="fa fa-times"></i> No, don't check out (N)</button>
         [% END %]
     [% ELSE %]
-        <input type="submit" class="deny" value="Continue" />
+        <button type="submit" class="deny"><i class="fa fa-times"></i> Continue</button>
     [% END %]
 </form>
 
+[% IF ( RESERVED || ISSUED_TO_ANOTHER ) && (CAN_user_reserveforothers_place_holds ) %]
+    [% UNLESS noissues %]
+        <button type="submit" onclick="window.location.href='/cgi-bin/koha/reserve/request.pl?biblionumber=[% itembiblionumber %]&borrowernumber=[% borrowernumber %]'"><i class="fa fa-times-circle"></i> Cancel checkout and place a hold for [% INCLUDE 'patron-title.inc' %]</button>
+    [% END %]
+[% END %]
 </div></div>
 [% END %] <!-- NEEDSCONFIRMATION -->
 
@@ -445,7 +461,7 @@ $(document).ready(function() {
                         <input type="hidden" name="stickyduedate" value="[% stickyduedate %]" />
                         <input type="hidden" name="branch" value="[% branch %]" />
                         <input type="hidden" name="barcode" value="[% book.barcode %]" />
-                        <input type="submit" name="x" value="Check out [% book.barcode %]: [% book.title %]" />
+                        <button type="submit" name="x"><i class="fa fa-check"></i> Check out [% book.barcode %]: [% book.title %]</button>
                     </form>
                 [% END %]
             [% ELSE %]
@@ -562,10 +578,9 @@ No patron matched <span class="ex">[% message %]</span>
     <input type="hidden" name="duedatespec" value="[% duedatespec %]" />
     <input type="hidden" name="stickyduedate" value="[% stickyduedate %]" />
 
-    <table id="table_borrowers">
+    <table id="table_borrowers" class="table_borrowers">
         <thead>
             <tr>
-                <th></th>
                 <th>Name</th>
                 <th>Cardnumber</th>
                 <th>Category</th>
@@ -575,8 +590,7 @@ No patron matched <span class="ex">[% message %]</span>
         </thead>
         <tbody>
             [% FOREACH borrower IN borrowers %]
-            <tr>
-                <td><input type="radio" name="borrowernumber" value="[% borrower.borrowernumber %]" /></td>
+            <tr class="clickable" data-url="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% borrower.borrowernumber %]">
                 <td>[% borrower.surname %], [% borrower.firstname %]</td>
                 <td>[% borrower.cardnumber %]</td>
                 <td>[% borrower.categorycode %]</td>
@@ -586,14 +600,13 @@ No patron matched <span class="ex">[% message %]</span>
             [% END %]
         </tbody>
     </table>
-    <fieldset class="action"><input type="submit" value="Select" /></fieldset>
 </fieldset>
 </form>
 [% ELSE %]
 
 <!-- BARCODE ENTRY -->
 
-[% IF ( borrowernumber ) %]
+[% IF borrowernumber and borrower %]
 <div class="yui-g">
 
 [% IF privacy == 2 AND NOT Koha.Preference('AnonymousPatron') %]
@@ -601,12 +614,7 @@ No patron matched <span class="ex">[% message %]</span>
 [% END %]
 
 [% IF ( !noissues ) || ( Koha.Preference('OnSiteCheckouts') && Koha.Preference('OnSiteCheckoutsForce') )%]
-[% IF ( flagged ) %]
 <div class="yui-u first">
-[% ELSE %]
-<div>
-
-[% END %]
 
 <form method="post" action="/cgi-bin/koha/circ/circulation.pl" id="mainform" name="mainform" autocomplete="off">
     <input type="hidden" name="restoreduedatespec" />
@@ -632,14 +640,17 @@ No patron matched <span class="ex">[% message %]</span>
     [% END %]
     <button type="submit" class="btn">Check out</button>
 
-    <div class="date-select">
-        [% IF NEEDSCONFIRMATION %]
-            <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" />
-        [% ELSE %]
-            <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" />
-        [% END %]
-        <label for="auto_renew">Automatic renewal</label>
-    </div>
+    [% UNLESS noissues %]
+        <div class="date-select">
+            [% IF NEEDSCONFIRMATION %]
+                <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" />
+            [% ELSE %]
+                <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" />
+            [% END %]
+
+            <label for="auto_renew">Automatic renewal</label>
+        </div>
+    [% END %]
 
     [% UNLESS ( noissues && Koha.Preference('OnSiteCheckoutsForce') ) %]
         [% IF ( SpecifyDueDate ) %]
@@ -704,7 +715,6 @@ No patron matched <span class="ex">[% message %]</span>
     <div class="yui-u">
 [% END %]
 
-    [% IF flagged %]
         [% IF ( noissues ) %]
             [% IF ( Koha.Preference('OnSiteCheckouts') && Koha.Preference('OnSiteCheckoutsForce') ) %]
                 <div id="circmessages" class="circmessage attention">
@@ -725,6 +735,14 @@ No patron matched <span class="ex">[% message %]</span>
 
                <ul>
 
+                   [% IF ( modifications ) %]
+                    <li><span class="circ-hlt">Pending modifications:</span> Patron has pending modifications.
+                            [% IF CAN_user_borrowers && ( !Koha.Preference('IndependentBranchesPatronModifications') || borrower.branch == branch ) %]
+                                    <a href="/cgi-bin/koha/members/members-update.pl">View all pending patron modifications</a>
+                            [% END %]
+                   </li>
+                  [% END %]
+
                        [% IF ( warndeparture ) %]
                        <li><span class="circ-hlt">Expiration:</span> Patron's card will expire soon.
             Patron's card expires on [% expiry | $KohaDates %] <a href="/cgi-bin/koha/members/setstatus.pl?borrowernumber=[% borrowernumber %]&amp;destination=circ&amp;reregistration=y">Renew</a> or <a href="/cgi-bin/koha/members/memberentry.pl?op=modify&amp;destination=circ&amp;borrowernumber=[% borrowernumber %]&amp;categorycode=[% categorycode %]">Edit Details</a>
@@ -775,29 +793,40 @@ No patron matched <span class="ex">[% message %]</span>
                </li>
             [% END %]
 
-               [% IF ( odues ) %]<li>[% IF ( nonreturns ) %]<span class="circ-hlt">Overdues:</span> Patron has <span class="circ-hlt">ITEMS OVERDUE</span>. See highlighted items <a href="#checkouts">below</a>[% END %]</li>
+                [% IF ( odues ) %]<li>[% IF ( nonreturns ) %]<span class="circ-hlt">Overdues: Patron has ITEMS OVERDUE</span>. See highlighted items <a href="#checkouts">below</a>[% END %]</li>
             [% END %]
 
-               [% IF ( charges ) %]
-                           <li>
-            <span class="circ-hlt">Fees &amp; Charges:</span> Patron has  <a href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% borrowernumber %]">Outstanding fees &amp; charges[% IF ( chargesamount ) %] of [% chargesamount %][% END %]</a>.
-                [% IF ( charges_is_blocker ) %]
-                    Checkouts are <span class="circ-hlt">BLOCKED</span> because fine balance is <span class="circ-hlt">OVER THE LIMIT</span>.
-                [% END %]
-            <a href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% borrowernumber %]">Make payment</a> or
-            <a href="/cgi-bin/koha/members/paycollect.pl?borrowernumber=[% borrowernumber %]">Pay all fines</a></li>
-                       [% END %]
+            [% IF ( charges ) %]
+                <li>
+                    <span class="circ-hlt">Fees &amp; Charges:</span> Patron has  <a href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% borrowernumber %]">Outstanding fees &amp; charges[% IF ( chargesamount ) %] of [% chargesamount %][% END %]</a>.
+                        [% IF ( charges_is_blocker ) %]
+                            <span class="circ-hlt">Checkouts are BLOCKED because fine balance is OVER THE LIMIT.</span>
+                        [% END %]
+                    <a href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% borrowernumber %]">Make payment</a> or
+                    <a href="/cgi-bin/koha/members/paycollect.pl?borrowernumber=[% borrowernumber %]">Pay all fines</a>
+                </li>
+            [% END %]
+
+            [% IF ( charges_guarantees ) %]
+                <li>
+                    <span class="circ-hlt">Fees &amp; Charges:</span> Patron's guarantees collectively owe [% chargesamount_guarantees %].
+                        [% IF ( charges_guarantees_is_blocker ) %]
+                            <span class="circ-hlt">Checkouts are BLOCKED because fine balance is OVER THE LIMIT.</span>
+                        [% END %]
+                </li>
+            [% END %]
 
-               [% IF ( credits ) %]
-                       <li>
-                <span class="circ-hlt">Credits:</span> Patron has a credit[% IF ( creditsamount ) %] of [% creditsamount %][% END %]
-            </li>
-                       [% END %]
+
+            [% IF ( credits ) %]
+                <li>
+                    <span class="circ-hlt">Credits:</span> Patron has a credit[% IF ( creditsamount ) %] of [% creditsamount %][% END %]
+                </li>
+            [% END %]
 
                        </ul>
         </div>
 
-            [% IF ( WaitingHolds ) %]
+            [% IF WaitingHolds.count %]
                 <div id="holdswaiting" class="circmessage">
                     <h4>Holds waiting:</h4>
                     [% FOREACH w IN WaitingHolds %]
@@ -829,38 +858,30 @@ No patron matched <span class="ex">[% message %]</span>
 
     <!-- /If notes -->[% END %]
 
-       <div id="messages" class="circmessage">
-               <h4>Messages:</h4>
-               <ul>
-                       [% FOREACH lib_messages_loo IN lib_messages_loop %]
-                               <li>
-                                       <span class="circ-hlt">
-                                               [% lib_messages_loo.message_date_formatted %]
-                                               [% lib_messages_loo.branchcode %]
-                                               <i>"[% lib_messages_loo.message %]"</i>
-                                       </span>
-                                       [% IF ( lib_messages_loo.can_delete ) %]
-                                               <a href="/cgi-bin/koha/circ/del_message.pl?message_id=[% lib_messages_loo.message_id %]&amp;borrowernumber=[% lib_messages_loo.borrowernumber %]">[Delete]</a>
-                                       [% ELSE %]
-                                               [% IF ( all_messages_del ) %]
-                                                       <a href="/cgi-bin/koha/circ/del_message.pl?message_id=[% lib_messages_loo.message_id %]&amp;borrowernumber=[% lib_messages_loo.borrowernumber %]">[Delete]</a>
-                                               [% END %]
-                                       [% END %]
-                               </li>
-                       [% END %]
-                       [% FOREACH bor_messages_loo IN bor_messages_loop %]
-                               <li><span class="">[% bor_messages_loo.message_date_formatted %] [% bor_messages_loo.branchcode %] <i>"[% bor_messages_loo.message %]"</i></span> [% IF ( bor_messages_loo.can_delete ) %]<a href="/cgi-bin/koha/circ/del_message.pl?message_id=[% bor_messages_loo.message_id %]&amp;borrowernumber=[% bor_messages_loo.borrowernumber %]">[Delete]</a>
-                [% ELSIF ( all_messages_del ) %]
-                    <a href="/cgi-bin/koha/circ/del_message.pl?message_id=[% bor_messages_loo.message_id %]&amp;borrowernumber=[% bor_messages_loo.borrowernumber %]">[Delete]</a>
+    <div id="messages" class="circmessage">
+        <h4>Messages:</h4>
+        <ul>
+            [% FOREACH message IN librarian_messages %]
+                <li>
+                    <span class="circ-hlt">
+                        [% message.message_date | $KohaDates %]
+                        [% Branches.GetName( message.branchcode ) %]
+                        <i>"[% message.message %]"</i>
+                    </span>
+                    [% IF message.branchcode == branch OR Koha.Preference('AllowAllMessageDeletion') %]
+                        <a href="/cgi-bin/koha/circ/del_message.pl?message_id=[% message.message_id %]&amp;borrowernumber=[% message.borrowernumber %]" onclick="return confirm(MSG_CONFIRM_DELETE_MESSAGE);">[Delete]</a>
+                    [% END %]
+                </li>
+            [% END %]
+            [% FOREACH message IN patron_messages %]
+                <li><span class="">[% message.message_date | $KohaDates %] [% Branches.GetName( message.branchcode )%] <i>"[% message.message %]"</i></span>
+                [% IF message.branchcode == branch OR Koha.Preference('AllowAllMessageDeletion') %]
+                    <a href="/cgi-bin/koha/circ/del_message.pl?message_id=[% message.message_id %]&amp;borrowernumber=[% message.borrowernumber %]">[Delete]</a>
                 [% END %]</li>
-                       [% END %]
-
-               </ul>
-       </div>  
-       
-     <!-- /If flagged -->[% END %]
+            [% END %]
+        </ul>
+    </div>
 
-       
 </div>
 </div>
 
@@ -933,6 +954,7 @@ No patron matched <span class="ex">[% message %]</span>
                     <th>Expiration</th>
                     <th>Priority</th>
                     <th>Delete?</th>
+                    <th>Suspend?</th>
                 </tr>
             </thead>
         </table>
@@ -972,13 +994,15 @@ No patron matched <span class="ex">[% message %]</span>
 [% END %]
 </div> <!-- reservesloop -->
 
-[% END %] <!-- borrowernumber -->
+[% ELSIF borrowernumber %]
+    <div class="dialog message">This patron does not exist. <a href="/cgi-bin/koha/members/members-home.pl">Find another patron?</a></div>
+[% END %] <!-- borrowernumber and borrower-->
 </div></div>
 [% END %]
 
 </div>
 </div>
-[% UNLESS ( borrowers ) %][% IF ( borrowernumber ) %]<div class="yui-b">
+[% UNLESS ( borrowers ) %][% IF borrowernumber and borrower %]<div class="yui-b">
 [% INCLUDE 'circ-menu.inc' %]
 </div>[% END %][% END %]
 </div>