From f0eef58c1389753c72ba4ac335da0762e9b52f63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com> Date: Wed, 14 Apr 2010 17:15:34 +0000 Subject: [PATCH] improve budget consumption report to support 3 dimensions git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@34566 20353a03-c40f-0410-a6d1-a30d3c3de9de --- .../Budget_getBudgetConsumptionReportData.xml | 186 ++++-- .../Budget_viewBudgetConsumptionReport.xml | 73 ++- ...et_viewBudgetConsumptionReportTemplate.xml | 544 +++++++++--------- bt5/erp5_budget/bt/revision | 2 +- 4 files changed, 455 insertions(+), 350 deletions(-) diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_getBudgetConsumptionReportData.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_getBudgetConsumptionReportData.xml index 9ab24daf37..b6b93d71c9 100644 --- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_getBudgetConsumptionReportData.xml +++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_getBudgetConsumptionReportData.xml @@ -65,8 +65,6 @@ from pprint import pformat\n portal = context.getPortalObject()\n request= portal.REQUEST\n \n -from Products.ERP5Type.Utils import cartesianProduct\n -\n # this report can be called on a budget ...\n if context.getPortalType() == \'Budget\':\n defined_group = \'group\'\n @@ -97,6 +95,14 @@ else:\n \n line_list = []\n \n +target_currency_title = None\n +target_currency = None\n +conversion_ratio = None\n +if request.get(\'price_currency\'):\n + target_currency = portal.restrictedTraverse(request[\'price_currency\'])\n + target_currency_title = target_currency.getReference()\n +\n +\n def isVisibleCell(cell):\n # can this cell be viewed by this user ?\n for category in cell.getMembershipCriterionCategoryList():\n @@ -106,11 +112,35 @@ def isVisibleCell(cell):\n return True\n \n \n +# in this report, level 1 is the budget line structure,\n +# level 2 is the first variation category\n +# level 3 is the second variation category\n +# level 4 is the third variation category, or nothing\n for budget in budget_list:\n +\n + if target_currency is not None:\n + conversion_ratio = target_currency.getPrice(\n + context=budget.asContext(\n + categories=[\n + \'resource/%s\' % budget.getResourceRelativeUrl(),\n + \'price_currency/%s\' %\n + target_currency.getRelativeUrl()],\n + start_date=request.get(\'conversion_date\') or\n + budget.getStartDateRangeMin()))\n + if not conversion_ratio:\n + conversion_ratio = 1\n + \n line_list.append(dict(is_budget=True,\n title=budget.getTitle().decode(\'utf8\'),\n + target_currency_title=target_currency_title,\n + conversion_ratio=conversion_ratio,\n resource_title=budget.getResource() and\n budget.getResourceReference()))\n +\n + # XXX to get the count of lines correct (for the print range)\n + if target_currency_title:\n + line_list.append(dict())\n +\n for budget_line in budget.contentValues(sort_on=((\'int_index\', \'asc\'),)):\n total_level_1_initial_budget = 0\n total_level_1_current_budget = 0\n @@ -119,24 +149,22 @@ for budget in budget_list:\n total_level_1_available_budget = 0\n \n level_1_line_list = []\n - variation_axis_list = []\n - for possible_axis in budget_line.getVariationBaseCategoryList():\n - for cell_range in budget_line.getCellRange():\n - if cell_range and cell_range[0].startswith(possible_axis):\n - variation_axis_list.append(possible_axis)\n - break\n - \n +\n budget_line_cell_range = budget_line.BudgetLine_asCellRange()\n - if len(variation_axis_list) == 1:\n + if len(budget_line_cell_range) == 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 = budget_line.getCellRange()[0]\n + level_3_variation_category_list = budget_line_cell_range[0]\n + level_4_variation_category_list = [None]\n + elif len(budget_line_cell_range) == 2:\n + level_2_variation_category_list = budget_line_cell_range[1]\n + level_3_variation_category_list = budget_line_cell_range[0]\n + level_4_variation_category_list = [None]\n else:\n - budget_line_vcl = budget_line.getVariationCategoryList()\n - \n - level_2_variation_category_list = budget_line.getCellRange()[0]\n - level_3_variation_category_list = budget_line.getCellRange()[1]\n + level_2_variation_category_list = budget_line_cell_range[2]\n + level_3_variation_category_list = budget_line_cell_range[1]\n + level_4_variation_category_list = budget_line_cell_range[0]\n \n # we use BudgetLine_asCellRange to get cell names, and have a default value\n # for "virtual level 2"\n @@ -195,51 +223,87 @@ for budget in budget_list:\n is_higher_level2 = cell_depth_dict[level_2_category] == higher_depth\n \n for level_3_category in level_3_variation_category_list:\n - for cell_key in cartesianProduct(budget_line_cell_range):\n + total_level_3_initial_budget = 0\n + total_level_3_current_budget = 0\n + total_level_3_engaged_budget = 0\n + total_level_3_consumed_budget = 0\n + total_level_3_available_budget = 0\n +\n + level_3_line_list = [dict(is_level_3=True,\n + title=cell_name_dict[level_3_category],)]\n +\n + for level_4_category in level_4_variation_category_list:\n + # TODO: maybe fail if only 1 dimension ...\n + if level_4_category is None:\n + cell_key = (level_3_category, level_2_category)\n + else:\n + cell_key = (level_4_category, level_3_category, level_2_category)\n + \n cell = budget_line.getCell(*cell_key)\n if cell is None or not isVisibleCell(cell):\n continue\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 -\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 - consumed_budget = cell.getConsumedBudget()\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 - \n - total_level_2_initial_budget += initial_budget\n - total_level_2_current_budget += current_budget\n - total_level_2_engaged_budget += engaged_budget\n - total_level_2_consumed_budget += consumed_budget\n - total_level_2_available_budget += available_budget\n -\n - 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 +\n + initial_budget = cell.getQuantity() * 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 + consumed_budget = cell.getConsumedBudget()\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 + \n + total_level_3_initial_budget += initial_budget\n + total_level_3_current_budget += current_budget\n + total_level_3_engaged_budget += engaged_budget\n + total_level_3_consumed_budget += consumed_budget\n + total_level_3_available_budget += available_budget\n +\n + consumed_ratio = 0\n + if current_budget:\n + consumed_ratio = consumed_budget / current_budget\n +\n + if level_4_category is not None:\n + level_3_line_list.append(dict(title=cell_name_dict[level_4_category],\n + is_level_4=True,\n initial_budget=initial_budget,\n current_budget=current_budget,\n engaged_budget=engaged_budget,\n consumed_budget=consumed_budget,\n available_budget=available_budget,\n consumed_ratio=consumed_ratio))\n +\n +\n + total_level_2_initial_budget += total_level_3_initial_budget\n + total_level_2_current_budget += total_level_3_current_budget\n + total_level_2_engaged_budget += total_level_3_engaged_budget\n + total_level_2_consumed_budget += total_level_3_consumed_budget\n + total_level_2_available_budget += total_level_2_available_budget\n +\n + if len(level_3_line_list) > 1 or level_4_category is None:\n + consumed_ratio = 0\n + if total_level_3_current_budget:\n + consumed_ratio = total_level_3_consumed_budget / total_level_3_current_budget\n + level_2_line_list.append(dict(title=cell_name_dict[level_3_category],\n + is_level_3=True,\n + initial_budget=total_level_3_initial_budget,\n + current_budget=total_level_3_current_budget,\n + engaged_budget=total_level_3_engaged_budget,\n + consumed_budget=total_level_3_consumed_budget,\n + available_budget=total_level_3_available_budget,\n + consumed_ratio=consumed_ratio))\n + if level_4_category is not None:\n + level_2_line_list.append(level_3_line_list)\n \n if len(level_2_line_list) > 1:\n consumed_ratio = 0\n @@ -287,7 +351,6 @@ for line in line_list:\n if not REQUEST:\n return line_list, line_count\n \n -from pprint import pformat\n return pformat(line_list)\n @@ -342,8 +405,6 @@ return pformat(line_list)\n <string>context</string> <string>portal</string> <string>request</string> - <string>Products.ERP5Type.Utils</string> - <string>cartesianProduct</string> <string>defined_group</string> <string>_getiter_</string> <string>category</string> @@ -355,6 +416,10 @@ return pformat(line_list)\n <string>new_budget_list</string> <string>budget</string> <string>line_list</string> + <string>None</string> + <string>target_currency_title</string> + <string>target_currency</string> + <string>conversion_ratio</string> <string>isVisibleCell</string> <string>dict</string> <string>True</string> @@ -365,14 +430,11 @@ return pformat(line_list)\n <string>total_level_1_consumed_budget</string> <string>total_level_1_available_budget</string> <string>level_1_line_list</string> - <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>level_3_variation_category_list</string> - <string>budget_line_vcl</string> + <string>level_4_variation_category_list</string> <string>title</string> <string>cell_name_dict</string> <string>cell_style_dict</string> @@ -394,10 +456,16 @@ return pformat(line_list)\n <string>level_2_line_list</string> <string>is_higher_level2</string> <string>level_3_category</string> + <string>total_level_3_initial_budget</string> + <string>total_level_3_current_budget</string> + <string>total_level_3_engaged_budget</string> + <string>total_level_3_consumed_budget</string> + <string>total_level_3_available_budget</string> + <string>level_3_line_list</string> + <string>level_4_category</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> diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_viewBudgetConsumptionReport.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_viewBudgetConsumptionReport.xml index 5cea15b2bf..1a0dd7cd0b 100644 --- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_viewBudgetConsumptionReport.xml +++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_viewBudgetConsumptionReport.xml @@ -379,40 +379,83 @@ AQABAEMAAAB9AQAAAAA=</string> </value> </tal:block>\n </table:table-row>\n \n - <tal:block tal:condition="python: same_type(line, [])">\n + <tal:block tal:condition="python: same_type(line, []) and len(line)">\n <table:table-row-group table:display="false">\n <tal:block tal:repeat="subline line">\n - <table:table-row table:style-name="Level3" \n - tal:attributes="table:visibility python: repeat[\'subline\'].first and \'collapse\' or None"\n - tal:condition="subline/is_level_3 | nothing">\n - <table:table-cell table:style-name="Level3Cell1" office:value-type="string">\n - <text:p><tal:block tal:replace="subline/title"/></text:p>\n + <tal:block tal:condition="python: not same_type(subline, [])">\n + <!--simple row level 2 -->\n + <table:table-row table:style-name="Level3" \n + tal:attributes="table:visibility python: repeat[\'subline\'].first and \'collapse\' or None"\n + tal:condition="subline/is_level_3 | nothing">\n + <table:table-cell table:style-name="Level3Cell1" office:value-type="string">\n + <text:p><tal:block tal:replace="subline/title"/></text:p>\n + </table:table-cell>\n + <table:table-cell table:style-name="Level3" office:value-type="float" office:value="1" tal:attributes="office:value subline/initial_budget">\n + <text:p>1</text:p>\n + </table:table-cell>\n + <table:table-cell table:style-name="Level3" office:value-type="float" office:value="2" tal:attributes="office:value subline/current_budget">\n + <text:p>2</text:p>\n + </table:table-cell>\n + <table:table-cell table:style-name="Level3" office:value-type="float" office:value="3" tal:attributes="office:value subline/engaged_budget">\n + <text:p>3</text:p>\n + </table:table-cell>\n + <table:table-cell table:style-name="Level3" office:value-type="float" office:value="4" tal:attributes="office:value subline/consumed_budget">\n + <text:p>4</text:p>\n + </table:table-cell>\n + <table:table-cell table:style-name="Level3" office:value-type="float" office:value="5" tal:attributes="office:value subline/available_budget">\n + <text:p>5</text:p>\n + </table:table-cell>\n + <table:table-cell table:style-name="Level3" office:value-type="percentage" office:value="0.06" tal:attributes="office:value subline/consumed_ratio">\n + <text:p>6,00%</text:p>\n + </table:table-cell>\n + <table:table-cell table:number-columns-repeated="1016"/>\n + </table:table-row>\n + </tal:block>\n +\n + <tal:block tal:condition="python: same_type(subline, []) and len(subline)">\n + <table:table-row-group table:display="false">\n + <tal:block tal:repeat="subsubline subline">\n + <table:table-row table:style-name="Level4" \n + tal:attributes="table:visibility python: repeat[\'subsubline\'].first and \'collapse\' or None"\n + tal:condition="subsubline/is_level_4 | nothing">\n + <table:table-cell table:style-name="Level4Cell1" office:value-type="string">\n + <text:p><tal:block tal:replace="subsubline/title"/></text:p>\n </table:table-cell>\n - <table:table-cell table:style-name="Level3" office:value-type="float" office:value="1" tal:attributes="office:value subline/initial_budget">\n + <table:table-cell table:style-name="Level4" office:value-type="float"\n + office:value="1" tal:attributes="office:value subsubline/initial_budget">\n <text:p>1</text:p>\n </table:table-cell>\n - <table:table-cell table:style-name="Level3" office:value-type="float" office:value="2" tal:attributes="office:value subline/current_budget">\n + <table:table-cell table:style-name="Level4" office:value-type="float"\n + office:value="2" tal:attributes="office:value subsubline/current_budget">\n <text:p>2</text:p>\n </table:table-cell>\n - <table:table-cell table:style-name="Level3" office:value-type="float" office:value="3" tal:attributes="office:value subline/engaged_budget">\n + <table:table-cell table:style-name="Level4" office:value-type="float"\n + office:value="3" tal:attributes="office:value subsubline/engaged_budget">\n <text:p>3</text:p>\n </table:table-cell>\n - <table:table-cell table:style-name="Level3" office:value-type="float" office:value="4" tal:attributes="office:value subline/consumed_budget">\n + <table:table-cell table:style-name="Level4" office:value-type="float"\n + office:value="4" tal:attributes="office:value subsubline/consumed_budget">\n <text:p>4</text:p>\n </table:table-cell>\n - <table:table-cell table:style-name="Level3" office:value-type="float" office:value="5" tal:attributes="office:value subline/available_budget">\n + <table:table-cell table:style-name="Level4" office:value-type="float"\n + office:value="5" tal:attributes="office:value subsubline/available_budget">\n <text:p>5</text:p>\n </table:table-cell>\n - <table:table-cell table:style-name="Level3" office:value-type="percentage" office:value="0.06" tal:attributes="office:value subline/consumed_ratio">\n + <table:table-cell table:style-name="Level4"\n + office:value-type="percentage" office:value="0.06"\n + tal:attributes="office:value subsubline/consumed_ratio">\n <text:p>6,00%</text:p>\n </table:table-cell>\n - <table:table-cell table:number-columns-repeated="1016"/>\n + <!-- <table:table-cell table:number-columns-repeated="1016"/>-->\n </table:table-row>\n - </tal:block>\n + </tal:block>\n </table:table-row-group>\n </tal:block>\n + </tal:block>\n + </table:table-row-group>\n + </tal:block>\n + </tal:block>\n \n - </tal:block>\n </table:table>\n </office:spreadsheet>\n </office:body>\n diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_viewBudgetConsumptionReportTemplate.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_viewBudgetConsumptionReportTemplate.xml index d996a83637..3c16c362ff 100644 --- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_viewBudgetConsumptionReportTemplate.xml +++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_viewBudgetConsumptionReportTemplate.xml @@ -11,7 +11,7 @@ <dictionary> <item> <key> <string>_EtagSupport__etag</string> </key> - <value> <string>ts57433893.89</string> </value> + <value> <string>ts71263583.57</string> </value> </item> <item> <key> <string>__name__</string> </key> @@ -23,291 +23,285 @@ </item> <item> <key> <string>data</string> </key> - <value> <string encoding="base64">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 + <value> <string encoding="base64">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 -TUcbeS+qWbYSgfhuuhMGhJyv26nodN3dBPfJv+EewmSw+w8fPtwqpxfTK0EFtCo8lOKgem6lDMEi -O5+p7OkXKmZy/HOvcQZy1yp5yo1ZBPorPPH+ORO0MMwXGCDcbBe9wi4Ff8NwRze5KX8cs2eZZvZj -Qhc5kZsnSb7/VNBSJmZp0iIzzGcruaE37tce0ujSLCOS2akfSYFUdS1rmqwa0r1qKJqm0CspV5Tw -/s8zLgCRRjM3mrZRV5kQp+A7FeHI6khgOVPyhOz09369zhMm1y4A3ywWnQSc7LqNrNjLiofw/v9Q -SwcIlJm8rmwMAADElgAAUEsDBBQAAAAAAGN5ZTsFUjUAWAUAAFgFAAAIAAAAbWV0YS54bWw8P3ht -bCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgoKPG9mZmljZTpkb2N1bWVudC1tZXRh -IHhtbG5zOm9mZmljZT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZp -Y2U6MS4wIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6 -ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczptZXRhPSJ1cm46b2Fz -aXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm1ldGE6MS4wIiB4bWxuczpvb289Imh0dHA6 -Ly9vcGVub2ZmaWNlLm9yZy8yMDA0L29mZmljZSIgb2ZmaWNlOnZlcnNpb249IjEuMiI+CiA8b2Zm -aWNlOm1ldGE+CiAgCiAgCiAgCiAgCiAgCiAgCiAgPG1ldGE6Z2VuZXJhdG9yPk9wZW5PZmZpY2Uu -b3JnLzMuMCRVbml4IE9wZW5PZmZpY2Uub3JnX3Byb2plY3QvMzAwbTkkQnVpbGQtOTM1ODwvbWV0 -YTpnZW5lcmF0b3I+CiAgCiAgCiAgCiAgCiAgCiAgCiAgPG1ldGE6Y3JlYXRpb24tZGF0ZT4yMDA5 -LTAxLTIzVDEyOjA0OjMyPC9tZXRhOmNyZWF0aW9uLWRhdGU+CiAgCiAgCiAgCiAgCiAgCiAgCiAg -PGRjOmRhdGU+MjAwOS0xMS0wNVQxNjoxMTowNzwvZGM6ZGF0ZT4KICAKICAKICAKICAKICAKICAK -ICA8ZGM6bGFuZ3VhZ2U+ZnItRlI8L2RjOmxhbmd1YWdlPgogIAogIAogIAogIAogIAogIAogIDxt -ZXRhOmVkaXRpbmctY3ljbGVzPjIyPC9tZXRhOmVkaXRpbmctY3ljbGVzPgogIAogIAogIAogIAog -IAogIAogIDxtZXRhOmVkaXRpbmctZHVyYXRpb24+UFQxM0gwM00wMlM8L21ldGE6ZWRpdGluZy1k -dXJhdGlvbj4KICAKICAKICAKICAKICAKICAKICA8ZGM6Y3JlYXRvcj5Kw6lyb21lIFBlcnJpbjwv -ZGM6Y3JlYXRvcj4KICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAK -ICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICAKICA8bWV0YTpwcmlu -dGVkLWJ5PkrDqXJvbWUgUGVycmluPC9tZXRhOnByaW50ZWQtYnk+CiAgPG1ldGE6cHJpbnQtZGF0 -ZT4yMDA5LTExLTA1VDE0OjM3OjQwPC9tZXRhOnByaW50LWRhdGU+CiAgPG1ldGE6ZG9jdW1lbnQt -c3RhdGlzdGljIG1ldGE6dGFibGUtY291bnQ9IjMiIG1ldGE6Y2VsbC1jb3VudD0iNDYiIG1ldGE6 -b2JqZWN0LWNvdW50PSIwIi8+CiAgPG1ldGE6dXNlci1kZWZpbmVkIG1ldGE6bmFtZT0iSW5mbyAx -Ii8+CiAgPG1ldGE6dXNlci1kZWZpbmVkIG1ldGE6bmFtZT0iSW5mbyAyIi8+CiAgPG1ldGE6dXNl -ci1kZWZpbmVkIG1ldGE6bmFtZT0iSW5mbyAzIi8+CiAgPG1ldGE6dXNlci1kZWZpbmVkIG1ldGE6 -bmFtZT0iSW5mbyA0Ii8+PC9vZmZpY2U6bWV0YT4KPC9vZmZpY2U6ZG9jdW1lbnQtbWV0YT5QSwME -FAAIAAgAY3llOwAAAAAAAAAAAAAAABgAAABUaHVtYm5haWxzL3RodW1ibmFpbC5wbmftWPc3XHHT -17voQbArRLSIkgRRV69B9BJddCHBqkGityzRe9ToVvSy2NWCFaKHLNFWXb3Xd/OU8573nPec5x94 -7i/3njl3Zr535jPzmbnROloqlGT3yHBwcCjVVBV1sfdRHBxcHBIi7BMCc7aLg8O8paYop++bjcmR -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 -SCQKDpdzv7p+G3yRN/7MgAqxkzOEPD9v8xP2F5HWM2seVr8Yr+9sric5RPZ6DQRlHHvKrumfeqL4 -zrXG6kaoDvzMByx+XJwHWqAuj3NFDqOZVagZFiLoqYk029ralKROGjIgDoFxhNasKgR7P+vjumyh -DdjhfKRdZn9RcR0Su/8Z6cA8OYnyj59HMT0XW1oNGkyhaLJ9PLPda+J+tF0KtPvy7VA8KbCNPWqi -rey7+LIUXwclLzvSu3tmdGIiWVb4JR8e8kP393005kWtDH6AOfXvjQmnkQ5Ab+IOJ0D0XD1HrTcA -MBi0BzpPXxxFsudZe1iQLJkNw7BGfomsjghk2FuH4gplyAXUGx2zbR3i5Z8PNH3On+6euVhIlfV8 -q/zQ3OYuPu/rxcGPEEZamVDGxEg5E6ZQuYfjodFnT0eWkevnX8L8dHz3EV0cS3PHrkYmrIVLcwl4 -ZIp/yhQGp7Fr9RsJcFBlkaLI1qb1NOZEe87WzUKnoeJWQYyUOv65GMWkufnwzx4YylbkcsBV7VWP -/MQ4qTbs1a9r7AGpp27uX0LsSu4WzJ6JVoaQRONzsEuXq29qVBS7VPQySo2pjwuSlIlVImiWcAgV -//7zuH9H51/bx38F/xX8f4Ir2fELp5osRaM2HOylpqSlWC1v9fF/AFBLBwhvewC3yRcAACQaAABQ -SwMEFAAIAAgAY3llOwAAAAAAAAAAAAAAACcAAABDb25maWd1cmF0aW9uczIvYWNjZWxlcmF0b3Iv -Y3VycmVudC54bWwDAFBLBwgAAAAAAgAAAAAAAABQSwMEFAAAAAAAY3llOwAAAAAAAAAAAAAAABwA -AABDb25maWd1cmF0aW9uczIvcHJvZ3Jlc3NiYXIvUEsDBBQAAAAAAGN5ZTsAAAAAAAAAAAAAAAAY -AAAAQ29uZmlndXJhdGlvbnMyL2Zsb2F0ZXIvUEsDBBQAAAAAAGN5ZTsAAAAAAAAAAAAAAAAaAAAA -Q29uZmlndXJhdGlvbnMyL3BvcHVwbWVudS9QSwMEFAAAAAAAY3llOwAAAAAAAAAAAAAAABgAAABD -b25maWd1cmF0aW9uczIvbWVudWJhci9QSwMEFAAAAAAAY3llOwAAAAAAAAAAAAAAABgAAABDb25m -aWd1cmF0aW9uczIvdG9vbGJhci9QSwMEFAAAAAAAY3llOwAAAAAAAAAAAAAAAB8AAABDb25maWd1 -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</string> </value> +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 +7PyG8GnDFiHC3Ykp6aY3N5k619RKbaqVqlSr7aFytGaslxhL+UoZuhbDSQVd4vaUqwoDtPMmvY03 +1WNDEWzb1VKAbef6Mm3JRb+bm8qNigDYNvMFQqLd8G4Vha5K/1JfaHaGU0iVxL4U7vooM925mZIm +2/lEthxVrD58YfJAmI2UX5XS63TApsOrvBfVLFuJQPy8xAkDQs6X7VR0uuxugvvk33APYTLY/YcP +H26V04vplaACWhUeSnFQPbdShmCRnc9U9vQLFTM54LvXOAO5a5U85cYsAv0Vnnj/nAlaGOYLDBBu +toteYZeCv2G4o8cYlD+O2bNMM/sxoYucyM2TJN9/KmgpE7M0aZEZ5rOV3NCfZtQew+nSLCOS2bku +SYFUTZVVQ9ZILqoZimoo9ErKFSW8//OMC0Ck0W42hrnRzUyIU/CdinBkdSSwnCl5Qna+f79e5wmT +axeAbxaLTgJOdt1GVuxllUN4/39QSwcIa+aEB4EMAACmmAAAUEsDBBQAAAgAAM2FjjxuLy+LgwUA +AIMFAAAIAAAAbWV0YS54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgoK +PG9mZmljZTpkb2N1bWVudC1tZXRhIHhtbG5zOm9mZmljZT0idXJuOm9hc2lzOm5hbWVzOnRjOm9w +ZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5v +cmcvMTk5OS94bGluayIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEv +IiB4bWxuczptZXRhPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm1ldGE6 +MS4wIiB4bWxuczpvb289Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA0L29mZmljZSIgb2ZmaWNl +OnZlcnNpb249IjEuMiI+CiA8b2ZmaWNlOm1ldGE+CiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAgPG1l +dGE6Z2VuZXJhdG9yPk9wZW5PZmZpY2Uub3JnLzMuMSRVbml4IE9wZW5PZmZpY2Uub3JnX3Byb2pl +Y3QvMzEwbTE5JEJ1aWxkLTk0MjA8L21ldGE6Z2VuZXJhdG9yPgogIAogIAogIAogIAogIAogIAog +IAogIDxtZXRhOmNyZWF0aW9uLWRhdGU+MjAwOS0wMS0yM1QxMjowNDozMjwvbWV0YTpjcmVhdGlv +bi1kYXRlPgogIAogIAogIAogIAogIAogIAogIAogIDxkYzpkYXRlPjIwMTAtMDQtMTRUMTg6NDY6 +MjY8L2RjOmRhdGU+CiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAgPGRjOmxhbmd1YWdlPmZyLUZSPC9k +YzpsYW5ndWFnZT4KICAKICAKICAKICAKICAKICAKICAKICA8bWV0YTplZGl0aW5nLWN5Y2xlcz4y +NjwvbWV0YTplZGl0aW5nLWN5Y2xlcz4KICAKICAKICAKICAKICAKICAKICAKICA8bWV0YTplZGl0 +aW5nLWR1cmF0aW9uPlBUMTRIMjhNMDNTPC9tZXRhOmVkaXRpbmctZHVyYXRpb24+CiAgCiAgCiAg +CiAgCiAgCiAgCiAgCiAgPGRjOmNyZWF0b3I+SsOpcm9tZSBQZXJyaW48L2RjOmNyZWF0b3I+CiAg +CiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAg +CiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAgCiAgPG1ldGE6cHJpbnRlZC1ieT5Kw6ly +b21lIFBlcnJpbjwvbWV0YTpwcmludGVkLWJ5PgogIAogIDxtZXRhOnByaW50LWRhdGU+MjAwOS0x +MS0wNVQxNDozNzo0MDwvbWV0YTpwcmludC1kYXRlPgogIAogIAogIAogIAogIAogIDxtZXRhOmRv +Y3VtZW50LXN0YXRpc3RpYyBtZXRhOnRhYmxlLWNvdW50PSIzIiBtZXRhOmNlbGwtY291bnQ9IjUz +IiBtZXRhOm9iamVjdC1jb3VudD0iMCIvPgogIDxtZXRhOnVzZXItZGVmaW5lZCBtZXRhOm5hbWU9 +IkluZm8gMSIvPgogIDxtZXRhOnVzZXItZGVmaW5lZCBtZXRhOm5hbWU9IkluZm8gMiIvPgogIDxt +ZXRhOnVzZXItZGVmaW5lZCBtZXRhOm5hbWU9IkluZm8gMyIvPgogIDxtZXRhOnVzZXItZGVmaW5l +ZCBtZXRhOm5hbWU9IkluZm8gNCIvPjwvb2ZmaWNlOm1ldGE+Cjwvb2ZmaWNlOmRvY3VtZW50LW1l +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 +KbnxgusKC7D3BPeTI8xS8knciNuBGdpv2IdmJN8Tl63PmK6WOePFtp0HstY23X8+WsAvvueZ93uo +6AFhT1hE4YkKLp9GvnlNsy/U0UOE3pfymXdOUnSsztYJnhEH/AytdHb43i0gnmpyBfIbzilT9zfz +IrwWkh4AgQKZsO5Iy6qWzM70cc3syq21qvoSc89O+vFvZipplza4hsy/afsg/kzZdQbs1bjP7vWp +//v9xL+9n/v/gP+rAcecjsw8L1/WJIrT0R4zIwvD8qvuj/8DUEsHCBpsF3r2FQAARBgAAFBLAwQU +AAgICADNhY48AAAAAAAAAAAAAAAAJwAAAENvbmZpZ3VyYXRpb25zMi9hY2NlbGVyYXRvci9jdXJy +ZW50LnhtbAMAUEsHCAAAAAACAAAAAAAAAFBLAwQUAAAIAADNhY48AAAAAAAAAAAAAAAAHAAAAENv +bmZpZ3VyYXRpb25zMi9wcm9ncmVzc2Jhci9QSwMEFAAACAAAzYWOPAAAAAAAAAAAAAAAABgAAABD +b25maWd1cmF0aW9uczIvZmxvYXRlci9QSwMEFAAACAAAzYWOPAAAAAAAAAAAAAAAABoAAABDb25m +aWd1cmF0aW9uczIvcG9wdXBtZW51L1BLAwQUAAAIAADNhY48AAAAAAAAAAAAAAAAGAAAAENvbmZp +Z3VyYXRpb25zMi9tZW51YmFyL1BLAwQUAAAIAADNhY48AAAAAAAAAAAAAAAAGAAAAENvbmZpZ3Vy +YXRpb25zMi90b29sYmFyL1BLAwQUAAAIAADNhY48AAAAAAAAAAAAAAAAHwAAAENvbmZpZ3VyYXRp +b25zMi9pbWFnZXMvQml0bWFwcy9QSwMEFAAACAAAzYWOPAAAAAAAAAAAAAAAABoAAABDb25maWd1 +cmF0aW9uczIvc3RhdHVzYmFyL1BLAwQUAAgICADNhY48AAAAAAAAAAAAAAAADAAAAHNldHRpbmdz +LnhtbM1aXXOyOhC+769wuD3Tqtj2HJ3Wd1BrP97aVvzmLkCqqSHhJEG0v/4E0U5fKhYqOMcbR5Ls +s7vZzbMbvPq1dHBhARlHlFwr5bOSUoDEojYi02tl0G+f/qP8qp+cXNHXV2TBmk0tz4FEnHIohJzD +C3I94bVw+FrxGKlRwBGvEeBAXhNWjbqQbJfVPs+urdHCJ0uMyPxamQnh1opF3/fP/MoZZdNiuVqt +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</string> </value> </item> <item> <key> <string>precondition</string> </key> @@ -315,7 +309,7 @@ AAAAAAAAAAAA4zkAAE1FVEEtSU5GL21hbmlmZXN0LnhtbFBLBQYAAAAADwAPAO4DAABwOwAAAAA=</st </item> <item> <key> <string>size</string> </key> - <value> <int>16244</int> </value> + <value> <int>15899</int> </value> </item> <item> <key> <string>title</string> </key> diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision index 6610e117a3..ac7cd1ac70 100644 --- a/bt5/erp5_budget/bt/revision +++ b/bt5/erp5_budget/bt/revision @@ -1 +1 @@ -277 \ No newline at end of file +279 \ No newline at end of file -- 2.30.9