my $rank = $params->{'rank'};
my $reserve_id = $params->{'reserve_id'};
- my $reservedate = $params->{reservedate} || undef;
- my $expirationdate = $params->{expirationdate} || undef;
my $branchcode = $params->{'branchcode'};
my $itemnumber = $params->{'itemnumber'};
my $suspend_until = $params->{'suspend_until'};
logaction( 'HOLDS', 'MODIFY', $hold->reserve_id, Dumper($hold->unblessed) )
if C4::Context->preference('HoldsLog');
- $hold->set(
- {
- priority => $rank,
- reservedate => $reservedate,
- expirationdate => $expirationdate,
- branchcode => $branchcode,
- itemnumber => $itemnumber,
- found => undef,
- waitingdate => undef
- }
- )->store();
+ my $properties = {
+ priority => $rank,
+ branchcode => $branchcode,
+ itemnumber => $itemnumber,
+ found => undef,
+ waitingdate => undef
+ };
+ if (exists $params->{reservedate}) {
+ $properties->{reservedate} = $params->{reservedate} || undef;
+ }
+ if (exists $params->{expirationdate}) {
+ $properties->{expirationdate} = $params->{expirationdate} || undef;
+ }
+
+ $hold->set($properties)->store();
if ( defined( $suspend_until ) ) {
if ( $suspend_until ) {
</td>
<td>[% hold.notes | html %]</td>
- <td><input type="date" value="[% hold.date | html %]" required name="reservedate"></td>
+ <td>
+ [% IF Koha.Preference('AllowHoldDateInFuture') %]
+ <input type="date" value="[% hold.date | html %]" required name="reservedate">
+ [% ELSE %]
+ [% hold.date | $KohaDates %]
+ [% END %]
+ </td>
<td><input type="date" value="[% hold.expirationdate | html %]" name="expirationdate"></td>
<td>
else {
for (my $i=0;$i<$count;$i++){
undef $itemnumber[$i] if !$itemnumber[$i];
- ModReserve({
+ my $params = {
rank => $rank[$i],
reserve_id => $reserve_id[$i],
- reservedate => $reservedates[$i],
expirationdate => $expirationdates[$i],
branchcode => $branch[$i],
itemnumber => $itemnumber[$i],
suspend_until => $suspend_until[$i]
- });
+ };
+ if (C4::Context->preference('AllowHoldDateInFuture')) {
+ $params->{reservedate} = $reservedates[$i];
+ }
+
+ ModReserve($params);
}
}