View | Details | Raw Unified | Return to bug 15561
Collapse All | Expand All

(-)a/C4/Reserves.pm (-2 / +2 lines)
Lines 1228-1237 function to cancel reserv,check other reserves, and transfer document if it's ne Link Here
1228
sub ModReserveCancelAll {
1228
sub ModReserveCancelAll {
1229
    my $messages;
1229
    my $messages;
1230
    my $nextreservinfo;
1230
    my $nextreservinfo;
1231
    my ( $itemnumber, $borrowernumber ) = @_;
1231
    my ( $itemnumber, $borrowernumber, $charge_cancel_fee ) = @_;
1232
1232
1233
    #step 1 : cancel the reservation
1233
    #step 1 : cancel the reservation
1234
    my $CancelReserve = CancelReserve({ itemnumber => $itemnumber, borrowernumber => $borrowernumber });
1234
    my $CancelReserve = CancelReserve({ itemnumber => $itemnumber, borrowernumber => $borrowernumber, charge_cancel_fee => $charge_cancel_fee });
1235
1235
1236
    #step 2 launch the subroutine of the others reserves
1236
    #step 2 launch the subroutine of the others reserves
1237
    ( $messages, $nextreservinfo ) = GetOtherReserves($itemnumber);
1237
    ( $messages, $nextreservinfo ) = GetOtherReserves($itemnumber);
(-)a/circ/waitingreserves.pl (-11 / +12 lines)
Lines 40-52 use Koha::BiblioFrameworks; Link Here
40
40
41
my $input = new CGI;
41
my $input = new CGI;
42
42
43
my $item           = $input->param('itemnumber');
43
my $item              = $input->param('itemnumber');
44
my $borrowernumber = $input->param('borrowernumber');
44
my $borrowernumber    = $input->param('borrowernumber');
45
my $fbr            = $input->param('fbr') || '';
45
my $fbr               = $input->param('fbr') || '';
46
my $tbr            = $input->param('tbr') || '';
46
my $tbr               = $input->param('tbr') || '';
47
my $all_branches   = $input->param('allbranches') || '';
47
my $all_branches      = $input->param('allbranches') || '';
48
my $cancelall      = $input->param('cancelall');
48
my $cancelall         = $input->param('cancelall');
49
my $tab            = $input->param('tab');
49
my $tab               = $input->param('tab');
50
my $charge_cancel_fee = $input->param('charge_cancel_fee');
50
51
51
my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user(
52
my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user(
52
    {
53
    {
Lines 67-73 $template->param( TransferWhenCancelAllWaitingHolds => 1 ) if $transfer_when_can Link Here
67
my @cancel_result;
68
my @cancel_result;
68
# if we have a return from the form we launch the subroutine CancelReserve
69
# if we have a return from the form we launch the subroutine CancelReserve
69
if ($item) {
70
if ($item) {
70
    my $res = cancel( $item, $borrowernumber, $fbr, $tbr );
71
    my $res = cancel( $item, $borrowernumber, $fbr, $tbr, undef, $charge_cancel_fee );
71
    push @cancel_result, $res if $res;
72
    push @cancel_result, $res if $res;
72
}
73
}
73
74
Lines 134-140 foreach my $num (@getreserves) { Link Here
134
135
135
    if ($today > $calcDate) {
136
    if ($today > $calcDate) {
136
        if ($cancelall) {
137
        if ($cancelall) {
137
            my $res = cancel( $itemnumber, $borrowernum, $holdingbranch, $homebranch, !$transfer_when_cancel_all );
138
            my $res = cancel( $itemnumber, $borrowernum, $holdingbranch, $homebranch, !$transfer_when_cancel_all, $charge_cancel_fee );
138
            push @cancel_result, $res if $res;
139
            push @cancel_result, $res if $res;
139
            next;
140
            next;
140
        } else {
141
        } else {
Lines 173-185 if ($item && $tab eq 'holdsover' && !@cancel_result) { Link Here
173
exit;
174
exit;
174
175
175
sub cancel {
176
sub cancel {
176
    my ($item, $borrowernumber, $fbr, $tbr, $skip_transfers ) = @_;
177
    my ($item, $borrowernumber, $fbr, $tbr, $skip_transfers, $charge_cancel_fee ) = @_;
177
178
178
    my $transfer = $fbr ne $tbr; # XXX && !$nextreservinfo;
179
    my $transfer = $fbr ne $tbr; # XXX && !$nextreservinfo;
179
180
180
    return if $transfer && $skip_transfers;
181
    return if $transfer && $skip_transfers;
181
182
182
    my ( $messages, $nextreservinfo ) = ModReserveCancelAll( $item, $borrowernumber );
183
    my ( $messages, $nextreservinfo ) = ModReserveCancelAll( $item, $borrowernumber, $charge_cancel_fee );
183
184
184
# 	if the document is not in his homebranch location and there is not reservation after, we transfer it
185
# 	if the document is not in his homebranch location and there is not reservation after, we transfer it
185
    if ($transfer && !$nextreservinfo) {
186
    if ($transfer && !$nextreservinfo) {
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/waitingreserves.tt (-2 / +9 lines)
Lines 119-125 Link Here
119
                            <input type="hidden" name="itemnumber" value="[% reserveloo.itemnumber %]" />
119
                            <input type="hidden" name="itemnumber" value="[% reserveloo.itemnumber %]" />
120
                            <input type="hidden" name="fbr" value="[% reserveloo.holdingbranch %]" />
120
                            <input type="hidden" name="fbr" value="[% reserveloo.holdingbranch %]" />
121
                            <input type="hidden" name="tbr" value="[% reserveloo.homebranch %]" />
121
                            <input type="hidden" name="tbr" value="[% reserveloo.homebranch %]" />
122
                            <input type="hidden" name="tab" value="holdswaiting">
122
                            <input type="hidden" name="tab" value="holdswaiting" />
123
                            [% IF ( reserveloo.dotransfer ) %]
123
                            [% IF ( reserveloo.dotransfer ) %]
124
                            <input type="submit" value="Cancel hold and return to : [% Branches.GetName( reserveloo.homebranch ) %]" />
124
                            <input type="submit" value="Cancel hold and return to : [% Branches.GetName( reserveloo.homebranch ) %]" />
125
                            [% ELSE %]
125
                            [% ELSE %]
Lines 143-148 Link Here
143
                   <input type="hidden" name="allbranches" value="[% allbranches %]" />
143
                   <input type="hidden" name="allbranches" value="[% allbranches %]" />
144
                   <input type="hidden" name="tab" value="holdsover">
144
                   <input type="hidden" name="tab" value="holdsover">
145
                   <input type="submit" value="Cancel [% IF TransferWhenCancelAllWaitingHolds %]and Transfer [% END %]All" />
145
                   <input type="submit" value="Cancel [% IF TransferWhenCancelAllWaitingHolds %]and Transfer [% END %]All" />
146
                   [% IF Koha.Preference('ExpireReservesMaxPickUpDelayCharge') %]
147
                       <p><input type="checkbox" class="charge_cancel_fee" name="charge_cancel_fee" value="1" checked="checked" /> Charge cancelation fee</p>
148
                   [% END %]
146
               </form>
149
               </form>
147
               [% UNLESS TransferWhenCancelAllWaitingHolds %]
150
               [% UNLESS TransferWhenCancelAllWaitingHolds %]
148
                    Only items that need not be transferred will be cancelled (TransferWhenCancelAllWaitingHolds sypref)
151
                    Only items that need not be transferred will be cancelled (TransferWhenCancelAllWaitingHolds sypref)
Lines 184-189 Link Here
184
                            <input type="hidden" name="fbr" value="[% overloo.holdingbranch %]" />
187
                            <input type="hidden" name="fbr" value="[% overloo.holdingbranch %]" />
185
                            <input type="hidden" name="tbr" value="[% overloo.homebranch %]" />
188
                            <input type="hidden" name="tbr" value="[% overloo.homebranch %]" />
186
                            <input type="hidden" name="tab" value="holdsover">
189
                            <input type="hidden" name="tab" value="holdsover">
190
191
                            [% IF Koha.Preference('ExpireReservesMaxPickUpDelayCharge') %]
192
                                <p><input type="checkbox" class="charge_cancel_fee" name="charge_cancel_fee" value="1" checked="checked" /> Charge cancelation fee</p>
193
                            [% END %]
194
187
                            [% IF ( overloo.dotransfer ) %]
195
                            [% IF ( overloo.dotransfer ) %]
188
                            <input type="submit" value="Cancel hold and return to : [% Branches.GetName( overloo.homebranch ) %]" />
196
                            <input type="submit" value="Cancel hold and return to : [% Branches.GetName( overloo.homebranch ) %]" />
189
                            [% ELSE %]
197
                            [% ELSE %]
190
- 

Return to bug 15561