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

(-)a/Koha/Item.pm (-1 / +3 lines)
Lines 1477-1483 sub _status { Link Here
1477
        push @statuses, 'restricted';
1477
        push @statuses, 'restricted';
1478
    }
1478
    }
1479
1479
1480
    # TODO in_bundle?
1480
    if ( $self->in_bundle ) {
1481
        push @statuses, 'in_bundle';
1482
    }
1481
1483
1482
    return join ',', @statuses;
1484
    return join ',', @statuses;
1483
}
1485
}
(-)a/Koha/Items.pm (+21 lines)
Lines 316-321 sub filter_by_has_recalls { Link Here
316
    return $self->search( { 'me.itemnumber' => { '-in' => $recalls } } );
316
    return $self->search( { 'me.itemnumber' => { '-in' => $recalls } } );
317
}
317
}
318
318
319
=head3 filter_by_in_bundle
320
321
Returns a new resultset, containing only those items that currently are part of a bundle.
322
323
=cut
324
325
sub filter_by_in_bundle {
326
    my ($self) = @_;
327
328
    my @in_bundle_items;
329
    while ( my $item = $self->next ) {
330
        push @in_bundle_items, $item if $item->in_bundle;
331
    }
332
333
    my @bundled_items = map { $_->itemnumber } @in_bundle_items;
334
    return $self->search( { 'me.itemnumber' => { '-in' => \@bundled_items } } );
335
}
336
319
=head3 filter_by_available
337
=head3 filter_by_available
320
338
321
  my $available_items = $items->filter_by_available;
339
  my $available_items = $items->filter_by_available;
Lines 663-668 sub search { Link Here
663
        if ( $status eq 'recalled' ) {
681
        if ( $status eq 'recalled' ) {
664
            $self = $self->filter_by_has_recalls;
682
            $self = $self->filter_by_has_recalls;
665
        }
683
        }
684
        if ( $status eq 'in_bundle' ) {
685
            $self = $self->filter_by_in_bundle;
686
        }
666
687
667
        if ( $status eq 'available' ) {
688
        if ( $status eq 'available' ) {
668
            $self = $self->filter_by_available;
689
            $self = $self->filter_by_available;
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers/tables/items/catalogue_detail.inc (-2 / +1 lines)
Lines 220-226 Link Here
220
                });
220
                });
221
        const item_types_notforloan = new Map(all_item_types.map( it => [it.itemtype, it.notforloan] ));
221
        const item_types_notforloan = new Map(all_item_types.map( it => [it.itemtype, it.notforloan] ));
222
222
223
        const statuses = {checked_out: _("Checked out"), local_use: _("On-site checkout"), in_transit: _("In transit"), lost: _("Lost"), withdrawn: _("Withdrawn"), damaged:_("Damaged"), not_for_loan: _("Not for loan"), on_hold: _("On hold"), recalled: _("Recalled"), available: _("Available"), restricted: _("Restricted")};
223
        const statuses = {checked_out: _("Checked out"), local_use: _("On-site checkout"), in_transit: _("In transit"), lost: _("Lost"), withdrawn: _("Withdrawn"), damaged:_("Damaged"), not_for_loan: _("Not for loan"), on_hold: _("On hold"), recalled: _("Recalled"), available: _("Available"), restricted: _("Restricted"), in_bundle: _("In bundle")};
224
        const all_statuses = Object.keys(statuses).map(k => {return {_id: k, _str: statuses[k]}});
224
        const all_statuses = Object.keys(statuses).map(k => {return {_id: k, _str: statuses[k]}});
225
225
226
        const can_edit_items_from = [% To.json(can_edit_items_from || []) | $raw %];
226
        const can_edit_items_from = [% To.json(can_edit_items_from || []) | $raw %];
227
- 

Return to bug 37334