Bug 7951 - Suspending holds needs a system preference
authorKyle M Hall <kyle@bywatersolutions.com>
Fri, 13 Apr 2012 15:12:29 +0000 (11:12 -0400)
committerPaul Poulain <paul.poulain@biblibre.com>
Sat, 9 Jun 2012 16:45:57 +0000 (18:45 +0200)
Adds system preferences SuspendHoldsIntranet and SuspendHoldsOpac.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
circ/circulation.pl
installer/data/mysql/sysprefs.sql
installer/data/mysql/updatedatabase.pl
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref
koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt
koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt
koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-user.tt
members/moremember.pl
opac/opac-user.pl
reserve/request.pl

index b6d8941..fc22271 100755 (executable)
@@ -710,7 +710,9 @@ $template->param(
     soundon           => C4::Context->preference("SoundOn"),
     fast_cataloging   => $fast_cataloging,
     CircAutoPrintQuickSlip   => C4::Context->preference("CircAutoPrintQuickSlip"),
-       activeBorrowerRelationship => (C4::Context->preference('borrowerRelationship') ne ''),
+    activeBorrowerRelationship => (C4::Context->preference('borrowerRelationship') ne ''),
+    SuspendHoldsIntranet => C4::Context->preference('SuspendHoldsIntranet'),
+    AutoResumeSuspendedHolds => C4::Context->preference('AutoResumeSuspendedHolds'),
 );
 
 # save stickyduedate to session
@@ -735,6 +737,4 @@ $template->param(
     canned_bor_notes_loop     => $canned_notes,
 );
 
-$template->param( AutoResumeSuspendedHolds => C4::Context->preference('AutoResumeSuspendedHolds') );
-
 output_html_with_http_headers $query, $cookie, $template->output;
index 79f192f..241348a 100644 (file)
@@ -366,3 +366,5 @@ INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('SvcMaxReportRows','10','Maximum number of rows to return via the report web service.',NULL,'Integer');
 INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES ('ReservesControlBranch','PatronLibrary','ItemHomeLibrary|PatronLibrary','Branch checked for members reservations rights','Choice');
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('IssueLostItem', 'alert', 'alert|confirm|nothing', 'Defines what should be done when an attempt is made to issue an item that has been marked as lost.', 'Choice');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('SuspendHoldsIntranet', '1', NULL , 'Allow holds to be suspended from the intranet.', 'YesNo');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('SuspendHoldsOpac', '1', NULL , 'Allow holds to be suspended from the OPAC.', 'YesNo');
index 4ffac53..9cd4b14 100755 (executable)
@@ -5328,6 +5328,14 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
     SetVersion($DBversion);
 }
 
+$DBversion = "3.09.00.012";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('SuspendHoldsIntranet', '1', NULL , 'Allow holds to be suspended from the intranet.', 'YesNo')");
+    $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('SuspendHoldsOpac', '1', NULL , 'Allow holds to be suspended from the OPAC.', 'YesNo')");
+    print "Upgrade to $DBversion done (Add system preference OpacBrowseResults ))\n";
+    SetVersion($DBversion);
+}
+
 =head1 FUNCTIONS
 
 =head2 TableExists($table)
index 00974a6..d2d11b4 100644 (file)
@@ -358,6 +358,18 @@ Circulation:
                   yes: Allow
                   no: "Don't allow"
             - suspended holds to be automatically resumed by a set date.
+        -
+            - pref: SuspendHoldsIntranet
+              choices:
+                  yes: Allow
+                  no: "Don't allow"
+            - holds to be suspended from the intranet.
+        -
+            - pref: SuspendHoldsOpac
+              choices:
+                  yes: Allow
+                  no: "Don't allow"
+            - holds to be suspended from the OPAC.
     Fines Policy:
         -
             - Calculate fines based on days overdue
index aaa0464..6877737 100644 (file)
@@ -994,6 +994,7 @@ No patron matched <span class="ex">[% message %]</span>
             <fieldset class="action"><input type="submit" class="cancel" name="submit" value="Cancel marked holds" /></fieldset>
     </form>
 
+    [% IF SuspendHoldsIntranet %]
     <fieldset class="action">
         <form action="/cgi-bin/koha/reserve/modrequest_suspendall.pl" method="post">
             <input type="hidden" name="from" value="circ" />
@@ -1045,8 +1046,9 @@ No patron matched <span class="ex">[% message %]</span>
             <input type="submit" value="Resume all suspended holds" />
        </form>
     </fieldset>
