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

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Fri Feb 7 18:39:09 CET 2014


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

--- Comment #1 from Fridolin SOMERS <fridolyn.somers at biblibre.com> ---
Created attachment 25147
  -->
http://bugs.koha-community.org/bugzilla3/attachment.cgi?id=25147&action=edit
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
- Preform 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.

-- 
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