@@ -, +, @@
- Go to the Patron Details page for a patron who has an item on loan that would fulfil an outstanding loan request.
- TEST: Observe that it is NOT possible to select this item
- Enable the "AllowRenewalOnHoldOverride" syspref
- Return to the Patron Details page for a patron who has an item on loan that would fulfil an outstanding loan request.
- TEST: Observe that it IS possible to select this item
- Select the item
- TEST: Observe that an additional "On hold due date" input box is displayed
- De-select the item
- TEST: Observe that an additional "On hold due date" input box is hidden
- Select the item
- In the "On hold due date" input box, select a due date for the item
- Click "Renew or check in selected items"
- TEST: Observe that the item is renewed as usual
- In the "Renewal due date" input box, select a due date
- Remove the contents of the "On hold due date" input box
- Click "Renew or check in selected items"
- TEST: Observe that the item is renewed by falling back to the "Renewal due date" value if a value is not specified in the "On hold due date" input box
- Remove the contents of the "Renewal due date" input box
- Click "Renew or check in selected items"
- TEST: Observe that the standard loan period is used for the renewal period if no due date is specified in either box
- In the "On hold due date" input box, select a due date for the item
- In the "Renewal due date" input box, select a different due date
- Click "Renew all"
- TEST: Observe that all non on hold items are renewed using the value in "Renewal due date" and on hold items are renewed using the value in "On hold due date"
- From the main staff client from page, choose "Circulation", then choose "Renew"
- Enter the barcode of an item that you know to be on hold and submit
- TEST: In the alert box that appears, observe that a date picker is
- Choose a due date for this item, then click "Override and renew"
- TEST: In the "Item renewed" box, observe that the item has been
---
circ/renew.pl | 2 +-
.../intranet-tmpl/prog/css/src/staff-global.scss | 19 ++++
.../prog/en/includes/checkouts-table-footer.inc | 10 +-
.../prog/en/modules/circ/circulation.tt | 1 +
.../intranet-tmpl/prog/en/modules/circ/renew.tt | 22 +++++
.../prog/en/modules/members/moremember.tt | 1 +
koha-tmpl/intranet-tmpl/prog/js/checkouts.js | 101 ++++++++++++++++-----
.../intranet-tmpl/prog/js/pages/circulation.js | 2 +-
svc/renew | 6 ++
9 files changed, 136 insertions(+), 28 deletions(-)
--- a/circ/renew.pl
+++ a/circ/renew.pl
@@ -93,7 +93,7 @@ if ($barcode) {
}
if ($can_renew) {
my $branchcode = C4::Context->userenv ? C4::Context->userenv->{'branch'} : undef;
- my $date_due = AddRenewal( undef, $item->itemnumber(), $branchcode );
+ my $date_due = AddRenewal( undef, $item->itemnumber(), $branchcode, dt_from_string( scalar $cgi->param('renewonholdduedate')) );
$template->param( date_due => $date_due );
}
}
--- a/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss
+++ a/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss
@@ -3843,12 +3843,31 @@ span {
}
}
+input.renew {
+ margin-right: 1em;
+}
+
.renewals {
display: block;
font-size: .8em;
padding: .5em;
}
+.dialog input#renewonholdduedate {
+ padding: 2px;
+}
+
+.date-select {
+ label {
+ display: inline-block;
+ width: 40%;
+ }
+}
+
+#newonholdduedate {
+ display: none;
+}
+
#transport-types {
padding-top: .5px;
}
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/checkouts-table-footer.inc
+++ a/koha-tmpl/intranet-tmpl/prog/en/includes/checkouts-table-footer.inc
@@ -4,10 +4,12 @@
[% totaldue | html %]
[% finetotal | html %]
[% totalprice | html %]
-
-
-
-
+
+
+
+
+
+
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt
@@ -1000,6 +1000,7 @@ No patron matched [% message | html %]
var branchcode = "[% branch | html %]";
var exports_enabled = "[% Koha.Preference('ExportCircHistory') | html %]";
var AllowRenewalLimitOverride = [% (CAN_user_circulate_override_renewals && Koha.Preference('AllowRenewalLimitOverride') )? 1: 0 | html %];
+ var AllowRenewalOnHoldOverride = [% (CAN_user_circulate_override_renewals && Koha.Preference('AllowRenewalOnHoldOverride') )? 1: 0 | html %];
var AllowCirculate = [% (CAN_user_circulate_circulate_remaining_permissions)? 1 : 0 | html %];
var script = "circulation";
var relatives_borrowernumbers = new Array();
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt
@@ -1,3 +1,5 @@
+[% USE raw %]
+[% USE Asset %]
[% USE Koha %]
[% USE KohaDates %]
[% SET footerjs = 1 %]
@@ -118,6 +120,9 @@
+