);
use List::MoreUtils qw/uniq/;
-
#
# PARAMETERS READING
#
$branch = C4::Context->userenv->{'branch'};
$printer = C4::Context->userenv->{'branchprinter'};
-
# If AutoLocation is not activated, we show the Circulation Parameters to chage settings of librarian
if (C4::Context->preference("AutoLocation") != 1) {
$template->param(ManualLocation => 1);
my $duedatespec = $query->param('duedatespec') || $session->param('stickyduedate');
$duedatespec = eval { output_pref( { dt => dt_from_string( $duedatespec ), dateformat => 'iso' }); }
if ( $duedatespec );
-
+my $restoreduedatespec = $query->param('restoreduedatespec') || $session->param('stickyduedate') || $duedatespec;
+if ($restoreduedatespec eq "highholds_empty") {
+ undef $restoreduedatespec;
+}
my $issueconfirmed = $query->param('issueconfirmed');
my $cancelreserve = $query->param('cancelreserve');
my $print = $query->param('print') || q{};
$template->param(%$borrower);
+# Restore date if changed by holds and/or save stickyduedate to session
+if ($restoreduedatespec || $stickyduedate) {
+ $duedatespec = $restoreduedatespec || $duedatespec;
+
+ if ($stickyduedate) {
+ $session->param( 'stickyduedate', $duedatespec );
+ }
+} elsif (defined($duedatespec) && !defined($restoreduedatespec)) {
+ undef $duedatespec;
+}
+
$template->param(
lib_messages_loop => $lib_messages_loop,
bor_messages_loop => $bor_messages_loop,
barcodes => $barcodes,
stickyduedate => $stickyduedate,
duedatespec => $duedatespec,
+ restoreduedatespec => $restoreduedatespec,
message => $message,
totaldue => sprintf('%.2f', $total),
inprocess => $inprocess,
relatives_borrowernumbers => \@relatives,
);
-# save stickyduedate to session
-if ($stickyduedate) {
- $session->param( 'stickyduedate', $duedatespec );
-}
-
my ($picture, $dberror) = GetPatronImage($borrower->{'borrowernumber'});
$template->param( picture => 1 ) if $picture;
[% IF HIGHHOLDS %]
<script language="JavaScript" type="text/javascript">
$(document).ready(function() {
- $("input[name=duedatespec]:hidden").val('[% HIGHHOLDS.returndate %]');
+ $("input[name=duedatespec]:hidden").val('[% HIGHHOLDS.returndate %]');
+ if ('[% duedatespec %]' === '') {
+ $("input[name=restoreduedatespec]:hidden").val('highholds_empty');
+ } else {
+ $("input[name=restoreduedatespec]:hidden").val('[% duedatespec %]');
+ }
});
</script>
[% END %]
[% IF CAN_user_circulate_force_checkout or HIGHHOLDS %]
<form method="post" action="/cgi-bin/koha/circ/circulation.pl" autocomplete="off">
+ <input type="hidden" name="restoreduedatespec" />
[% IF (forceallow) %]<input type="hidden" name="forceallow" value="1">[% END %]
[% IF ( RESERVED ) %]
<form method="get" action="/cgi-bin/koha/circ/circulation.pl">
+ <input type="hidden" name="restoreduedatespec" />
<input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
<input type="hidden" name="duedatespec" value="[% duedatespec %]" />
<input type="hidden" name="stickyduedate" value="[% stickyduedate %]" />
[% IF ( RESERVE_WAITING ) %]
<form method="get" action="/cgi-bin/koha/circ/circulation.pl">
+ <input type="hidden" name="restoreduedatespec" />
<input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
<input type="hidden" name="duedatespec" value="[% duedatespec %]" />
<input type="hidden" name="stickyduedate" value="[% stickyduedate %]" />
[% IF (forceallow) %]<input type="hidden" name="forceallow" value="1">[% END %]
<input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
<input type="hidden" name="duedatespec" value="[% duedatespec %]" />
+ <input type="hidden" name="restoreduedatespec" />
<input type="hidden" name="stickyduedate" value="[% stickyduedate %]" />
[% IF CAN_user_circulate_force_checkout or HIGHHOLDS %]
[% IF ( RENEW_ISSUE ) %]
<br />
<form method="post" action="/cgi-bin/koha/circ/circulation.pl" autocomplete="off">
[% IF (forceallow) %]<input type="hidden" name="forceallow" value="1">[% END %]
+ <input type="hidden" name="restoreduedatespec" />
<input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
<input type="hidden" name="duedatespec" value="[% duedatespec %]" />
<input type="hidden" name="stickyduedate" value="[% stickyduedate %]" />
</h4>
[% END %]
-
[% IF ( borrowers ) %]
[% INCLUDE 'patron-toolbar.inc' %]
<form method="post" action="/cgi-bin/koha/circ/circulation.pl" id="mainform" name="mainform" autocomplete="off">
+ <input type="hidden" name="restoreduedatespec" />
<fieldset id="circ_circulation_selectborrower" class="brief">
<legend>Patron selection</legend>
[% END %]
-
<form method="post" action="/cgi-bin/koha/circ/circulation.pl" id="mainform" name="mainform" autocomplete="off">
+ <input type="hidden" name="restoreduedatespec" />
[% IF ( issue ) %]
<fieldset id="circ_circulation_issue" class="lastchecked">
[% ELSE %]
</li>
[% END %]
-
-
</ul>
</div>
<!-- /If flagged -->[% END %]
-
</div>
</div>
</div></div>
[% END %]
-
-
</div>
</div>
[% UNLESS ( borrowers ) %][% IF ( borrowernumber ) %]<div class="yui-b">