Fridolin Somers
32bd54a7ca
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. Signed-off-by: Paola Rossi <paola.rossi@cineca.it> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com> |
||
---|---|---|
.. | ||
pdfformat | ||
acqui-home.pl | ||
addorder.pl | ||
addorderiso2709.pl | ||
ajax-getauthvaluedropbox.pl | ||
aqbasketuser_search.pl | ||
basket.pl | ||
basketgroup.pl | ||
basketheader.pl | ||
booksellers.pl | ||
cancelorder.pl | ||
check_budget_total.pl | ||
check_duplicate_barcode_ajax.pl | ||
check_uniqueness.pl | ||
currency.pl | ||
finishreceive.pl | ||
histsearch.pl | ||
invoice-files.pl | ||
invoice.pl | ||
invoices.pl | ||
lateorders-export.pl | ||
lateorders.pl | ||
modordernotes.pl | ||
neworderbiblio.pl | ||
neworderempty.pl | ||
newordersubscription.pl | ||
newordersuggestion.pl | ||
ordered.pl | ||
orderreceive.pl | ||
parcel.pl | ||
parcels.pl | ||
spent.pl | ||
supplier.pl | ||
transferorder.pl | ||
uncertainprice.pl | ||
updatesupplier.pl | ||
z3950_search.pl |