[Erp5-report] r30546 - in /erp5/trunk/bt5/erp5_budget: SkinTemplateItem/portal_skins/erp5_b...
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Nov 13 11:53:02 CET 2009
Author: jerome
Date: Fri Nov 13 11:52:58 2009
New Revision: 30546
URL: http://svn.erp5.org?rev=30546&view=rev
Log:
some optimisations
Modified:
erp5/trunk/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_getBudgetConsumptionReportData.xml
erp5/trunk/bt5/erp5_budget/bt/revision
Modified: erp5/trunk/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_getBudgetConsumptionReportData.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_getBudgetConsumptionReportData.xml?rev=30546&r1=30545&r2=30546&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_getBudgetConsumptionReportData.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_getBudgetConsumptionReportData.xml [utf8] Fri Nov 13 11:52:58 2009
@@ -126,16 +126,14 @@
variation_axis_list.append(possible_axis)\n
break\n
\n
+ budget_line_cell_range = budget_line.BudgetLine_asCellRange()\n
if len(variation_axis_list) == 1:\n
# if there\'s only one dimension, we add a virtual level 2, to keep the\n
# same structure\n
level_2_variation_category_list = [budget_line.getResource(base=1)]\n
- level_3_variation_category_list = [x for x in\n
- budget_line.getVariationCategoryList() if\n
- x.startswith(variation_axis_list[0])]\n
+ level_3_variation_category_list = budget_line.getCellRange()[0]\n
else:\n
budget_line_vcl = budget_line.getVariationCategoryList()\n
- budget_line_cell_range = budget_line.BudgetLine_asCellRange()\n
\n
level_2_variation_category_list = budget_line.getCellRange()[0]\n
level_3_variation_category_list = budget_line.getCellRange()[1]\n
@@ -181,6 +179,8 @@
if cell_depth_dict:\n
higher_depth = min(cell_depth_dict.values())\n
\n
+ sign = budget_line.BudgetLine_getConsumptionSign()\n
+\n
for level_2_category in level_2_variation_category_list:\n
\n
total_level_2_initial_budget = 0\n
@@ -195,22 +195,29 @@
is_higher_level2 = cell_depth_dict[level_2_category] == higher_depth\n
\n
for level_3_category in level_3_variation_category_list:\n
- sign = budget_line.BudgetLine_getConsumptionSign()\n
-\n
- for cell_key in cartesianProduct(budget_line.BudgetLine_asCellRange()):\n
+ for cell_key in cartesianProduct(budget_line_cell_range):\n
cell = budget_line.getCell(*cell_key)\n
- if not isVisibleCell(cell):\n
+ if cell is None or not isVisibleCell(cell):\n
continue\n
- if level_2_category in cell.getMembershipCriterionCategoryList() and\\\n
- level_3_category in cell.getMembershipCriterionCategoryList():\n
-\n
+ if level_3_category in cell_key and (\n
+ level_2_category in cell_key or\n
+ len(variation_axis_list) == 1):\n
initial_budget = cell.getQuantity() * sign\n
- current_budget = cell.getCurrentBalance() * sign\n
+\n
+ # XXX don\'t calculate current balance unless we use budget\n
+ # transactions\n
+ current_budget = initial_budget #cell.getCurrentBalance() * sign\n
+\n
engaged_budget = cell.getEngagedBudget()\n
+\n
+ # XXX stupid optimisation that may not always be true: \n
+ # if there\'s no engaged budget, there\'s no consumed budget\n
if engaged_budget:\n
- # XXX stupid optimisation that may not always be true\n
consumed_budget = cell.getConsumedBudget()\n
- available_budget = cell.getAvailableBudget()\n
+ # XXX calculate manually getAvailableBudget, because it calls\n
+ # getEngagedBudget again\n
+ # available_budget = cell.getAvailableBudget()\n
+ available_budget = current_budget - engaged_budget\n
else:\n
consumed_budget = 0\n
available_budget = current_budget\n
@@ -224,6 +231,7 @@
consumed_ratio = 0\n
if current_budget:\n
consumed_ratio = consumed_budget / current_budget\n
+\n
level_2_line_list.append(dict(title=cell_name_dict[level_3_category],\n
is_level_3=True,\n
initial_budget=initial_budget,\n
@@ -360,14 +368,11 @@
<string>variation_axis_list</string>
<string>possible_axis</string>
<string>cell_range</string>
+ <string>budget_line_cell_range</string>
<string>len</string>
<string>level_2_variation_category_list</string>
- <string>append</string>
- <string>$append0</string>
- <string>x</string>
<string>level_3_variation_category_list</string>
<string>budget_line_vcl</string>
- <string>budget_line_cell_range</string>
<string>title</string>
<string>cell_name_dict</string>
<string>cell_style_dict</string>
@@ -379,6 +384,7 @@
<string>_write_</string>
<string>depth</string>
<string>higher_depth</string>
+ <string>sign</string>
<string>level_2_category</string>
<string>total_level_2_initial_budget</string>
<string>total_level_2_current_budget</string>
@@ -388,10 +394,10 @@
<string>level_2_line_list</string>
<string>is_higher_level2</string>
<string>level_3_category</string>
- <string>sign</string>
<string>cell_key</string>
<string>_apply_</string>
<string>cell</string>
+ <string>None</string>
<string>initial_budget</string>
<string>current_budget</string>
<string>engaged_budget</string>
Modified: erp5/trunk/bt5/erp5_budget/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_budget/bt/revision?rev=30546&r1=30545&r2=30546&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_budget/bt/revision [utf8] (original)
+++ erp5/trunk/bt5/erp5_budget/bt/revision [utf8] Fri Nov 13 11:52:58 2009
@@ -1,1 +1,1 @@
-255
+256
More information about the Erp5-report
mailing list