+    [% END # IF SuspendHoldsIntranet %]
 
-       [% ELSE %]
+[% ELSE %]
        <p>Patron has nothing on hold.</p>
 [% END %]
 </div> <!-- reservesloop -->
index 1e756df..9ff94ae 100644 (file)
@@ -646,6 +646,8 @@ function validate1(date) {
 
         <fieldset class="action"><input type="submit" class="cancel" name="submit" value="Cancel marked holds" /></fieldset>
     </form>
+
+    [% IF SuspendHoldsIntranet %]
     <fieldset class="action">
         <form action="/cgi-bin/koha/reserve/modrequest_suspendall.pl" method="post">
             <input type="hidden" name="from" value="borrower" />
@@ -697,6 +699,7 @@ function validate1(date) {
             <input type="submit" value="Resume all suspended holds" />
        </form>
     </fieldset>
+    [% END # IF SuspendHoldsIntranet %]
 
     [% ELSE %]<p>Patron has nothing on hold.</p>[% END %]
        </div>
index 5e734ee..8e8470b 100644 (file)
@@ -598,7 +598,7 @@ function checkMultiHold() {
             <th><img src="/intranet-tmpl/[% theme %]/img/go-bottom.png" border="0" alt="Toggle set to lowest priority" /></th>
         [% END %]
        <th>&nbsp;</th>
-       <th>&nbsp;</th>
+    [% IF SuspendHoldsIntranet %]<th>&nbsp;</th><!-- Suspend Holds Column Header -->[% END %]
       </tr>
   [% FOREACH reserveloo IN biblioloo.reserveloop %]
   [% UNLESS ( loop.odd ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
@@ -730,6 +730,7 @@ function checkMultiHold() {
                 </a>
        </td>
 
+        [% IF SuspendHoldsIntranet %]
        <td>
        [% UNLESS ( reserveloo.wait ) %]
             <input type="button" value="[% IF ( reserveloo.suspend ) %]Unsuspend[% ELSE %]Suspend[% END %]" onclick="window.location.href='request.pl?action=toggleSuspend&amp;borrowernumber=[% reserveloo.borrowernumber %]&amp;biblionumber=[% reserveloo.biblionumber %]&amp;date=[% reserveloo.date %]&amp;suspend_until=' + $('#suspend_until_[% reserveloo.borrowernumber %]').val()" />
@@ -768,6 +769,8 @@ function checkMultiHold() {
                <input type="hidden" name="suspend_until" value="" />
        [% END %]
        </td>
+        [% END # IF SuspendHoldsIntranet %]
+
       </tr>
 
   [% END %] <!-- existing reserveloop -->
index 2b88c7a..6de2a81 100644 (file)
@@ -420,6 +420,7 @@ $.tablesorter.addParser({
                        </tbody>
         </table>
 
+        [% IF SuspendHoldsOpac %]
        <div>
             <form action="/cgi-bin/koha/opac-modrequest-suspend.pl" method="post">
               <input type="submit" name="submit" class="icon delete cancel" value="Suspend all holds" onclick="return confirmDelete('Are you sure you want to suspend all holds?');" />
@@ -471,6 +472,7 @@ $.tablesorter.addParser({
               <input type="hidden" name="suspend" value="0" />
             </form>
        </div>
+        [% END %]
     </div>
     [% END %]
     </div><!-- /opac-user views -->
index cc9afb9..ef8cf64 100755 (executable)
@@ -430,7 +430,9 @@ $template->param(
     samebranch     => $samebranch,
     quickslip            => $quickslip,
     activeBorrowerRelationship => (C4::Context->preference('borrowerRelationship') ne ''),
-    AutoResumeSuspendedHolds => C4::Context->preference('AutoResumeSuspendedHolds') );
+    AutoResumeSuspendedHolds => C4::Context->preference('AutoResumeSuspendedHolds'),
+    SuspendHoldsIntranet => C4::Context->preference('SuspendHoldsIntranet'),
+);
 
 output_html_with_http_headers $input, $cookie, $template->output;
 
index 9d0491d..4dbc432 100755 (executable)
@@ -365,7 +365,10 @@ $template->param(
 );
 
 $template->param( DHTMLcalendar_dateformat  => C4::Dates->DHTMLcalendar() );
-$template->param( AutoResumeSuspendedHolds => C4::Context->preference('AutoResumeSuspendedHolds') );
+$template->param(
+    SuspendHoldsOpac => C4::Context->preference('SuspendHoldsOpac'),
+    AutoResumeSuspendedHolds => C4::Context->preference('AutoResumeSuspendedHolds') ,
+);
 
 output_html_with_http_headers $query, $cookie, $template->output;
 
index d9e5904..e7191a9 100755 (executable)
@@ -633,7 +633,10 @@ if ( C4::Context->preference( 'AllowHoldDateInFuture' ) ) {
     $template->param( reserve_in_future => 1 );
 }
 
-$template->param( AutoResumeSuspendedHolds => C4::Context->preference('AutoResumeSuspendedHolds') );
+$template->param(
+    SuspendHoldsIntranet => C4::Context->preference('SuspendHoldsIntranet'),
+    AutoResumeSuspendedHolds => C4::Context->preference('AutoResumeSuspendedHolds'),
+);
 
 # printout the page
 output_html_with_http_headers $input, $cookie, $template->output;