[Erp5-report] r34566 jerome - in /erp5/trunk/bt5/erp5_budget: SkinTemplateItem/portal_skins...

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Apr 14 19:15:35 CEST 2010


Author: jerome
Date: Wed Apr 14 19:15:34 2010
New Revision: 34566

URL: http://svn.erp5.org?rev=34566&view=rev
Log:
improve budget consumption report to support 3 dimensions

Modified:
    erp5/trunk/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_getBudgetConsumptionReportData.xml
    erp5/trunk/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_viewBudgetConsumptionReport.xml
    erp5/trunk/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_viewBudgetConsumptionReportTemplate.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=34566&r1=34565&r2=34566&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] Wed Apr 14 19:15:34 2010
@@ -65,8 +65,6 @@
 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 @@
 \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 @@
   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 @@
     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 @@
       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 @@
 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 @@
                             <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 @@
                             <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 @@
                             <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 @@
                             <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>

Modified: erp5/trunk/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_viewBudgetConsumptionReport.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_viewBudgetConsumptionReport.xml?rev=34566&r1=34565&r2=34566&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_viewBudgetConsumptionReport.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_viewBudgetConsumptionReport.xml [utf8] Wed Apr 14 19:15:34 2010
@@ -379,40 +379,83 @@
      </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
-         </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
+          <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="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
-\n
-  </tal:block>\n
+    </tal:block>\n
+    </table:table-row-group>\n
+    </tal:block>\n
+    </tal:block>\n
+\n
    </table:table>\n
   </office:spreadsheet>\n
  </office:body>\n

Modified: erp5/trunk/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_viewBudgetConsumptionReportTemplate.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_viewBudgetConsumptionReportTemplate.xml?rev=34566&r1=34565&r2=34566&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_viewBudgetConsumptionReportTemplate.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_viewBudgetConsumptionReportTemplate.xml [utf8] Wed Apr 14 19:15:34 2010
@@ -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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
-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
+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
-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
+MHEFHDkkx+DDWY4HSINLZg/vJD3RDO8aAAx2GAT7ck8yKmECBbLthBHwaaJCvGdpecURaGpQ7swE
+rvCZLdq4wN/FYEdatphdsFDsR5iI9/BFOu0uEz8HfglEjIgPxGm+Pj/zpnRI3uIjH5aHpuuVC59P
+DZ4Nm7VXDJy1saETsCkVBmQNybKeru4FwyYa+ruRmrNAOEu/lS3IWzzHlx0/gjsyqu3snIi0alnr
 DqM4YPlohOOMxwpe8jxaMcYkkX2p4lJTbz6rXBFPyCWRhCaBbPQL8Z9NQVF3fxSHfc23H+V48R6R
 y8csYo/T5vB3/7///Dcb9WSQggKLijpDhVKT8zBvcBFJAd9vtyr5VIkt14v9hjXPVeaBIPNF33aS
 PPcJuDH88acfdtHPdxlEQRC4qRXkAoQVIZY0vztDbxV+d4arOoN5hjNEDlkyK624LgKeqDOOiPnS
 r+kmhYv8XZXyNvXKCyEVqn6gY8+MtVYMa2qmc2JS3wIRlJEvI1IkbF1aWG2BG5548R7FODyP/fHr
-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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 @@
         </item>
         <item>
             <key> <string>size</string> </key>
-            <value> <int>16244</int> </value>
+            <value> <int>15899</int> </value>
         </item>
         <item>
             <key> <string>title</string> </key>

Modified: erp5/trunk/bt5/erp5_budget/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_budget/bt/revision?rev=34566&r1=34565&r2=34566&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_budget/bt/revision [utf8] (original)
+++ erp5/trunk/bt5/erp5_budget/bt/revision [utf8] Wed Apr 14 19:15:34 2010
@@ -1,1 +1,1 @@
-277
+279




More information about the Erp5-report mailing list