Bug 16112: Add the ability to define due date for batch renew

Same as bug 16748, for batch renew.

Test plan:
Check an item in
Renew it using the circ/renew.pl page
=> You can pick a due date!
=> The date is kept from one renew to another
Renew it until you reach the maximum number of renewals
=> You get a warning with "continue without renewing"
=> The date is still kept

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Jonathan Druart 2020-08-04 16:55:56 +02:00
parent 34cefcd46b
commit 9189dd4f71
2 changed files with 25 additions and 0 deletions

View file

@ -48,6 +48,7 @@ $barcode =~ s/^\s*|\s*$//g; # remove leading/trailing whitespae
$barcode = barcodedecode($barcode) if( $barcode && C4::Context->preference('itemBarcodeInputFilter'));
my $override_limit = $cgi->param('override_limit');
my $override_holds = $cgi->param('override_holds');
my $hard_due_date = $cgi->param('hard_due_date');
my ( $item, $issue, $borrower );
my $error = q{};
@ -99,6 +100,9 @@ if ($barcode) {
if ( $cgi->param('renewonholdduedate') ) {
$date_due = dt_from_string( scalar $cgi->param('renewonholdduedate'));
}
if ( C4::Context->preference('SpecifyDueDate') && $hard_due_date ) {
$date_due = dt_from_string( $hard_due_date );
}
$date_due = AddRenewal( undef, $item->itemnumber(), $branchcode, $date_due );
$template->param( date_due => $date_due );
}
@ -125,6 +129,7 @@ if ($barcode) {
);
}
$template->param( hard_due_date => ($hard_due_date ? output_pref({ str => $hard_due_date, dateformat => 'iso' }) : undef) );
# Checking if there is a Fast Cataloging Framework
$template->param( fast_cataloging => 1 ) if Koha::BiblioFrameworks->find( 'FA' );

View file

@ -144,6 +144,7 @@
[% END %]
<form method="get" action="/cgi-bin/koha/circ/renew.pl">
<input type="hidden" name="hard_due_date" value="[% hard_due_date | html %]" />
<button type="submit" class="deny"><i class="fa fa-times"></i> Continue without renewing</button>
</form>
</div>
@ -168,6 +169,12 @@
<fieldset>
<legend>Renew</legend>
[% IF Koha.Preference('SpecifyDueDate') %]
<label for="hard_due_date">Hard due date [% INCLUDE 'date-format.inc' %]:</label>
<input type="text" size="20" id="hard_due_date" name="hard_due_date" value="[% hard_due_date | $KohaDates with_hours => 1 %]" />
<br/>
[% END %]
<label for="barcode">Enter item barcode: </label>
<input name="barcode" id="barcode" size="14" class="focus" type="text" />
@ -215,6 +222,19 @@
}).on('change', function(e) {
if ( ! is_valid_date( $(this).val() ) ) {$(this).val('');}
});
[% IF Koha.Preference('SpecifyDueDate') %]
$("#hard_due_date").datetimepicker({
onClose: function(dateText, inst) {
validate_date(dateText, inst);
},
hour: 23,
minute: 59
}).on("change", function(e, value) {
if ( ! is_valid_date( $(this).val() ) ) {$(this).val("");}
});
[% END %]
});
</script>
[% END %]