@@ -, +, @@ Staff client to budget information. --- C4/Acquisition.pm | 19 +++++++++++++++++++ catalogue/detail.pl | 9 ++++++++- .../prog/en/modules/catalogue/detail.tt | 7 +++++-- 3 files changed, 32 insertions(+), 3 deletions(-) --- a/C4/Acquisition.pm +++ a/C4/Acquisition.pm @@ -71,6 +71,7 @@ BEGIN { &ModInvoice &CloseInvoice &ReopenInvoice + &GetBudgetInfoFromItemnumber &GetItemnumbersFromOrder @@ -102,6 +103,24 @@ sub GetOrderFromItemnumber { } +sub GetBudgetInfoFromItemnumber { + my ($itemnumber) = @_; + my $dbh = C4::Context->dbh; + my $query = qq| + + SELECT aqorders_items.ordernumber, aqbudgets.budget_period_id, aqorders.budget_id, aqbudgets.budget_name, items.barcode + FROM aqorders_items LEFT JOIN items ON items.itemnumber = aqorders_items.itemnumber + LEFT JOIN aqorders ON aqorders.ordernumber = aqorders_items.ordernumber + LEFT JOIN aqbudgets ON aqbudgets.budget_id = aqorders.budget_id + WHERE items.itemnumber = ? | ; + + my $sth = $dbh->prepare($query); + $sth->execute($itemnumber); + return $sth->fetchrow_hashref; + +} + + # Returns the itemnumber(s) associated with the ordernumber given in parameter sub GetItemnumbersFromOrder { my ($ordernumber) = @_; --- a/catalogue/detail.pl +++ a/catalogue/detail.pl @@ -39,6 +39,7 @@ use C4::Tags qw(get_tags); use C4::VirtualShelves; use C4::XSLT; use C4::Images; +use C4::Acquisition qw(GetBudgetInfoFromItemnumber); use Koha::DateUtils; use C4::HTML5Media; @@ -214,7 +215,7 @@ foreach my $item (@items) { $item->{'ccode'} = $collections->{$ccode} if ( defined( $ccode ) && defined($collections) && exists( $collections->{$ccode} ) ); my $copynumber = $item->{'copynumber'}; $item->{'copynumber'} = $copynumbers->{$copynumber} if ( defined($copynumber) && defined($copynumbers) && exists( $copynumbers->{$copynumber} ) ); - foreach (qw(ccode enumchron copynumber itemnotes uri)) { + foreach (qw(ccode enumchron copynumber itemnotes uri booksellerid)) { $itemfields{$_} = 1 if ( $item->{$_} ); } @@ -222,6 +223,11 @@ foreach my $item (@items) { my ($reservedate,$reservedfor,$expectedAt) = GetReservesFromItemnumber($item->{itemnumber}); my $ItemBorrowerReserveInfo = GetMemberDetails( $reservedfor, 0); + # checking for budget information + my $budget = GetBudgetInfoFromItemnumber($item->{itemnumber}); + $item->{budget_period_id} = $budget->{'budget_period_id'}; + $item->{budget_name} = $budget->{'budget_name'}; + if (C4::Context->preference('HidePatronName')){ $item->{'hidepatronname'} = 1; } @@ -305,6 +311,7 @@ $template->param( itemdata_copynumber => $itemfields{copynumber}, volinfo => $itemfields{enumchron}, itemdata_itemnotes => $itemfields{itemnotes}, + itemdata_booksellerid => $itemfields{booksellerid}, z3950_search_params => C4::Search::z3950_search_args($dat), hostrecords => $hostrecords, analytics_flag => $analytics_flag, --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt @@ -370,6 +370,7 @@ function verify_images() { [% IF ( SpineLabelShowPrintOnBibDetails ) %]Spine label[% END %] [% IF ( hostrecords ) %]Host records[% END %] [% IF ( analyze ) %]Used in[% END %] + [% IF ( itemdata_booksellerid ) %]Budget information[% END %] @@ -520,8 +521,10 @@ function verify_images() { [% END %] [% IF ( analyze ) %] Create analytics - [% END %] - + [% END %] + [% IF ( itemdata_booksellerid ) %] + [% item.budget_name %] + [% END %] [% END %] --