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

(-)a/circ/pendingreserves.pl (-75 / +13 lines)
Lines 205-211 foreach my $bibnum ( @biblionumbers ){ Link Here
205
    my @branchtransfers = map { $_->itemnumber } Koha::Item::Transfers->search({ datearrived => undef }, { columns => [ 'itemnumber' ], collapse => 1 });
205
    my @branchtransfers = map { $_->itemnumber } Koha::Item::Transfers->search({ datearrived => undef }, { columns => [ 'itemnumber' ], collapse => 1 });
206
    my @issues = map { $_->itemnumber } Koha::Checkouts->search({}, { columns => [ 'itemnumber' ], collapse => 1 });
206
    my @issues = map { $_->itemnumber } Koha::Checkouts->search({}, { columns => [ 'itemnumber' ], collapse => 1 });
207
207
208
    my $items = Koha::Items->search(
208
    @items = Koha::Items->search(
209
        {
209
        {
210
            biblionumber => $bibnum,
210
            biblionumber => $bibnum,
211
            itemlost     => 0,
211
            itemlost     => 0,
Lines 216-316 foreach my $bibnum ( @biblionumbers ){ Link Here
216
    );
216
    );
217
217
218
    # get available item types for each biblio
218
    # get available item types for each biblio
219
    my $res_itemtypes;
219
    my @res_itemtypes;
220
    if ( C4::Context->preference('item-level_itypes') ){
220
    if ( C4::Context->preference('item-level_itypes') ){
221
        $res_itemtypes = $items->search(
221
        @res_itemtypes = uniq map { defined $_->itype ? $_->itype : () } @items;
222
            {
223
                itype => { '!=', undef },
224
            },
225
            {
226
                columns  => 'itype',
227
                distinct => 1,
228
            }
229
        );
230
    } else {
222
    } else {
231
        my $res_itemtypes = Koha::Biblioitems->search(
223
        @res_itemtypes = Koha::Biblioitems->search(
232
            { biblionumber => $bibnum, itemtype => { '!=', undef }  },
224
            { biblionumber => $bibnum, itemtype => { '!=', undef }  },
233
            { columns => 'itemtype',
225
            { columns => 'itemtype',
234
              distinct => 1,
226
              distinct => 1,
235
            }
227
            }
236
        );
228
        )->get_column('itemtype');
237
    }
229
    }
238
    $reserves->{$bibnum}->{itemtypes} = $res_itemtypes;
230
    $reserves->{$bibnum}->{itemtypes} = \@res_itemtypes;
239
231
240
    # get available locations for each biblio
232
    # get available locations for each biblio
241
    my $res_locations = $items->search(
233
    $reserves->{$bibnum}->{locations} = [ uniq map { defined $_->location ? $_->location : () } @items ];
242
        {
243
            location => { '!=', undef },
244
        },
245
        {
246
            columns  => 'location',
247
            distinct => 1,
248
        }
249
    );
250
    $reserves->{$bibnum}->{locations} = $res_locations;
251
234
252
    # get available callnumbers for each biblio
235
    # get available callnumbers for each biblio
253
    my $res_callnumbers = $items->search(
236
    $reserves->{$bibnum}->{locations} = [ uniq map { defined $_->itemcallnumber ? $_->itemcallnumber : () } @items ];
254
        {
255
            itemcallnumber => { '!=', undef },
256
        },
257
        {
258
            columns  => 'itemcallnumber',
259
            distinct => 1,
260
        }
261
    );
262
    $reserves->{$bibnum}->{callnumbers} = $res_callnumbers;
263
237
264
    # get available enumchrons for each biblio
238
    # get available enumchrons for each biblio
265
    my $res_enumchrons = $items->search(
239
    $reserves->{$bibnum}->{enumchrons} = [ uniq map { defined $_->enumchron ? $_->enumchron : () } @items ];
266
        {
267
            enumchron => { '!=', undef },
268
        },
269
        {
270
            columns  => 'enumchron',
271
            distinct => 1,
272
        }
273
    );
274
    $reserves->{$bibnum}->{enumchrons} = $res_enumchrons;
275
240
276
    # get available copynumbers for each biblio
241
    # get available copynumbers for each biblio
277
    my $res_copynumbers = $items->search(
242
    $reserves->{$bibnum}->{copynumbers} = [ uniq map { defined $_->copynumber ? $_->copynumber : () } @items ];
278
        {
279
            copynumber => { '!=', undef },
280
        },
281
        {
282
            columns  => 'copynumber',
283
            distinct => 1,
284
        }
285
    );
286
    $reserves->{$bibnum}->{copynumbers} = $res_copynumbers;
287
243
288
    # get available barcodes for each biblio
244
    # get available barcodes for each biblio
289
    my $res_barcodes = $items->search(
245
    $reserves->{$bibnum}->{barcodes} = [ uniq map { defined $_->barcode ? $_->barcode : () } @items ];
290
        {
291
            barcode => { '!=', undef },
292
        },
293
        {
294
            columns  => 'barcode',
295
            distinct => 1,
296
        }
297
    );
298
    $reserves->{$bibnum}->{barcodes} = $res_barcodes;
299
246
300
    # get available holding branches for each biblio
247
    # get available holding branches for each biblio
301
    my $res_holdingbranches = $items->search(
248
    $reserves->{$bibnum}->{holdingbranches} = [ uniq map { defined $_->holdingbranch ? $_->holdingbranch : () } @items ];
302
        {
303
            holdingbranch => { '!=', undef },
304
        },
305
        {
306
            columns  => 'holdingbranch',
307
            distinct => 1,
308
        }
309
    );
310
    $reserves->{$bibnum}->{holdingbranches} = $res_holdingbranches;
311
249
312
    # items available
250
    # items available
313
    my $items_count = $items->count;
251
    my $items_count = scalar @items;
314
    $reserves->{$bibnum}->{items_count} = $items_count;
252
    $reserves->{$bibnum}->{items_count} = $items_count;
315
253
316
    # patrons with holds
254
    # patrons with holds
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingreserves.tt (-14 / +13 lines)
Lines 91-138 Link Here
91
            <td>"</td>
91
            <td>"</td>
92
        [% END %]
92
        [% END %]
93
        <td>
93
        <td>
94
            [% IF ( reserve.value.holdingbranches ) %]
94
            [% IF ( reserve.value.holdingbranches.size ) %]
95
            <ul>
95
            <ul>
96
                [% FOREACH holdingbranch IN reserve.value.holdingbranches %]
96
                [% FOREACH holdingbranch IN reserve.value.holdingbranches %]
97
                    <li>[% Branches.GetName ( holdingbranch.holdingbranch ) | html %]</li>
97
                    <li>[% Branches.GetName ( holdingbranch ) | html %]</li>
98
                [% END %]
98
                [% END %]
99
            </ul>
99
            </ul>
100
            [% END %]
100
            [% END %]
101
        </td>
101
        </td>
102
        <td>
102
        <td>
103
            [% IF ( reserve.value.barcodes.count ) %]
103
            [% IF ( reserve.value.barcodes.size ) %]
104
                [% SET barcode = reserve.value.barcodes.next.barcode %]
104
                [% SET barcode = reserve.value.barcodes.first %]
105
                [% IF ( reserve.value.itemnumber ) %]Only [% barcode | html %][% ELSE %][% barcode | html %] or any available.[% END %]
105
                [% IF ( reserve.value.itemnumber ) %]Only [% barcode | html %][% ELSE %][% barcode | html %] or any available.[% END %]
106
            [% END %]
106
            [% END %]
107
        </td>
107
        </td>
108
        <td>
108
        <td>
109
            [% IF ( reserve.value.callnumbers ) %]
109
            [% IF ( reserve.value.callnumbers.size ) %]
110
                <ul>
110
                <ul>
111
                    [% FOREACH callnumber IN reserve.value.callnumbers %]
111
                    [% FOREACH callnumber IN reserve.value.callnumbers %]
112
                        <li>
112
                        <li>
113
                            [% callnumber.itemcallnumber | html %]
113
                            [% callnumber | html %]
114
                        </li>
114
                        </li>
115
                    [% END %]
115
                    [% END %]
116
                </ul>
116
                </ul>
117
            [% END %]
117
            [% END %]
118
        </td>
118
        </td>
119
        <td>
119
        <td>
120
            [% IF ( reserve.value.copynumbers ) %]
120
            [% IF ( reserve.value.copynumbers.size ) %]
121
                <ul>
121
                <ul>
122
                    [% FOREACH copyno IN reserve.value.copynumbers %]
122
                    [% FOREACH copyno IN reserve.value.copynumbers %]
123
                        <li>
123
                        <li>
124
                            [% copyno.copynumber | html %]
124
                            [% copyno | html %]
125
                        </li>
125
                        </li>
126
                    [% END %]
126
                    [% END %]
127
                </ul>
127
                </ul>
128
            [% END %]
128
            [% END %]
129
        </td>
129
        </td>
130
        <td>
130
        <td>
131
            [% IF ( reserve.value.enumchrons ) %]
131
            [% IF ( reserve.value.enumchrons.size ) %]
132
                <ul>
132
                <ul>
133
                    [% FOREACH enumchron IN reserve.value.enumchrons %]
133
                    [% FOREACH enumchron IN reserve.value.enumchrons %]
134
                        <li>
134
                        <li>
135
                            [% enumchron.enumchron | html %]
135
                            [% enumchron | html %]
136
                        </li>
136
                        </li>
137
                    [% END %]
137
                    [% END %]
138
                </ul>
138
                </ul>
Lines 142-150 Link Here
142
            <ul>
142
            <ul>
143
            [% FOREACH type IN reserve.value.itemtypes %]
143
            [% FOREACH type IN reserve.value.itemtypes %]
144
                [% IF Koha.Preference('item-level_itypes') %]
144
                [% IF Koha.Preference('item-level_itypes') %]
145
                    <li>[% ItemTypes.GetDescription( type.itype ) | html %]</li>
145
                    <li>[% ItemTypes.GetDescription( type ) | html %]</li>
146
                [% ELSE %]
146
                [% ELSE %]
147
                    <li>[% ItemTypes.GetDescription( type.itemtype ) | html %]</li>
147
                    <li>[% ItemTypes.GetDescription( type ) | html %]</li>
148
                [% END %]
148
                [% END %]
149
            [% END %]
149
            [% END %]
150
            </ul>
150
            </ul>
Lines 152-158 Link Here
152
        <td>
152
        <td>
153
            <ul>
153
            <ul>
154
            [% FOREACH loc IN reserve.value.locations %]
154
            [% FOREACH loc IN reserve.value.locations %]
155
                <li>[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.location', authorised_value => loc.location) | html %]</li>
155
                <li>[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.location', authorised_value => loc ) | html %]</li>
156
            [% END %]
156
            [% END %]
157
            </ul>
157
            </ul>
158
        </td>
158
        </td>
159
- 

Return to bug 24488