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

(-)a/Koha/Item.pm (-1 / +3 lines)
Lines 1484-1490 sub _status { Link Here
1484
        push @statuses, 'restricted';
1484
        push @statuses, 'restricted';
1485
    }
1485
    }
1486
1486
1487
    # TODO in_bundle?
1487
    if ( $self->in_bundle ) {
1488
        push @statuses, 'in_bundle';
1489
    }
1488
1490
1489
    return join ',', @statuses;
1491
    return join ',', @statuses;
1490
}
1492
}
(-)a/Koha/Items.pm (+21 lines)
Lines 313-318 sub filter_by_has_recalls { Link Here
313
    return $self->search( { 'me.itemnumber' => { '-in' => $recalls } } );
313
    return $self->search( { 'me.itemnumber' => { '-in' => $recalls } } );
314
}
314
}
315
315
316
=head3 filter_by_in_bundle
317
318
Returns a new resultset, containing only those items that currently are part of a bundle.
319
320
=cut
321
322
sub filter_by_in_bundle {
323
    my ($self) = @_;
324
325
    my @in_bundle_items;
326
    while (my $item = $self->next) {
327
        push @in_bundle_items, $item if $item->in_bundle;
328
    }
329
330
    my @bundled_items = map { $_->itemnumber } @in_bundle_items;
331
    return $self->search({ 'me.itemnumber' => { '-in' => \@bundled_items } });
332
}
333
316
=head3 filter_by_available
334
=head3 filter_by_available
317
335
318
  my $available_items = $items->filter_by_available;
336
  my $available_items = $items->filter_by_available;
Lines 651-656 sub search { Link Here
651
        if ( $status eq 'recalled' ) {
669
        if ( $status eq 'recalled' ) {
652
            $self = $self->filter_by_has_recalls;
670
            $self = $self->filter_by_has_recalls;
653
        }
671
        }
672
        if ( $status eq 'in_bundle' ) {
673
            $self = $self->filter_by_in_bundle;
674
        }
654
675
655
        if ( $status eq 'available' ) {
676
        if ( $status eq 'available' ) {
656
            $self = $self->filter_by_available;
677
            $self = $self->filter_by_available;
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers/tables/items/catalogue_detail.inc (-2 / +1 lines)
Lines 215-221 Link Here
215
            });
215
            });
216
    const item_types_notforloan = new Map(all_item_types.map( it => [it.itemtype, it.notforloan] ));
216
    const item_types_notforloan = new Map(all_item_types.map( it => [it.itemtype, it.notforloan] ));
217
217
218
    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")};
218
    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")};
219
    const all_statuses = Object.keys(statuses).map(k => {return {_id: k, _str: statuses[k]}});
219
    const all_statuses = Object.keys(statuses).map(k => {return {_id: k, _str: statuses[k]}});
220
220
221
    const can_edit_items_from = [% To.json(can_edit_items_from || []) | $raw %];
221
    const can_edit_items_from = [% To.json(can_edit_items_from || []) | $raw %];
222
- 

Return to bug 37334