[Koha-patches] [PATCH] Bug 8821 - Receive shipment page should hide inactive funds like new order form

Owen Leonard oleonard at myacpl.org
Tue Sep 25 21:45:52 CEST 2012


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.

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.
---
 acqui/parcels.pl                                   |   23 +++++++++++++++-----
 .../intranet-tmpl/prog/en/modules/acqui/parcels.tt |   23 ++++++++++++++++----
 2 files changed, 36 insertions(+), 10 deletions(-)

diff --git a/acqui/parcels.pl b/acqui/parcels.pl
index 4f2849d..8fbb883 100755
--- a/acqui/parcels.pl
+++ b/acqui/parcels.pl
@@ -161,13 +161,24 @@ 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,
@@ -179,7 +190,7 @@ $template->param(
     shipmentdate_today       => C4::Dates->new()->output(),
     booksellerid             => $booksellerid,
     GST                      => C4::Context->preference('gist'),
-    budgets                  => \@budgets_loop,
+    budget_loop              => $budget_loop,
 );
 
 output_html_with_http_headers $input, $cookie, $template->output;
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 616139c..ba3fa37 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcels.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcels.tt
@@ -12,6 +12,15 @@
     var parcelst = $("#parcelst").dataTable($.extend(true, {}, dataTablesDefaults, {
         "sPaginationType": "four_button"
     } ) );
+    $('#showallfunds').click(function() {
+        if ( $('#shipmentcost_budgetid .b_inactive').is(":visible") )
+        {
+        $('#shipmentcost_budgetid .b_inactive').hide();
+        }
+        else {
+        $('#shipmentcost_budgetid .b_inactive').show();
+        }
+    });
  });
  //]]>
 </script>
@@ -136,13 +145,19 @@
             <input type="text" id="shipmentcost" name="shipmentcost" size="10" />
         </li>
         <li>
-            <label for="shipmentcost_budgetid">Budget: </label>
+            <label for="shipmentcost_budgetid">Fund: </label>
             <select id="shipmentcost_budgetid" name="shipmentcost_budgetid">
-                <option value="">No budget</option>
-                [% FOREACH budget IN budgets %]
-                    <option value="[% budget.budget_id %]">[% budget.budget_name %]</option>
+                    <option value="">No fund</option>
+            [% FOREACH budget_loo IN budget_loop %]
+                [% IF ( budget_loo.b_active ) %]
+                    <option value="[% budget_loo.b_id %]">[% budget_loo.b_txt %]</option>
+                [% ELSE %]
+                    <option value="[% budget_loo.b_id %]" class="b_inactive" style="display : none;">[% budget_loo.b_txt %]</option>
                 [% END %]
+            [% END %]
             </select>
+            <label for="showallfunds" style="float:none;width:auto;">&nbsp;Show all:</label>
+            <input type="checkbox" id="showallfunds" />
         </li>
 		</ol>
     </fieldset>
-- 
1.7.9.5



More information about the Koha-patches mailing list