X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=C4%2FXSLT.pm;h=bf2647ab74dd7d0883f56e58cf6e576b486e3698;hb=529ed6faa43b6c2543695ec594fe891139cca83f;hp=518f59de92f6246bfe2577db6cdeb9a554d765c3;hpb=baf78b2a332aa5416f7cbf2020609aa753debda2;p=koha.git
diff --git a/C4/XSLT.pm b/C4/XSLT.pm
index 518f59de92..bf2647ab74 100644
--- a/C4/XSLT.pm
+++ b/C4/XSLT.pm
@@ -30,6 +30,7 @@ use C4::Biblio;
use C4::Circulation;
use C4::Reserves;
use Koha::AuthorisedValues;
+use Koha::ItemTypes;
use Koha::XSLT_Handler;
use Koha::Libraries;
@@ -179,7 +180,7 @@ sub get_xslt_sysprefs {
# singleBranchMode was a system preference, but no longer is
# we can retain it here for compatibility
- my $singleBranchMode = Koha::Libraries->search->count == 1;
+ my $singleBranchMode = Koha::Libraries->search->count == 1 ? 1 : 0;
$sysxml .= "$singleBranchMode\n";
$sysxml .= "\n";
@@ -274,13 +275,13 @@ sub buildKohaItemsNamespace {
}
my $shelflocations =
- { map { $_->authorised_value => $_->opac_description } Koha::AuthorisedValues->search_by_koha_field( { frameworkcode => GetFrameworkCode($biblionumber), kohafield => 'items.location' } ) };
+ { map { $_->{authorised_value} => $_->{opac_description} } Koha::AuthorisedValues->get_descriptions_by_koha_field( { frameworkcode => GetFrameworkCode($biblionumber), kohafield => 'items.location' } ) };
my $ccodes =
- { map { $_->authorised_value => $_->opac_description } Koha::AuthorisedValues->search_by_koha_field( { frameworkcode => GetFrameworkCode($biblionumber), kohafield => 'items.ccode' } ) };
+ { map { $_->{authorised_value} => $_->{opac_description} } Koha::AuthorisedValues->get_descriptions_by_koha_field( { frameworkcode => GetFrameworkCode($biblionumber), kohafield => 'items.ccode' } ) };
my %branches = map { $_->branchcode => $_->branchname } Koha::Libraries->search({}, { order_by => 'branchname' });
- my $itemtypes = GetItemTypes();
+ my $itemtypes = { map { $_->{itemtype} => $_ } @{ Koha::ItemTypes->search->unblessed } };
my $location = "";
my $ccode = "";
my $xml = '';
@@ -291,12 +292,12 @@ sub buildKohaItemsNamespace {
my $reservestatus = C4::Reserves::GetReserveStatus( $item->{itemnumber} );
- if ( $itemtypes->{ $item->{itype} }->{notforloan} || $item->{notforloan} || $item->{onloan} || $item->{withdrawn} || $item->{itemlost} || $item->{damaged} ||
+ if ( ( $item->{itype} && $itemtypes->{ $item->{itype} }->{notforloan} ) || $item->{notforloan} || $item->{onloan} || $item->{withdrawn} || $item->{itemlost} || $item->{damaged} ||
(defined $transfertwhen && $transfertwhen ne '') || $item->{itemnotforloan} || (defined $reservestatus && $reservestatus eq "Waiting") ){
if ( $item->{notforloan} < 0) {
$status = "On order";
}
- if ( $item->{itemnotforloan} > 0 || $item->{notforloan} > 0 || $itemtypes->{ $item->{itype} }->{notforloan} == 1 ) {
+ if ( $item->{itemnotforloan} && $item->{itemnotforloan} > 0 || $item->{notforloan} && $item->{notforloan} > 0 || $item->{itype} && $itemtypes->{ $item->{itype} }->{notforloan} && $itemtypes->{ $item->{itype} }->{notforloan} == 1 ) {
$status = "reference";
}
if ($item->{onloan}) {
@@ -325,14 +326,16 @@ sub buildKohaItemsNamespace {
$location = $item->{location}? xml_escape($shelflocations->{$item->{location}}||$item->{location}):'';
$ccode = $item->{ccode}? xml_escape($ccodes->{$item->{ccode}}||$item->{ccode}):'';
my $itemcallnumber = xml_escape($item->{itemcallnumber});
+ my $stocknumber = $item->{stocknumber}? xml_escape($item->{stocknumber}):'';
$xml .=
"- "
. "$homebranch"
. "$holdingbranch"
. "$location"
. "$ccode"
- . "$status"
+ . "".( $status // q{} ).""
. "$itemcallnumber"
+ . "$stocknumber"
. "
";
}
$xml = "".$xml."";