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

(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/sco/sco-main.tt (-46 / +34 lines)
Lines 56-114 Link Here
56
56
57
                    <div id="masthead"><h1>[% LibraryName | html %] Self checkout system</h1></div>
57
                    <div id="masthead"><h1>[% LibraryName | html %] Self checkout system</h1></div>
58
58
59
                    [% IF ( impossible ) %]<!-- We tried to issue, but failed. -->
59
                    [% FOREACH item IN impossible %]<!-- We tried to issue, but failed. -->
60
                        <div class="alert alert-warning">
60
                        <div class="alert alert-warning">
61
                            <span class="sco-alert-warning noissue"></span>
61
                            <span class="sco-alert-warning noissue"></span>
62
                            <h2>Item cannot be checked out.</h2>
62
                            <h2>Item cannot be checked out.</h2>
63
                            <p>Sorry, this item cannot be checked out at this station.</p>
63
                            <p>Sorry, this item cannot be checked out at this station.</p>
64
                            [% IF ( title ) %]
64
                            [% IF ( item.title ) %]
65
                                <p>Title: <em>[% title | html %]</em> </p>
65
                                <p>Title: <em>[% item.title | html %]</em> </p>
66
                            [% END %]
66
                            [% END %]
67
67
68
                            <p>
68
                            <p>
69
                                [% IF ( circ_error_UNKNOWN_BARCODE ) %]
69
                                [% IF ( item.circ_error_UNKNOWN_BARCODE ) %]
70
                                    <span id="ce_unknown_barcode">The system does not recognize this barcode.</span>
70
                                    <span id="ce_unknown_barcode">The system does not recognize this barcode.</span>
71
                                [% ELSIF ( circ_error_max_loans_allowed ) %]
71
                                [% ELSIF ( item.circ_error_max_loans_allowed ) %]
72
                                    <span id="ce_max_loans_allowed">You have reached the maximum limit of items checked out.</span>
72
                                    <span id="ce_max_loans_allowed">You have reached the maximum limit of items checked out.</span>
73
                                [% ELSIF ( circ_error_ISSUED_TO_ANOTHER ) %]
73
                                [% ELSIF ( item.circ_error_ISSUED_TO_ANOTHER ) %]
74
                                    <span id="ce_issued_to_another">This item is checked out to someone else.</span>
74
                                    <span id="ce_issued_to_another">This item is checked out to someone else.</span>
75
                                [% ELSIF ( circ_error_NO_MORE_RENEWALS ) %]
75
                                [% ELSIF ( item.circ_error_NO_MORE_RENEWALS ) %]
76
                                    <span id="ce_no_more_renewals">You cannot renew this item again.</span>
76
                                    <span id="ce_no_more_renewals">You cannot renew this item again.</span>
77
                                [% ELSIF ( circ_error_NOT_FOR_LOAN ) %]
77
                                [% ELSIF ( item.circ_error_NOT_FOR_LOAN ) %]
78
                                    <span id="ce_not_for_loan">This item is not for loan.</span>
78
                                    <span id="ce_not_for_loan">This item is not for loan.</span>
79
                                [% ELSIF ( circ_error_DEBT ) %]
79
                                [% ELSIF ( item.circ_error_DEBT ) %]
80
                                    <span id="ce_too_much_debt">You owe the library [% DEBT | $Price with_symbol => 1%] and cannot check out.</span>
80
                                    <span id="ce_too_much_debt">You owe the library [% item.DEBT | $Price with_symbol => 1%] and cannot check out.</span>
81
                                [% ELSIF ( circ_error_WTHDRAWN ) %]
81
                                [% ELSIF ( item.circ_error_WTHDRAWN ) %]
82
                                    <span id="ce_wthdrawn">This item has been withdrawn from the collection.</span>
82
                                    <span id="ce_wthdrawn">This item has been withdrawn from the collection.</span>
83
                                [% ELSIF ( circ_error_RESTRICTED ) %]
83
                                [% ELSIF ( item.circ_error_RESTRICTED ) %]
84
                                    <span id="ce_restricted">This item is restricted.</span>
84
                                    <span id="ce_restricted">This item is restricted.</span>
85
                                [% ELSIF ( circ_error_RESERVED ) %]
85
                                [% ELSIF ( item.circ_error_RESERVED ) %]
86
                                    <span id="ce_reserved">This item is on hold for another patron.</span>
86
                                    <span id="ce_reserved">This item is on hold for another patron.</span>
87
                                [% ELSIF ( circ_error_ITEMNOTSAMEBRANCH ) %]
87
                                [% ELSIF ( item.circ_error_ITEMNOTSAMEBRANCH ) %]
88
                                    <span id="ce_itemnotsamebranch">This item belongs to another library.</span>
88
                                    <span id="ce_itemnotsamebranch">This item belongs to another library.</span>
89
                                [% ELSIF ( circ_error_EXPIRED ) %]
89
                                [% ELSIF ( item.circ_error_EXPIRED ) %]
90
                                    <span id="ce_expired">Your account has expired.</span>
90
                                    <span id="ce_expired">Your account has expired.</span>
91
                                [% ELSIF ( circ_error_DEBARRED ) %]
91
                                [% ELSIF ( item.circ_error_DEBARRED ) %]
92
                                    <span id="ce_debarred">Your account has been suspended.</span>
92
                                    <span id="ce_debarred">Your account has been suspended.</span>
93
                                [% ELSIF ( circ_error_CARD_LOST ) %]
93
                                [% ELSIF ( item.circ_error_CARD_LOST ) %]
94
                                    <span id="ce_card_lost">This library card has been declared lost.</span>
94
                                    <span id="ce_card_lost">This library card has been declared lost.</span>
95
                                [% ELSIF ( circ_error_GNA ) %]
95
                                [% ELSIF ( item.circ_error_GNA ) %]
96
                                    <span id="ce_gna">Your contact information seems to be incomplete.</span>
96
                                    <span id="ce_gna">Your contact information seems to be incomplete.</span>
97
                                [% ELSIF ( circ_error_INVALID_DATE ) %]
97
                                [% ELSIF ( item.circ_error_INVALID_DATE ) %]
98
                                    <span id="ce_invalid_date">Due date is not valid.</span>
98
                                    <span id="ce_invalid_date">Due date is not valid.</span>
99
                                [% ELSIF ( circ_error_ADDITIONAL_MATERIALS ) %]
99
                                [% ELSIF ( item.circ_error_ADDITIONAL_MATERIALS ) %]
100
                                    <span id="ce_addtional_materials">Item must be checked out at a circulation desk.</span>
100
                                    <span id="ce_addtional_materials">Item must be checked out at a circulation desk.</span>
101
                                [% END %]
101
                                [% END %]
102
                                <span id ="ce_see_staff">Please see a member of the library staff.</span>
102
                                <span id ="ce_see_staff">Please see a member of the library staff.</span>
103
                            </p>
103
                            </p>
104
104
105
                            [% IF ( returnitem && Koha.Preference('SCOAllowCheckin') ) %]
105
                            [% IF ( item.returnitem && Koha.Preference('SCOAllowCheckin') ) %]
106
                                <form action="/cgi-bin/koha/sco/sco-main.pl" name="errorForm" class="inline" method="post">
106
                                <form action="/cgi-bin/koha/sco/sco-main.pl" name="errorForm" class="inline" method="post">
107
                                    [% INCLUDE 'csrf-token.inc' %]
107
                                    [% INCLUDE 'csrf-token.inc' %]
108
                                    <legend class="sr-only">Return</legend>
108
                                    <legend class="sr-only">Return</legend>
109
                                    <input type="hidden" name="op" value="cud-returnbook" />
109
                                    <input type="hidden" name="op" value="cud-returnbook" />
110
                                    <input type="hidden" name="patronid" value="[% patronid | html %]" />
110
                                    <input type="hidden" name="patronid" value="[% patronid | html %]" />
111
                                    <input type="hidden" name="barcode" value="[% barcode | html %]" />
111
                                    <input type="hidden" name="barcode" value="[% item.barcode | html %]" />
112
                                    <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
112
                                    <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
113
                                    <input type="hidden" name="newissues" value="[% newissues | html %]" />
113
                                    <input type="hidden" name="newissues" value="[% newissues | html %]" />
114
                                    <button type="submit" name="returnbook" class="btn btn-primary"><i class="fa fa-undo" aria-hidden="true"></i> Return this item</button>
114
                                    <button type="submit" name="returnbook" class="btn btn-primary"><i class="fa fa-undo" aria-hidden="true"></i> Return this item</button>
Lines 119-137 Link Here
119
                                <legend class="sr-only">Error</legend>
119
                                <legend class="sr-only">Error</legend>
120
                                <input type="hidden" name="op" value="" />
120
                                <input type="hidden" name="op" value="" />
121
                                <input type="hidden" name="patronid" value="[% patronid | html %]" />
121
                                <input type="hidden" name="patronid" value="[% patronid | html %]" />
122
                                <input type="hidden" name="barcode" value="[% barcode | html %]" />
122
                                <input type="hidden" name="barcode" value="[% item.barcode | html %]" />
123
                                <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
123
                                <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
124
                                <input type="hidden" name="newissues" value="[% newissues | html %]" />
124
                                <input type="hidden" name="newissues" value="[% newissues | html %]" />
125
                                <input type="submit" name= "confirm" value="Return to account summary" class="btn btn-info back focus" />
125
                                <input type="submit" name= "confirm" value="Return to account summary" class="btn btn-info back focus" />
126
                            </form>
126
                            </form>
127
                        </div> <!-- / .alert -->
127
                        </div> <!-- / .alert -->
128
                    [% END # / IF ( impossible %]
128
                    [% END # / FOREACH impossible %]
129
129
130
                    [% IF ( confirm ) %]<!-- We need to confirm the issue.. -->
130
                    [% FOREACH c IN confirm %]<!-- We need to confirm the issue.. -->
131
                        <div class="alert alert-warning"><h2>Please confirm the checkout:</h2>
131
                        <div class="alert alert-warning"><h2>Please confirm the checkout:</h2>
132
                            <span class="sco-alert-warning confirm"></span>
132
                            <span class="sco-alert-warning confirm"></span>
133
                            [% IF ( confirm_renew_issue ) %]
133
                            [% IF ( c.confirm_renew_issue ) %]
134
                                <p>This item is already checked out to you: <b>[% confirm | html %]</b> <i>([% barcode | html %])</i></p>
134
                                <p>This item is already checked out to you: <b>[% c.confirm | html %]</b> <i>([% c.barcode | html %])</i></p>
135
                            [% END %]
135
                            [% END %]
136
136
137
                            [% IF ( renew && Koha.Preference('SCOAllowCheckin') ) %]
137
                            [% IF ( renew && Koha.Preference('SCOAllowCheckin') ) %]
Lines 140-146 Link Here
140
                                    <legend class="sr-only">Return</legend>
140
                                    <legend class="sr-only">Return</legend>
141
                                    <input type="hidden" name="op" value="cud-returnbook" />
141
                                    <input type="hidden" name="op" value="cud-returnbook" />
142
                                    <input type="hidden" name="patronid" value="[% patronid | html %]" />
142
                                    <input type="hidden" name="patronid" value="[% patronid | html %]" />
143
                                    <input type="hidden" name="barcode" value="[% barcode | html %]" />
143
                                    <input type="hidden" name="barcode" value="[% c.barcode | html %]" />
144
                                    <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
144
                                    <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
145
                                    <input type="hidden" name="confirmed" value="" />
145
                                    <input type="hidden" name="confirmed" value="" />
146
                                    <input type="hidden" name="newissues" value="[% newissues | html %]" />
146
                                    <input type="hidden" name="newissues" value="[% newissues | html %]" />
Lines 148-160 Link Here
148
                                </form>
148
                                </form>
149
                            [% END %]
149
                            [% END %]
150
150
151
                            [% UNLESS ( renew ) %]
151
                            [% UNLESS ( c.renew ) %]
152
                                <form action="/cgi-bin/koha/sco/sco-main.pl" name="confirmForm" class="inline" method="post">
152
                                <form action="/cgi-bin/koha/sco/sco-main.pl" name="confirmForm" class="inline" method="post">
153
                                    [% INCLUDE 'csrf-token.inc' %]
153
                                    [% INCLUDE 'csrf-token.inc' %]
154
                                    <legend class="sr-only">Renew</legend>
154
                                    <legend class="sr-only">Renew</legend>
155
                                    <input type="hidden" name="op" value="cud-renew" />
155
                                    <input type="hidden" name="op" value="cud-renew" />
156
                                    <input type="hidden" name="patronid" value="[% patronid | html %]" />
156
                                    <input type="hidden" name="patronid" value="[% patronid | html %]" />
157
                                    <input type="hidden" name="barcode" value="[% barcode | html %]" />
157
                                    <input type="hidden" name="barcode" value="[% c.barcode | html %]" />
158
                                    <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
158
                                    <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
159
                                    <input type="hidden" name="confirmed" value="1" />
159
                                    <input type="hidden" name="confirmed" value="1" />
160
                                    <input type="hidden" name="newissues" value="[% newissues | html %]" />
160
                                    <input type="hidden" name="newissues" value="[% newissues | html %]" />
Lines 166-172 Link Here
166
                                    <legend class="sr-only">Renew</legend>
166
                                    <legend class="sr-only">Renew</legend>
167
                                    <input type="hidden" name="op" value="cud-renew" />
167
                                    <input type="hidden" name="op" value="cud-renew" />
168
                                    <input type="hidden" name="patronid" value="[% patronid | html %]" />
168
                                    <input type="hidden" name="patronid" value="[% patronid | html %]" />
169
                                    <input type="hidden" name="barcode" value="[% barcode | html %]" />
169
                                    <input type="hidden" name="barcode" value="[% c.barcode | html %]" />
170
                                    <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
170
                                    <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
171
                                    <input type="hidden" name="confirmed" value="1" />
171
                                    <input type="hidden" name="confirmed" value="1" />
172
                                    <input type="hidden" name="newissues" value="[% newissues | html %]" />
172
                                    <input type="hidden" name="newissues" value="[% newissues | html %]" />
Lines 183-189 Link Here
183
                                <button type="submit" class="btn btn-primary"><i class="fa fa-cancel" aria-hidden="true"></i> Cancel</button>
183
                                <button type="submit" class="btn btn-primary"><i class="fa fa-cancel" aria-hidden="true"></i> Cancel</button>
184
                            </form>
184
                            </form>
185
                        </div>
185
                        </div>
186
                    [% END # / IF confirm %]
186
                    [% END # / FOREACH confirm %]
187
187
188
                    [% IF ( nopermission ) %]
188
                    [% IF ( nopermission ) %]
189
                        <!-- This is what is displayed if user doesn't have permission -->
189
                        <!-- This is what is displayed if user doesn't have permission -->
Lines 241-258 Link Here
241
                        </div>
241
                        </div>
242
                    [% END %]
242
                    [% END %]
243
243
244
                    [% IF ( circ_error_BATCH_CHECKOUT ) %]
245
                        <div class="alert alert-warning">
246
                            <h3>Item cannot be checked out in a batch</h3>
247
                            <p>Check out the following item(s) individually:</p>
248
                            <ul>
249
                            [% FOREACH barcode IN circ_error_BATCH_CHECKOUT %]
250
                                <li><i>[% barcode | html %]</i></li>
251
                            [% END %]
252
                            </ul>
253
                        </div>
254
                    [% END %]
255
256
                    [% UNLESS ( hide_main ) %]
244
                    [% UNLESS ( hide_main ) %]
257
245
258
                        [% IF ( patronid ) %]
246
                        [% IF ( patronid ) %]
Lines 285-294 Link Here
285
                                        </h2></legend>
273
                                        </h2></legend>
286
                                    <div class="row">
274
                                    <div class="row">
287
                                        <div class="col">
275
                                        <div class="col">
288
                                            <label for="barcode">Scan a new item or enter its barcode[% IF Koha.Preference('BatchCheckouts') %] (or for <b>multiple checkouts only,</b> enter a barcode list, one barcode per line)[% END %]:</label>
276
                                            <label for="barcode">Scan a new item or enter its barcode[% IF batch_checkouts_allowed %] (or for <b>multiple checkouts only,</b> enter a barcode list, one barcode per line)[% END %]:</label>
289
                                        </div>
277
                                        </div>
290
                                        <div class="col-3">
278
                                        <div class="col-3">
291
                                            [% IF Koha.Preference('BatchCheckouts') %]
279
                                            [% IF batch_checkouts_allowed %]
292
                                                <textarea id="barcode" name="barcode" rows="10" cols="30" class="focus form-control"></textarea>
280
                                                <textarea id="barcode" name="barcode" rows="10" cols="30" class="focus form-control"></textarea>
293
                                            [% ELSE %]
281
                                            [% ELSE %]
294
                                                <input id="barcode" name="barcode" size="20" type="text" class="focus form-control" autocomplete="off" />
282
                                                <input id="barcode" name="barcode" size="20" type="text" class="focus form-control" autocomplete="off" />
(-)a/opac/sco/sco-main.pl (-49 / +39 lines)
Lines 138-171 my $branch = $issuer->{branchcode}; Link Here
138
my $confirm_required = 0;
138
my $confirm_required = 0;
139
my $return_only = 0;
139
my $return_only = 0;
140
140
141
my $batch_checkouts_allowed;
141
if ( C4::Context->preference('BatchCheckouts') and $patron ) {
142
if ( C4::Context->preference('BatchCheckouts') and $patron ) {
142
    my @batch_category_codes = split ',', C4::Context->preference('BatchCheckoutsValidCategories');
143
    my @batch_category_codes = split ',', C4::Context->preference('BatchCheckoutsValidCategories');
143
    my $categorycode = $patron->categorycode;
144
    my $categorycode = $patron->categorycode;
144
    if ( $categorycode && grep { $_ eq $categorycode } @batch_category_codes ) {
145
    if ( $categorycode && grep { $_ eq $categorycode } @batch_category_codes ) {
145
        # do nothing - logged in patron is allowed to do batch checkouts
146
        $batch_checkouts_allowed = 1;
146
    } else {
147
        # patron category not allowed to do batch checkouts, only allow first barcode
148
        my @error_barcodes;
149
        while ( scalar @$barcodes > 1 ) {
150
            my $error_barcode = pop @$barcodes;
151
            push @error_barcodes, $error_barcode;
152
        }
153
154
        $template->param(
155
            "circ_error_BATCH_CHECKOUT" => \@error_barcodes,
156
        ) if @$barcodes;
157
    }
158
} else {
159
    # batch checkouts not enabled, only allow first barcode
160
    my @error_barcodes;
161
    while ( scalar @$barcodes > 1 ) {
162
        my $error_barcode = pop @$barcodes;
163
        push @error_barcodes, $error_barcode;
164
    }
147
    }
165
166
    $template->param(
167
        "circ_error_BATCH_CHECKOUT" => \@error_barcodes,
168
    ) if @$barcodes;
169
}
148
}
170
149
171
if ( $patron && $op eq "cud-returnbook" && $allowselfcheckreturns ) {
150
if ( $patron && $op eq "cud-returnbook" && $allowselfcheckreturns ) {
Lines 199-204 if ( $patron && $op eq "cud-returnbook" && $allowselfcheckreturns ) { Link Here
199
}
178
}
200
179
201
elsif ( $patron && ( $op eq 'cud-checkout' ) ) {
180
elsif ( $patron && ( $op eq 'cud-checkout' ) ) {
181
  my @failed_checkouts;
182
  my @confirm_checkouts;
202
  foreach my $barcode ( @$barcodes ) {
183
  foreach my $barcode ( @$barcodes ) {
203
    my $item = Koha::Items->find( { barcode => $barcode } );
184
    my $item = Koha::Items->find( { barcode => $barcode } );
204
    my $impossible  = {};
185
    my $impossible  = {};
Lines 222-267 elsif ( $patron && ( $op eq 'cud-checkout' ) ) { Link Here
222
    }
203
    }
223
204
224
    if (scalar keys %$impossible) {
205
    if (scalar keys %$impossible) {
225
226
        my $issue_error = (keys %$impossible)[0]; # FIXME This is wrong, we assume only one error and keys are not ordered
206
        my $issue_error = (keys %$impossible)[0]; # FIXME This is wrong, we assume only one error and keys are not ordered
227
        my $title = ( $item ) ? $item->biblio->title : '';
207
        my $title = ( $item ) ? $item->biblio->title : '';
228
208
229
        $template->param(
209
        my $failed_checkout = {
230
            impossible                => $issue_error,
231
            "circ_error_$issue_error" => 1,
210
            "circ_error_$issue_error" => 1,
232
            title                     => $title,
211
            title                     => $title,
233
            hide_main                 => 1,
212
        };
234
        );
213
235
        if ($issue_error eq 'DEBT') {
214
        if ($issue_error eq 'DEBT') {
236
            $template->param(DEBT => $impossible->{DEBT});
215
            $failed_checkout->{DEBT} = $impossible->{DEBT};
237
        }
216
        }
238
        if ( $issue_error eq "NO_MORE_RENEWALS" ) {
217
        if ( $issue_error eq "NO_MORE_RENEWALS" ) {
239
            $return_only = 1;
218
            $return_only = 1;
240
            $template->param(
219
            $failed_checkout->{barcode} = $barcode;
241
                returnitem => 1,
220
            $failed_checkout->{returnitem} = 1;
242
                barcode    => $barcode,
243
            );
244
        }
221
        }
245
        last;
222
246
    } elsif ( $needconfirm->{RENEW_ISSUE} ){
223
        push @failed_checkouts, $failed_checkout;
224
247
        $template->param(
225
        $template->param(
248
                renew               => 1,
226
            hide_main => 1,
249
                barcode             => $barcode,
250
                confirm             => $item->biblio->title,
251
                confirm_renew_issue => 1,
252
                hide_main           => 1,
253
        );
227
        );
254
        last;
228
    } elsif ( $needconfirm->{RENEW_ISSUE} ) {
255
    } elsif ( $confirm_required && !$confirmed ) {
229
        my $confirm_checkout = {
230
            renew               => 1,
231
            barcode             => $barcode,
232
            confirm             => $item->biblio->title,
233
            confirm_renew_issue => 1,
234
        };
235
        push @confirm_checkouts, $confirm_checkout;
256
        $template->param(
236
        $template->param(
257
            impossible                => 1,
237
            hide_main => 1,
258
            "circ_error_$issue_error" => 1,
259
            hide_main                 => 1,
260
        );
238
        );
239
    } elsif ( $confirm_required && !$confirmed ) {
240
        my $failed_checkout = {
241
            "circ_error_$issue_error" => 1,
242
        };
261
        if ($issue_error eq 'DEBT') {
243
        if ($issue_error eq 'DEBT') {
262
            $template->param(DEBT => $needconfirm->{DEBT});
244
            $failed_checkout->{DEBT} = $needconfirm->{DEBT};
263
        }
245
        }
264
        last;
246
        push @failed_checkouts, $failed_checkout;
265
    } else {
247
    } else {
266
        if ( $confirmed || $issuenoconfirm ) {    # we'll want to call getpatroninfo again to get updated issues.
248
        if ( $confirmed || $issuenoconfirm ) {    # we'll want to call getpatroninfo again to get updated issues.
267
            my ( $hold_existed, $item );
249
            my ( $hold_existed, $item );
Lines 303-316 elsif ( $patron && ( $op eq 'cud-checkout' ) ) { Link Here
303
            }
285
            }
304
        } else {
286
        } else {
305
            $confirm_required = 1;
287
            $confirm_required = 1;
306
            $template->param(
288
            my $confirm_checkout = {
307
                confirm    => "Issuing title: " . $item->biblio->title,
289
                confirm    => "Issuing title: " . $item->biblio->title,
308
                barcode    => $barcode,
290
                barcode    => $barcode,
291
            };
292
            push @confirm_checkouts, $confirm_checkout;
293
            $template->param(
309
                hide_main  => 1,
294
                hide_main  => 1,
310
            );
295
            );
311
        }
296
        }
312
    }
297
    }
313
  } # foreach barcode in barcodes
298
  } # foreach barcode in barcodes
299
300
  $template->param(
301
    impossible => \@failed_checkouts,
302
    confirm    => \@confirm_checkouts,
303
  );
314
} # $op
304
} # $op
315
305
316
if ( $patron && ( $op eq 'cud-renew' ) ) {
306
if ( $patron && ( $op eq 'cud-renew' ) ) {
Lines 388-393 if ( $patron) { Link Here
388
        howpriority   => $show_priority,
378
        howpriority   => $show_priority,
389
        ACCOUNT_LINES => $accountlines,
379
        ACCOUNT_LINES => $accountlines,
390
        total => $total,
380
        total => $total,
381
        batch_checkouts_allowed => $batch_checkouts_allowed,
391
    );
382
    );
392
383
393
    my $patron_messages = Koha::Patron::Messages->search(
384
    my $patron_messages = Koha::Patron::Messages->search(
394
- 

Return to bug 32256