# You should have received a copy of the GNU General Public License
# along with Koha; if not, see <http://www.gnu.org/licenses>.
-use strict;
-use warnings;
+use Modern::Perl;
use CGI qw ( -utf8 );
use Date::Manip;
use Koha::AuthorisedValues;
use Koha::DateUtils;
+use Koha::ItemTypes;
use C4::Members::AttributeTypes;
=head1 NAME
$template->param(do_it => $do_it,
);
-our $itemtypes = GetItemTypes();
+our $itemtypes = Koha::ItemTypes->search_with_localization->unblessed;
+
our @patron_categories = Koha::Patron::Categories->search_limited({}, {order_by => ['description']});
our $locations = { map { ( $_->{authorised_value} => $_->{lib} ) } Koha::AuthorisedValues->get_descriptions_by_koha_field( { frameworkcode => '', kohafield => 'items.location' }, { order_by => ['description'] } ) };
print map { $_->{value} . $sep } @$x;
print $line->{totalrow}, "\n";
}
+
+ # footer
+ print "TOTAL";
+ $cols = @$results[0]->{loopfooter};
+ print map {$sep.$_->{totalcol}} @$cols;
+ print $sep.@$results[0]->{total};
}
exit;
}
my %labels;
my %select;
-# create itemtype arrayref for <select>.
-my @itemtypeloop;
-for my $itype ( sort {$itemtypes->{$a}->{translated_description} cmp $itemtypes->{$b}->{translated_description}} keys(%$itemtypes)) {
- push @itemtypeloop, { code => $itype , description => $itemtypes->{$itype}->{translated_description} } ;
-}
-
# location list
my @locations;
foreach (sort keys %$locations) {
$template->param(
categoryloop => \@patron_categories,
- itemtypeloop => \@itemtypeloop,
+ itemtypes => $itemtypes,
locationloop => \@locations,
ccodeloop => \@ccodes,
hassort1 => $hassort1,
$sth->execute;
}
+ my $itemtypes_map = { map { $_->{itemtype} => $_ } @{ $itemtypes } };
while ( my ($celvalue) = $sth->fetchrow ) {
my %cell = ( rowtitle => $celvalue, totalrow => 0 ); # we leave 'rowtitle' as hash key (used when filling the table), and add coltitle_display
$cell{rowtitle_display} =
( $line =~ /ccode/ ) ? $ccodes->{$celvalue}
: ( $line =~ /location/ ) ? $locations->{$celvalue}
- : ( $line =~ /itemtype/ ) ? $itemtypes->{$celvalue}->{description}
+ : ( $line =~ /itemtype/ ) ? $itemtypes_map->{$celvalue}->{translated_description}
: $celvalue; # default fallback
if ( $line =~ /sort1/ ) {
foreach (@$Bsort1) {
$cell{coltitle_display} =
( $column =~ /ccode/ ) ? $ccodes->{$celvalue}
: ( $column =~ /location/ ) ? $locations->{$celvalue}
- : ( $column =~ /itemtype/ ) ? $itemtypes->{$celvalue}->{description}
+ : ( $column =~ /itemtype/ ) ? $itemtypes_map->{$celvalue}->{translated_description}
: $celvalue; # default fallback
if ( $column =~ /sort1/ ) {
foreach (@$Bsort1) {