[Koha-bugs] [Bug 11714] GetBudgetHierarchy needs optimization

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Sat Feb 15 18:25:46 CET 2014


http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=11714

--- Comment #2 from Marc Véron <veron at veron.ch> ---
Created attachment 25305
  -->
http://bugs.koha-community.org/bugzilla3/attachment.cgi?id=25305&action=edit
[SIGNED-OFF] Bug 11714 - GetBudgetHierarchy needs optimization

The method C4::Budgets::GetBudgetHierarchy() retreives from database budgets in
an array containing a tree of budgets (parent -> children -> children, ...).
The code generating this tree with the SQL results needs optimization because
when a lot of budgets exists, it can run during several minutes.

This patch rewites the code using a recurive method.

Test plan :
- Create a active budget "MyBudget" with 1000
- Click "Add found" on this budget
- Create a found "Parent" with 1000, set you has owner
- Click "Add child found" on found "Parent"
- Create a found "Child" with 100, set you has owner
- Click "Add child found" on found "Child"
- Create a found "Grand-child" with 10, set you has owner
|
- Create a new acquisition basket
- Add a new order with "Child budget"
- Select "Child" found and set all costs to 2
- Save order
- Add a new order with "Grand-Child budget"
- Select "Child" found and set all costs to 2
- Save order
- Close basket
- Perform the receive of the two orders
|
- Go to founds of "MyBudget"
=> You see a table with 3 founds
- in "Fund filters", select no library and uncheck "Show my funds only" and
click on "Go"
=> You see a table with "Parent" found
- Click on small arrow left of the fund code of "Parent"
=> You see a new line with "Child" found
- Click on small arrow left of the fund code of "Child"
=> You see a new line with "Grand-Child" found
|
=> You see in "Grand-Child" row "Base-level spent" = 2 and "Total sublevels
spent" = 2
=> You see in "Child" row "Base-level spent" = 2 and "Total sublevels spent" =
4
This confirms the founds are used in a hierarchie.

I followed the test plan. The behavior was as expected.
Signed-off-by: Marc Véron <veron at veron.ch>

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are watching all bug changes.


More information about the Koha-bugs mailing list