From 9dbc8a911e7e66c033cbfa6cfa92547385e770bf Mon Sep 17 00:00:00 2001 From: Amit Gupta Date: Mon, 22 Apr 2013 22:02:49 +0530 Subject: [PATCH] Bug 10013 - Ability to link directly from an item in the Staff client to budget information. To Test: 1) Create budget and fund under budget administration. 2) Create Vendor in acquisitons module. 3) Create basket under vendor. 4) Create order and choose budget while creating order. 5) Receive shipment. 6) Check in catalog details, in holding tab budget information column is displayed , on click it should display the budget information --- C4/Acquisition.pm | 19 +++++++++++++++++++ catalogue/detail.pl | 9 ++++++++- .../prog/en/modules/catalogue/detail.tt | 7 +++++-- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/C4/Acquisition.pm b/C4/Acquisition.pm index b78a51e..f960074 100644 --- a/C4/Acquisition.pm +++ b/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) = @_; diff --git a/catalogue/detail.pl b/catalogue/detail.pl index a5b32c6..f527741 100755 --- a/catalogue/detail.pl +++ b/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, diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt index 8f40e31..fea271d 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt +++ b/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 %] -- 1.7.9.5