From d5d0708662f5493a93b4ea29b5e7290276e0db4f Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Fri, 19 Jul 2013 09:07:52 -0400 Subject: [PATCH] Bug 8821: make receive shipment page hide inactive funds like new order form This patch adapts the fund-handling code from neworderempty.pl in order to limit the display of funds by default to active ones, with the option to check a box to display all funds. This patch also adds "(inactive)" to the display of funds on this and the neworderempty.tt template because it seemed like that was useful information. To test, make sure you have both active and inactive funds. Start the process of receiving a shipment. The "fund" option in the receive shipment form should show only active funds. Checking the "show all" checkbox should allow you to choose from both active and inactive funds. Signed-off-by: Kyle M Hall Signed-off-by: Jonathan Druart Signed-off-by: Galen Charlton (cherry picked from commit 04aa35077730bdd4bc8d3c01c461518ecb0d9e60) Signed-off-by: Tomas Cohen Arazi --- acqui/parcels.pl | 24 ++++++++++++++----- .../prog/en/modules/acqui/neworderempty.tt | 2 +- .../prog/en/modules/acqui/parcels.tt | 23 +++++++++++++++++- 3 files changed, 41 insertions(+), 8 deletions(-) diff --git a/acqui/parcels.pl b/acqui/parcels.pl index 405ff64fe8..e180be1175 100755 --- a/acqui/parcels.pl +++ b/acqui/parcels.pl @@ -161,13 +161,25 @@ if ($count_parcels) { $template->param( searchresults => $loopres, count => $count_parcels ); } -my $budgets = GetBudgets(); -my @budgets_loop; -foreach my $budget (@$budgets) { - next unless CanUserUseBudget($loggedinuser, $budget, $flags); - push @budgets_loop, $budget; +# build budget list +my $budget_loop = []; +my $budgets = GetBudgetHierarchy; +foreach my $r (@{$budgets}) { + next unless (CanUserUseBudget($loggedinuser, $r, $flags)); + if (!defined $r->{budget_amount} || $r->{budget_amount} == 0) { + next; + } + push @{$budget_loop}, { + b_id => $r->{budget_id}, + b_txt => $r->{budget_name}, + b_active => $r->{budget_period_active}, + }; } +@{$budget_loop} = + sort { uc( $a->{b_txt}) cmp uc( $b->{b_txt}) } @{$budget_loop}; + + $template->param( orderby => $order, filter => $code, @@ -178,7 +190,7 @@ $template->param( shipmentdate_today => C4::Dates->new()->output(), booksellerid => $booksellerid, GST => C4::Context->preference('gist'), - budgets => \@budgets_loop, + budgets => $budget_loop, ); output_html_with_http_headers $input, $cookie, $template->output; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt index 915713697d..cf72d5e88f 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt @@ -422,7 +422,7 @@ $(document).ready(function() [% ELSE %] [% IF ( budget_loo.b_active ) %] - [% ELSE %] + [% ELSE %] [% END %] [% END %] [% END %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcels.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcels.tt index 39c53e2202..48e4f281b0 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcels.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcels.tt @@ -15,6 +15,20 @@ var parcelst = $("#parcelst").dataTable($.extend(true, {}, dataTablesDefaults, { "sPaginationType": "four_button" } ) ); + + //keep a copy of all budgets before removing the inactives + var budgetId = $("#shipmentcost_budgetid"); + var disabledBudgetsCopy = budgetId.html(); + $('.b_inactive').remove(); + + $('#showallfunds').click(function() { + if ($(this).is(":checked")) { + budgetId.html(disabledBudgetsCopy); //Puts back all the funds + } + else { + $('.b_inactive').remove(); + } + }); }); //]]> @@ -143,9 +157,16 @@ + + + -- 2.39.5