From 03695003c54da99320b8b75a99fb86e9eb7a5f79 Mon Sep 17 00:00:00 2001 From: Amit Gupta Date: Mon, 3 Jun 2013 10:52:50 +0530 Subject: [PATCH 1/2] 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 | 4 ++++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/C4/Acquisition.pm b/C4/Acquisition.pm index b6fab5d..1b2a51d 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 ab1df8a..a6f27a7 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 9ebb4cb..b460813 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.9.5