@@ -, +, @@ syspref - catalogue/MARCdetail.pl (staff) - cataloguing/additem.pl (staff) - opac-MARCdetail.pl (opac) --- catalogue/MARCdetail.pl | 7 +++++++ cataloguing/additem.pl | 17 +++++++++++++++-- opac/opac-MARCdetail.pl | 7 +++++++ 3 files changed, 29 insertions(+), 2 deletions(-) --- a/catalogue/MARCdetail.pl +++ a/catalogue/MARCdetail.pl @@ -61,6 +61,7 @@ use C4::Search; # enabled_staff_search_views use Koha::Biblios; use Koha::BiblioFrameworks; use Koha::Patrons; +use Koha::DateUtils; use List::MoreUtils qw( uniq ); @@ -267,6 +268,7 @@ my %witness my @item_subfield_codes; my @item_loop; my $norequests = 1; + foreach my $field (@fields) { next if ( $field->tag() < 10 ); my @subf = $field->subfields; @@ -294,6 +296,11 @@ foreach my $field (@fields) { } $norequests = 0 if $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{kohafield} eq 'items.notforloan' and $subf[$i][1] == 0; + + if ( $subf[$i][0] eq 'd' || $subf[$i][0] eq 'q' || $subf[$i][0] eq 'r' || $subf[$i][0] eq 's' || $subf[$i][0] eq 'w' ){ + # date accessioned || on loan || date last seen || date last borrowed || replacement price date + $item->{$subf[$i][0]} = output_pref({ dt => dt_from_string( $item->{$subf[$i][0]} ), dateonly => 1 }); + } } push @item_loop, $item if $item; } --- a/cataloguing/additem.pl +++ a/cataloguing/additem.pl @@ -800,7 +800,6 @@ if ( C4::Context->preference('EasyAnalyticalRecords') ) { } } - foreach my $field (@fields) { next if ( $field->tag() < 10 ); @@ -857,7 +856,21 @@ my @item_value_loop; my @header_value_loop; for my $row ( @big_array ) { my %row_data; - my @item_fields = map +{ field => $_ || '' }, @$row{ sort keys(%witness) }; + my @item_fields; + foreach my $key (sort keys %witness){ + my $item_field; + if ( $row->{$key} ){ + $item_field->{field} = $row->{$key}; + } else { + $item_field->{field} = ''; + } + if ( $key eq 'd' || $key eq 'q' || $key eq 'r' || $key eq 's' || $key eq 'w' ){ + # date accessioned || on loan || date last seen || date last borrowed || replacement price date + $item_field->{field} = output_pref({ dt => dt_from_string( $row->{$key} ), dateonly => 1 }); + } + + push @item_fields, $item_field; + } $row_data{item_value} = [ @item_fields ]; $row_data{itemnumber} = $row->{itemnumber}; #reporting this_row values --- a/opac/opac-MARCdetail.pl +++ a/opac/opac-MARCdetail.pl @@ -63,6 +63,7 @@ use Koha::Items; use Koha::ItemTypes; use Koha::Patrons; use Koha::RecordProcessor; +use Koha::DateUtils; my $query = CGI->new(); @@ -290,6 +291,7 @@ foreach my $field (@fields) { my $sf_def = $tagslib->{ $field->tag() }->{ $subf[$i][0] }; next if ( ($sf_def->{tab}||0) != 10 ); next if ( ($sf_def->{hidden}||0) > 0 ); + push @item_subfield_codes, $subf[$i][0]; $witness{ $subf[$i][0] } = $sf_def->{lib}; @@ -310,6 +312,11 @@ foreach my $field (@fields) { $item->{ $subf[$i][0] } .= GetAuthorisedValueDesc( $field->tag(), $subf[$i][0], $subf[$i][1], '', $tagslib, '', 'opac' ); } + + if ( $subf[$i][0] eq 'd' || $subf[$i][0] eq 'q' || $subf[$i][0] eq 'r' || $subf[$i][0] eq 's' || $subf[$i][0] eq 'w' ){ + # date accessioned || on loan || date last seen || date last borrowed || replacement price date + $item->{$subf[$i][0]} = output_pref({ dt => dt_from_string( $item->{$subf[$i][0]} ), dateonly => 1 });; + } } push @item_loop, $item if $item; } --