Bug 37334: Add ability to filter by in_bundle
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
parent
3834ff48ab
commit
fd6a61a280
|
|
@ -1477,7 +1477,9 @@ sub _status {
|
|||
push @statuses, 'restricted';
|
||||
}
|
||||
|
||||
# TODO in_bundle?
|
||||
if ( $self->in_bundle ) {
|
||||
push @statuses, 'in_bundle';
|
||||
}
|
||||
|
||||
return join ',', @statuses;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -316,6 +316,24 @@ sub filter_by_has_recalls {
|
|||
return $self->search( { 'me.itemnumber' => { '-in' => $recalls } } );
|
||||
}
|
||||
|
||||
=head3 filter_by_in_bundle
|
||||
|
||||
Returns a new resultset, containing only those items that currently are part of a bundle.
|
||||
|
||||
=cut
|
||||
|
||||
sub filter_by_in_bundle {
|
||||
my ($self) = @_;
|
||||
|
||||
my @in_bundle_items;
|
||||
while ( my $item = $self->next ) {
|
||||
push @in_bundle_items, $item if $item->in_bundle;
|
||||
}
|
||||
|
||||
my @bundled_items = map { $_->itemnumber } @in_bundle_items;
|
||||
return $self->search( { 'me.itemnumber' => { '-in' => \@bundled_items } } );
|
||||
}
|
||||
|
||||
=head3 filter_by_available
|
||||
|
||||
my $available_items = $items->filter_by_available;
|
||||
|
|
@ -663,6 +681,9 @@ sub search {
|
|||
if ( $status eq 'recalled' ) {
|
||||
$self = $self->filter_by_has_recalls;
|
||||
}
|
||||
if ( $status eq 'in_bundle' ) {
|
||||
$self = $self->filter_by_in_bundle;
|
||||
}
|
||||
|
||||
if ( $status eq 'available' ) {
|
||||
$self = $self->filter_by_available;
|
||||
|
|
|
|||
|
|
@ -220,7 +220,7 @@
|
|||
});
|
||||
const item_types_notforloan = new Map(all_item_types.map( it => [it.itemtype, it.notforloan] ));
|
||||
|
||||
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")};
|
||||
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")};
|
||||
const all_statuses = Object.keys(statuses).map(k => {return {_id: k, _str: statuses[k]}});
|
||||
|
||||
const can_edit_items_from = [% To.json(can_edit_items_from || []) | $raw %];
|
||||
|
|
|
|||
Loading…
Reference in New Issue