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 92-139 Link Here
92
            <td>"</td>
92
            <td>"</td>
93
        [% END %]
93
        [% END %]
94
        <td>
94
        <td>
95
            [% IF ( reserve.value.holdingbranches ) %]
95
            [% IF ( reserve.value.holdingbranches.size ) %]
96
            <ul>
96
            <ul>
97
                [% FOREACH holdingbranch IN reserve.value.holdingbranches %]
97
                [% FOREACH holdingbranch IN reserve.value.holdingbranches %]
98
                    <li>[% Branches.GetName ( holdingbranch.holdingbranch ) | html %]</li>
98
                    <li>[% Branches.GetName ( holdingbranch ) | html %]</li>
99
                [% END %]
99
                [% END %]
100
            </ul>
100
            </ul>
101
            [% END %]
101
            [% END %]
102
        </td>
102
        </td>
103
        <td>
103
        <td>
104
            [% IF ( reserve.value.barcodes.count ) %]
104
            [% IF ( reserve.value.barcodes.size ) %]
105
                [% SET barcode = reserve.value.barcodes.next.barcode %]
105
                [% SET barcode = reserve.value.barcodes.first %]
106
                [% IF ( reserve.value.itemnumber ) %]Only [% barcode | html %][% ELSE %][% barcode | html %] or any available.[% END %]
106
                [% IF ( reserve.value.itemnumber ) %]Only [% barcode | html %][% ELSE %][% barcode | html %] or any available.[% END %]
107
            [% END %]
107
            [% END %]
108
        </td>
108
        </td>
109
        <td>
109
        <td>
110
            [% IF ( reserve.value.callnumbers ) %]
110
            [% IF ( reserve.value.callnumbers.size ) %]
111
                <ul>
111
                <ul>
112
                    [% FOREACH callnumber IN reserve.value.callnumbers %]
112
                    [% FOREACH callnumber IN reserve.value.callnumbers %]
113
                        <li>
113
                        <li>
114
                            [% callnumber.itemcallnumber | html %]
114
                            [% callnumber | html %]
115
                        </li>
115
                        </li>
116
                    [% END %]
116
                    [% END %]
117
                </ul>
117
                </ul>
118
            [% END %]
118
            [% END %]
119
        </td>
119
        </td>
120
        <td>
120
        <td>
121
            [% IF ( reserve.value.copynumbers ) %]
121
            [% IF ( reserve.value.copynumbers.size ) %]
122
                <ul>
122
                <ul>
123
                    [% FOREACH copyno IN reserve.value.copynumbers %]
123
                    [% FOREACH copyno IN reserve.value.copynumbers %]
124
                        <li>
124
                        <li>
125
                            [% copyno.copynumber | html %]
125
                            [% copyno | html %]
126
                        </li>
126
                        </li>
127
                    [% END %]
127
                    [% END %]
128
                </ul>
128
                </ul>
129
            [% END %]
129
            [% END %]
130
        </td>
130
        </td>
131
        <td>
131
        <td>
132
            [% IF ( reserve.value.enumchrons ) %]
132
            [% IF ( reserve.value.enumchrons.size ) %]
133
                <ul>
133
                <ul>
134
                    [% FOREACH enumchron IN reserve.value.enumchrons %]
134
                    [% FOREACH enumchron IN reserve.value.enumchrons %]
135
                        <li>
135
                        <li>
136
                            [% enumchron.enumchron | html %]
136
                            [% enumchron | html %]
137
                        </li>
137
                        </li>
138
                    [% END %]
138
                    [% END %]
139
                </ul>
139
                </ul>
Lines 143-151 Link Here
143
            <ul>
143
            <ul>
144
            [% FOREACH type IN reserve.value.itemtypes %]
144
            [% FOREACH type IN reserve.value.itemtypes %]
145
                [% IF Koha.Preference('item-level_itypes') %]
145
                [% IF Koha.Preference('item-level_itypes') %]
146
                    <li>[% ItemTypes.GetDescription( type.itype ) | html %]</li>
146
                    <li>[% ItemTypes.GetDescription( type ) | html %]</li>
147
                [% ELSE %]
147
                [% ELSE %]
148
                    <li>[% ItemTypes.GetDescription( type.itemtype ) | html %]</li>
148
                    <li>[% ItemTypes.GetDescription( type ) | html %]</li>
149
                [% END %]
149
                [% END %]
150
            [% END %]
150
            [% END %]
151
            </ul>
151
            </ul>
Lines 153-159 Link Here
153
        <td>
153
        <td>
154
            <ul>
154
            <ul>
155
            [% FOREACH loc IN reserve.value.locations %]
155
            [% FOREACH loc IN reserve.value.locations %]
156
                <li>[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.location', authorised_value => loc.location) | html %]</li>
156
                <li>[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.location', authorised_value => loc ) | html %]</li>
157
            [% END %]
157
            [% END %]
158
            </ul>
158
            </ul>
159
        </td>
159
        </td>
160
- 

Return to bug 24488