diff --git a/catalogue/itemsearch.pl b/catalogue/itemsearch.pl index fad7d1a8ae..854aced970 100755 --- a/catalogue/itemsearch.pl +++ b/catalogue/itemsearch.pl @@ -108,6 +108,14 @@ my $itemlost_values = $mss->count ? GetAuthorisedValues($mss->next->authorised_v $mss = Koha::MarcSubfieldStructures->search({ frameworkcode => '', kohafield => 'items.withdrawn', authorised_value => [ -and => {'!=' => undef }, {'!=' => ''}] }); my $withdrawn_values = $mss->count ? GetAuthorisedValues($mss->next->authorised_value) : []; +$mss = Koha::MarcSubfieldStructures->search( + { + frameworkcode => '', kohafield => 'items.damaged', + authorised_value => [ -and => { '!=' => undef }, { '!=' => '' } ] + } +); +my $damaged_values = $mss->count ? GetAuthorisedValues( $mss->next->authorised_value ) : []; + if ( Koha::MarcSubfieldStructures->search( { frameworkcode => '', kohafield => 'items.new_status' } )->count ) { $template->param( has_new_status => 1 ); } @@ -120,14 +128,16 @@ if ( defined $format ) { filters => [], }; - 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 '') { + foreach my $p ( + qw(homebranch holdingbranch location itype ccode issues datelastborrowed notforloan itemlost withdrawn damaged)) + { + if ( my @q = $cgi->multi_param($p) ) { + if ( $q[0] ne '' ) { my $f = { field => $p, query => \@q, }; - if (my $op = scalar $cgi->param($p . '_op')) { + if ( my $op = scalar $cgi->param( $p . '_op' ) ) { $f->{operator} = $op; } push @{ $filter->{filters} }, $f; @@ -174,7 +184,7 @@ if ( defined $format ) { push @{ $filter->{filters} }, $f; # Yes/No parameters - foreach my $p (qw( damaged new_status )) { + foreach my $p (qw( new_status )) { my $v = $cgi->param($p) // ''; my $f = { field => $p, @@ -183,10 +193,10 @@ if ( defined $format ) { if ( $p eq 'new_status' ) { $f->{ifnull} = 0; } - if ($v eq 'yes') { + if ( $v eq 'yes' ) { $f->{operator} = '!='; push @{ $filter->{filters} }, $f; - } elsif ($v eq 'no') { + } elsif ( $v eq 'no' ) { $f->{operator} = '='; push @{ $filter->{filters} }, $f; } @@ -309,6 +319,14 @@ foreach my $value (@$withdrawn_values) { }; } +my @damageds; +foreach my $value (@$damaged_values) { + push @damageds, { + value => $value->{authorised_value}, + label => $value->{lib}, + }; +} + my @items_search_fields = GetItemSearchFields(); my $authorised_values = {}; @@ -324,6 +342,7 @@ $template->param( ccodes => \@ccodes, itemlosts => \@itemlosts, withdrawns => \@withdrawns, + damageds => \@damageds, items_search_fields => \@items_search_fields, authorised_values_json => to_json($authorised_values), ); diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue/itemsearch_item.csv.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue/itemsearch_item.csv.inc index ac91b9e2fb..e59eca534e 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue/itemsearch_item.csv.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue/itemsearch_item.csv.inc @@ -37,6 +37,8 @@ [%- delimiter | $raw -%] "[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.withdrawn', authorised_value => item.withdrawn ) || "" | replace('"', '""') | $raw %]" [%- delimiter | $raw -%] +"[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.damaged', authorised_value => item.damaged ) || "" | replace('"', '""') | $raw %]" +[%- delimiter | $raw -%] "[% (item.issues || 0) | $raw %]" [%- delimiter | $raw -%] "[% IF item.checkout %][% item.checkout.date_due | $KohaDates | $raw %][% END %]" diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue/itemsearch_item.json.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue/itemsearch_item.json.inc index dd4810592f..5ef1019911 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue/itemsearch_item.json.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue/itemsearch_item.json.inc @@ -29,6 +29,7 @@ "[% AuthorisedValues.GetDescriptionByKohaField( frameworkcode => biblio.frameworkcode, kohafield => 'items.notforloan', authorised_value => item.notforloan) | html %]", "[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.itemlost', authorised_value => item.itemlost ) || "" | html %]", "[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.withdrawn', authorised_value => item.withdrawn ) || "" | html %]", + "[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.damaged', authorised_value => item.damaged ) || "" | html %]", "[% (item.issues || 0) | html %]", "[% IF item.checkout %][% item.checkout.date_due | $KohaDates %][% END %]", "[% FILTER escape_quotes ~%] diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/csv_headers/catalogue/itemsearch.tt b/koha-tmpl/intranet-tmpl/prog/en/includes/csv_headers/catalogue/itemsearch.tt index cf82cb47ee..f1f4ebc79a 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/csv_headers/catalogue/itemsearch.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/csv_headers/catalogue/itemsearch.tt @@ -3,5 +3,5 @@ [%- PROCESS 'i18n.inc' -%] [%- SET delimiter = Koha.CSVDelimiter() -%] [%- BLOCK -%] - "[% t("Title") | html %]"[%- delimiter | $raw -%]"[% t("Publication date") | html %]"[%- delimiter | $raw -%]"[% t("Publisher") | html %]"[%- delimiter | $raw -%]"[% t("Collection") | html %]"[%- delimiter | $raw -%]"[% t("Barcode") | html %]"[%- delimiter | $raw -%]"[% t("Serial enumeration") | html %]"[%- delimiter | $raw -%]"[% t("Call number") | html %]"[%- delimiter | $raw -%]"[% t("Home library") | html %]"[%- delimiter | $raw -%]"[% t("Current library") | html %]"[%- delimiter | $raw -%]"[% t("Shelving location") | html %]"[%- delimiter | $raw -%]"[% t("Item type") | html %]"[%- delimiter | $raw -%]"[% t("Inventory number") | html %]"[%- delimiter | $raw -%]"[% t("Not for loan status") | html %]"[%- delimiter | $raw -%]"[% t("Lost status") | html %]"[%- delimiter | $raw -%]"[% t("Withdrawn status") | html %]"[%- delimiter | $raw -%]"[% t("Checkouts") | html %]"[%- delimiter | $raw -%]"[% t("Due date") | html %]" + "[% t("Title") | html %]"[%- delimiter | $raw -%]"[% t("Publication date") | html %]"[%- delimiter | $raw -%]"[% t("Publisher") | html %]"[%- delimiter | $raw -%]"[% t("Collection") | html %]"[%- delimiter | $raw -%]"[% t("Barcode") | html %]"[%- delimiter | $raw -%]"[% t("Serial enumeration") | html %]"[%- delimiter | $raw -%]"[% t("Call number") | html %]"[%- delimiter | $raw -%]"[% t("Home library") | html %]"[%- delimiter | $raw -%]"[% t("Current library") | html %]"[%- delimiter | $raw -%]"[% t("Shelving location") | html %]"[%- delimiter | $raw -%]"[% t("Item type") | html %]"[%- delimiter | $raw -%]"[% t("Inventory number") | html %]"[%- delimiter | $raw -%]"[% t("Not for loan status") | html %]"[%- delimiter | $raw -%]"[% t("Lost status") | html %]"[%- delimiter | $raw -%]"[% t("Withdrawn status") | html %]"[%- delimiter | $raw -%]"[% t("Damaged status") | html %]"[%- delimiter | $raw -%]"[% t("Checkouts") | html %]"[%- delimiter | $raw -%]"[% t("Due date") | html %]" [%- END -%] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/itemsearch.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/itemsearch.tt index f997ee31e7..0186812f0c 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/itemsearch.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/itemsearch.tt @@ -26,9 +26,9 @@ [%- CASE 'All collection codes' %]All collections [%- CASE 'notforloan' %]Status [%- CASE 'All statuses' %]All statuses - [%- CASE 'damaged' %]Damaged [%- CASE 'itemlost' %]Lost [%- CASE 'withdrawn' %]Withdrawn + [%- CASE 'damaged' %]Damaged [%- CASE 'new_status' %]Is new [%- END -%] [%- END -%] @@ -204,6 +204,9 @@ [% IF withdrawns.size %] [% INCLUDE form_field_select name="withdrawn" options = withdrawns empty_option = "All statuses" %] [% END %] + [% IF damageds.size %] + [% INCLUDE form_field_select name="damaged" options = damageds empty_option = "All statuses" %] + [% END %]
@@ -231,7 +234,6 @@ (inclusive)
- [% INCLUDE form_field_radio_yes_no name="damaged" %] [% IF ( has_new_status ) %] [% INCLUDE form_field_radio_yes_no name="new_status" divclass='item-new-status' %] [% END %] @@ -383,6 +385,7 @@ + ' ' + _("Not for loan status") + '' + ' ' + _("Lost status") + '' + ' ' + _("Withdrawn status") + '' + + ' ' + _("Damaged status") + '' + ' ' + _("Checkouts") + '' + ' ' + _("Due date") + '' + ' ' @@ -506,6 +509,7 @@ { 'sName': 'notforloan' }, { 'sName': 'itemlost' }, { 'sName': 'withdrawn' }, + { 'sName': 'damaged' }, { 'sName': 'issues' }, { 'sName': 'date_due' }, { 'sName': 'actions', 'bSortable': false } @@ -558,6 +562,11 @@ [% ELSE %] null, [% END %] + [% IF damageds.size %] + { 'type': 'select', 'values': [% INCLUDE escape_html_value_label elts => damageds %] }, + [% ELSE %] + null, + [% END %] { 'type': 'text' }, { 'type': 'text' }, null