From 0bf3ff3808c82c0849a4650f45973a7a616b3735 Mon Sep 17 00:00:00 2001
From: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Date: Thu, 3 Apr 2014 14:15:11 +0200
Subject: [PATCH] [PASSED QA] Bug 9088: Neworderempty should preselect the only active fund

This patch makes the following changes to the template:

[1] If you add an order line, and you have one active fund (and zero or
    more inactive funds), the only active fund is preselected.
[2] If you modify an order line while its fund is inactive, it now shows
    the label (inactive) behind the fund name. (Note that other inactive funds
    may come up when clicking 'Show all' as they did before.)
[3] Corrected some indentation in this template part.

Test plan:

[1] Add an order line while having one active fund. Is it selected?
[2] Add an order line while having two or more active funds. No fund
    should be preselected.
[3] Modify an order line with an active fund. Is it still selected?
[4] Modify an order line with an inactive fund F2 (while having one active
    fund F1; note that this test explicitly wants F1 to be before F2).
    Check if F2 is selected and is labeled inactive.
[5] (Bonus points:) Modify an order line that refers to a deleted fund.
    If you edit this order, the fund combo should say: Select a fund.
    (Note: if you delete a fund, the budget_id in aqorders remains.)

Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
I test against master 3.15.00.051
I test against all the three options of the AcqCreateItem:
placing an order
receiving an order
cataloging the record
All is OK.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
---
 .../prog/en/modules/acqui/neworderempty.tt         |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

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 9bb2b8c..64ad028 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt
@@ -432,16 +432,26 @@ $(document).ready(function()
                     <input type="hidden" name="budget_id" id="budget_id" value="[% budget_id %]" />[% Budget_name %]
                 [% ELSE %]
                 <label class="required" for="budget_id">Fund: </label>
+                [% active_count = 0 %]
+                [% IF !ordernumber %]
+                    [% FOREACH budget_loo IN budget_loop %]
+                        [% active_count= active_count + budget_loo.b_active %]
+                    [% END %]
+                [% END %]
                 <select id="budget_id" size="1" name="budget_id">
-                        <option value="">Select a fund</option>
+                    <option value="">Select a fund</option>
                 [% FOREACH budget_loo IN budget_loop %]
                     [% IF ( budget_loo.b_sel ) %]
-                        <option value="[% budget_loo.b_id %]" selected="selected" data-sort1-authcat="[% budget_loo.b_sort1_authcat %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat %]">[% budget_loo.b_txt %]</option>
+                        [% active_count = 0 #select no other fund %]
+                        <option value="[% budget_loo.b_id %]" selected="selected" data-sort1-authcat="[% budget_loo.b_sort1_authcat %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat %]">
+                    [% ELSIF active_count==1 && budget_loo.b_active %]
+                        <option value="[% budget_loo.b_id %]" selected="selected" data-sort1-authcat="[% budget_loo.b_sort1_authcat %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat %]">
                     [% ELSE %]
-                        [% IF ( budget_loo.b_active ) %]<option value="[% budget_loo.b_id %]" data-sort1-authcat="[% budget_loo.b_sort1_authcat %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat %]">[% budget_loo.b_txt %]</option>
-                        [% ELSE %]<option value="[% budget_loo.b_id %]" class="b_inactive" data-sort1-authcat="[% budget_loo.b_sort1_authcat %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat %]">[% budget_loo.b_txt %] (inactive)</option>
-                        [% END %]
+                        [% bdgclass=budget_loo.b_active? "": "b_inactive" %]
+                        <option value="[% budget_loo.b_id %]" class="[% bdgclass %]" data-sort1-authcat="[% budget_loo.b_sort1_authcat %]" data-sort2-authcat="[% budget_loo.b_sort2_authcat %]">
                     [% END %]
+                    [% budget_loo.b_txt %][% IF !budget_loo.b_active %] (inactive)[% END %]
+                    </option>
                 [% END %]
                 </select>
                 <label for="showallbudgets" style="float:none;width:auto;">&nbsp;Show all:</label>
-- 
1.7.2.5