@@ -, +, @@ --- catalogue/itemsearch.pl | 20 +++++++++++++++++++- .../en/includes/catalogue/itemsearch_item.csv.inc | 2 +- .../en/includes/catalogue/itemsearch_item.json.inc | 1 + .../en/includes/csv_headers/catalogue/itemsearch.tt | 2 +- .../prog/en/modules/catalogue/itemsearch.tt | 11 +++++++++++ 5 files changed, 33 insertions(+), 3 deletions(-) --- a/catalogue/itemsearch.pl +++ a/catalogue/itemsearch.pl @@ -106,6 +106,9 @@ my $location_values = $mss->count ? GetAuthorisedValues($mss->next->authorised_v $mss = Koha::MarcSubfieldStructures->search({ frameworkcode => '', kohafield => 'items.itemlost', authorised_value => [ -and => {'!=' => undef }, {'!=' => ''}] }); my $itemlost_values = $mss->count ? GetAuthorisedValues($mss->next->authorised_value) : []; +$mss = Koha::MarcSubfieldStructures->search({ frameworkcode => '', kohafield => 'items.withdrawn', authorised_value => [ -and => {'!=' => undef }, {'!=' => ''}] }); +my $withdrawn_values = $mss->count ? GetAuthorisedValues($mss->next->authorised_value) : []; + if (scalar keys %params > 0) { # Parameters given, it's a search @@ -114,7 +117,7 @@ if (scalar keys %params > 0) { filters => [], }; - foreach my $p (qw(homebranch holdingbranch location itype ccode issues datelastborrowed notforloan itemlost)) { + foreach my $p (qw(homebranch holdingbranch location itype ccode issues datelastborrowed notforloan itemlost withdrawn)) { if (my @q = $cgi->multi_param($p)) { if ($q[0] ne '') { my $f = { @@ -241,6 +244,12 @@ if (scalar keys %params > 0) { $itemlost_map->{$il_value->{authorised_value}} = $il_value->{lib}; } + # Get withdrawn labels + my $withdrawn_map = {}; + foreach my $wd_value (@$withdrawn_values) { + $withdrawn_map->{$wd_value->{authorised_value}} = $wd_value->{lib}; + } + foreach my $item (@$results) { my $biblio = Koha::Biblios->find( $item->{biblionumber} ); $item->{biblio} = $biblio; @@ -321,6 +330,14 @@ foreach my $value (@$itemlost_values) { }; } +my @withdrawns; +foreach my $value (@$withdrawn_values) { + push @withdrawns, { + value => $value->{authorised_value}, + label => $value->{lib}, + }; +} + my @items_search_fields = GetItemSearchFields(); my $authorised_values = {}; @@ -337,6 +354,7 @@ $template->param( ccodes => \@ccodes, notforloans => \@notforloans, itemlosts => \@itemlosts, + withdrawns => \@withdrawns, items_search_fields => \@items_search_fields, authorised_values_json => to_json($authorised_values), ); --- a/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue/itemsearch_item.csv.inc +++ a/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue/itemsearch_item.csv.inc @@ -4,4 +4,4 @@ [% USE AuthorisedValues %] [%- SET biblio = item.biblio -%] [%- SET biblioitem = item.biblioitem -%] -"[% biblio.title | html %] [% IF ( Koha.Preference( 'marcflavour' ) == 'UNIMARC' && biblio.author ) %]by [% END %][% biblio.author | html %]", "[% (biblioitem.publicationyear || biblio.copyrightdate) | html %]", "[% biblioitem.publishercode | html %]", "[% AuthorisedValues.GetByCode( 'CCODE', item.ccode ) | html %]", "[% item.barcode | html %]", "[% item.itemcallnumber | html %]", "[% Branches.GetName(item.homebranch) | html %]", "[% Branches.GetName(item.holdingbranch) | html %]", "[% item.location | html %]", "[% ItemTypes.GetDescription(item.itype) | html %]", "[% item.stocknumber | html %]", "[% item.status | html %]","[% AuthorisedValues.GetByCode( 'LOST', item.itemlost ) || "" | html %]", "[% (item.issues || 0) | html %]" +"[% biblio.title | html %] [% IF ( Koha.Preference( 'marcflavour' ) == 'UNIMARC' && biblio.author ) %]by [% END %][% biblio.author | html %]", "[% (biblioitem.publicationyear || biblio.copyrightdate) | html %]", "[% biblioitem.publishercode | html %]", "[% AuthorisedValues.GetByCode( 'CCODE', item.ccode ) | html %]", "[% item.barcode | html %]", "[% item.itemcallnumber | html %]", "[% Branches.GetName(item.homebranch) | html %]", "[% Branches.GetName(item.holdingbranch) | html %]", "[% item.location | html %]", "[% ItemTypes.GetDescription(item.itype) | html %]", "[% item.stocknumber | html %]", "[% item.status | html %]","[% AuthorisedValues.GetByCode( 'LOST', item.itemlost ) || "" | html %]","[% AuthorisedValues.GetByCode( 'WITHDRAWN', item.withdrawn ) || "" | html %]", "[% (item.issues || 0) | html %]" --- a/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue/itemsearch_item.json.inc +++ a/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue/itemsearch_item.json.inc @@ -23,6 +23,7 @@ "[% item.stocknumber | html %]", "[% item.status | html %]", "[% AuthorisedValues.GetByCode( 'LOST', item.itemlost ) || "" | html %]", + "[% AuthorisedValues.GetByCode( 'WITHDRAWN', item.withdrawn ) || "" | html %]", "[% (item.issues || 0) | html %]", "[% FILTER escape_quotes ~%]
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/csv_headers/catalogue/itemsearch.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/includes/csv_headers/catalogue/itemsearch.tt @@ -1, +1, @@ -[%- BLOCK -%]Title, Publication date, Publisher, Collection, Barcode, Call number, Home library, Current location, Shelving location, Itemtype, Inventory number, Not for loan status, Lost status, Checkouts[%- END -%] +[%- BLOCK -%]Title, Publication date, Publisher, Collection, Barcode, Call number, Home library, Current location, Shelving location, Itemtype, Inventory number, Not for loan status, Lost status, Withdrawn status, Checkouts[%- END -%] --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/itemsearch.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/itemsearch.tt @@ -27,6 +27,7 @@ [% CASE 'All statuses' %]All statuses [% CASE 'damaged' %]Damaged [% CASE 'itemlost' %]Lost + [% CASE 'withdrawn' %]Withdrawn [% END %] [% END %] @@ -158,6 +159,9 @@ [% IF itemlosts.size %] [% INCLUDE form_field_select name="itemlost" options = itemlosts empty_option = "All statuses" %] [% END %] + [% IF withdrawns.size %] + [% INCLUDE form_field_select name="withdrawn" options = withdrawns empty_option = "All statuses" %] + [% END %]
[% INCLUDE form_field_select_text %] @@ -275,6 +279,7 @@ + ' ' + _("Inventory number") + '' + ' ' + _("Not for loan status") + '' + ' ' + _("Lost status") + '' + + ' ' + _("Withdrawn status") + '' + ' ' + _("Checkouts") + '' + ' ' + ' ' @@ -378,6 +383,7 @@ { 'sName': 'stocknumber' }, { 'sName': 'notforloan' }, { 'sName': 'itemlost' }, + { 'sName': 'withdrawn' }, { 'sName': 'issues' }, { 'sName': 'checkbox', 'bSortable': false } ], @@ -418,6 +424,11 @@ [% ELSE %] null, [% END %] + [% IF withdrawns.size %] + { 'type': 'select', 'values': [% INCLUDE escape_html_value_label elts => withdrawns %] }, + [% ELSE %] + null, + [% END %] { 'type': 'text' }, null ] --