From e522bd91184dc2b74c2cc0b114e095ea5412f678 Mon Sep 17 00:00:00 2001 From: Amit Gupta Date: Mon, 3 Jun 2013 10:52:50 +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. Signed-off-by: Kyle M Hall --- C4/Acquisition.pm | 19 +++++++++++++++++++ catalogue/detail.pl | 9 ++++++++- .../prog/en/modules/catalogue/detail.tt | 4 ++++ 3 files changed, 31 insertions(+), 1 deletions(-) diff --git a/C4/Acquisition.pm b/C4/Acquisition.pm index 1a210b5..38a0757 100644 --- a/C4/Acquisition.pm +++ b/C4/Acquisition.pm @@ -72,6 +72,7 @@ BEGIN { &CloseInvoice &ReopenInvoice &DelInvoice + &GetBudgetInfoFromItemnumber &GetItemnumbersFromOrder @@ -103,6 +104,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 ab1df8a..bd54f86 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; use C4::CourseReserves qw(GetItemCourseReservesInfo); @@ -215,7 +216,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->{$_} ); } @@ -223,6 +224,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; } @@ -310,6 +316,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 b3a4240..04d25cd 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt @@ -386,6 +386,7 @@ function verify_images() { [% IF ( hostrecords ) %]Host records[% END %] [% IF ( analyze ) %]Used in[% END %] [% IF ( ShowCourseReserves ) %]Course Reserves[% END %] + [% IF ( itemdata_booksellerid ) %]Budget information[% END %] @@ -554,6 +555,9 @@ function verify_images() { [% END %] [% END %] + [% IF ( itemdata_booksellerid ) %] + [% item.budget_name %] + [% END %] [% END %] -- 1.7.2.5