Commit c83ee0b8 authored by Aurel's avatar Aurel

2007-11-14 Aurel

* update workflow to defined h:m:s on archive date, many zsql method and script update to take more cases into account
+ zope 2.8 format

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@17566 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent aac3d6a2
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
<string>Products.CMFCore.ActionInformation</string> <tuple/>
<string>ActionInformation</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -70,11 +67,8 @@ ...@@ -70,11 +67,8 @@
<record id="2" aka="AAAAAAAAAAI="> <record id="2" aka="AAAAAAAAAAI=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="Expression" module="Products.CMFCore.Expression"/>
<string>Products.CMFCore.Expression</string> <tuple/>
<string>Expression</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
<string>Products.CMFCore.ActionInformation</string> <tuple/>
<string>ActionInformation</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -70,11 +67,8 @@ ...@@ -70,11 +67,8 @@
<record id="2" aka="AAAAAAAAAAI="> <record id="2" aka="AAAAAAAAAAI=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="Expression" module="Products.CMFCore.Expression"/>
<string>Products.CMFCore.Expression</string> <tuple/>
<string>Expression</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
<string>Products.CMFCore.ActionInformation</string> <tuple/>
<string>ActionInformation</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -70,11 +67,8 @@ ...@@ -70,11 +67,8 @@
<record id="2" aka="AAAAAAAAAAI="> <record id="2" aka="AAAAAAAAAAI=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="Expression" module="Products.CMFCore.Expression"/>
<string>Products.CMFCore.Expression</string> <tuple/>
<string>Expression</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
<string>Products.CMFCore.ActionInformation</string> <tuple/>
<string>ActionInformation</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -70,11 +67,8 @@ ...@@ -70,11 +67,8 @@
<record id="2" aka="AAAAAAAAAAI="> <record id="2" aka="AAAAAAAAAAI=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="Expression" module="Products.CMFCore.Expression"/>
<string>Products.CMFCore.Expression</string> <tuple/>
<string>Expression</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -571,6 +571,9 @@ ...@@ -571,6 +571,9 @@
<name>Manage ZCatalogIndex Entries</name> <name>Manage ZCatalogIndex Entries</name>
<role>Manager</role> <role>Manager</role>
</permission> </permission>
<permission type='list'>
<name>Manage extensions</name>
</permission>
<permission type='tuple'> <permission type='tuple'>
<name>Manage languages</name> <name>Manage languages</name>
<role>Manager</role> <role>Manager</role>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
<string>Products.ERP5Type.ERP5Type</string> <tuple/>
<string>ERP5TypeInformation</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
<string>Products.ERP5Type.ERP5Type</string> <tuple/>
<string>ERP5TypeInformation</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
<string>Products.ERP5Type.ERP5Type</string> <tuple/>
<string>ERP5TypeInformation</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
<string>Products.ERP5Type.ERP5Type</string> <tuple/>
<string>ERP5TypeInformation</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
<string>Products.ERP5Type.ERP5Type</string> <tuple/>
<string>ERP5TypeInformation</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ERP5Form" module="Products.ERP5Form.Form"/>
<string>Products.ERP5Form.Form</string> <tuple/>
<string>ERP5Form</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ERP5Form" module="Products.ERP5Form.Form"/>
<string>Products.ERP5Form.Form</string> <tuple/>
<string>ERP5Form</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -66,18 +66,18 @@ ...@@ -66,18 +66,18 @@
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string># This script is intended to be call at archive creation\n <value> <string># This script is intended to be call at archive creation\n
# It will launch one activity per group of 100 node uid in order\n # It will launch one activity per group of 10 node uid in order\n
# to create inventory and same for payment_uid\n # to create inventory and same for payment_uid\n
\n \n
account_uid_list = [x.uid for x in context.Archive_getBankAccountUidList()]\n account_uid_list = [x.uid for x in context.Archive_getBankAccountUidList()]\n
node_uid_list = [x.node_uid for x in context.Archive_getNodeUidList(connection_id=source_connection_id,\n node_uid_list = [x.node_uid for x in context.Archive_getNodeUidList(connection_id=source_connection_id,\n
account_uid_list=account_uid_list)]\n account_uid_list=account_uid_list)]\n
\n \n
context.log("node_uid_list", node_uid_list)\n #context.log("node_uid_list", node_uid_list)\n
while len(node_uid_list):\n while len(node_uid_list):\n
activity_node_list = node_uid_list[:100]\n activity_node_list = node_uid_list[:10]\n
node_uid_list = node_uid_list[100:]\n node_uid_list = node_uid_list[10:]\n
context.portal_simulation.activate(activity="SQLQueue",\n context.portal_simulation.activate(activity="SQLQueue", round_robin_scheduling=1,\n
tag=tag).Archive_createInventory(node_uid_list=activity_node_list,\n tag=tag).Archive_createInventory(node_uid_list=activity_node_list,\n
source_connection_id=source_connection_id,\n source_connection_id=source_connection_id,\n
destination_sql_catalog_id=destination_sql_catalog_id,\n destination_sql_catalog_id=destination_sql_catalog_id,\n
...@@ -87,11 +87,11 @@ while len(node_uid_list):\n ...@@ -87,11 +87,11 @@ while len(node_uid_list):\n
payment_uid_list = [x.payment_uid for x in context.Archive_getPaymentUidList(connection_id=source_connection_id,\n payment_uid_list = [x.payment_uid for x in context.Archive_getPaymentUidList(connection_id=source_connection_id,\n
account_uid_list=account_uid_list)]\n account_uid_list=account_uid_list)]\n
\n \n
context.log("payment_uid_list", payment_uid_list)\n #context.log("payment_uid_list", payment_uid_list)\n
while len(payment_uid_list):\n while len(payment_uid_list):\n
activity_payment_list = payment_uid_list[:100]\n activity_payment_list = payment_uid_list[:10]\n
payment_uid_list = payment_uid_list[100:]\n payment_uid_list = payment_uid_list[10:]\n
context.portal_simulation.activate(activity="SQLQueue",\n context.portal_simulation.activate(activity="SQLQueue", round_robin_scheduling=1,\n
tag=tag).Archive_createInventory(payment_uid_list=activity_payment_list,\n tag=tag).Archive_createInventory(payment_uid_list=activity_payment_list,\n
source_connection_id=source_connection_id,\n source_connection_id=source_connection_id,\n
destination_sql_catalog_id=destination_sql_catalog_id,\n destination_sql_catalog_id=destination_sql_catalog_id,\n
......
...@@ -80,17 +80,7 @@ if len(node_uid_list):\n ...@@ -80,17 +80,7 @@ if len(node_uid_list):\n
group_by_section=1,\n group_by_section=1,\n
group_by_node=1,\n group_by_node=1,\n
connection_id=source_connection_id)\n connection_id=source_connection_id)\n
rq = context.portal_simulation.getCurrentInventoryList(node_uid=node_uid_list,\n \n
at_date=inventory_date,\n
group_by_variation=1,\n
group_by_resource=1,\n
group_by_section=1,\n
group_by_node=1,\n
src__=1,\n
connection_id=source_connection_id)\n
\n
context.log("node",list(node_inventory_list))\n
context.log("request = %s" %rq, "" )\n
if len(payment_uid_list):\n if len(payment_uid_list):\n
payment_inventory_list = context.portal_simulation.getCurrentInventoryList(payment_uid=payment_uid_list,\n payment_inventory_list = context.portal_simulation.getCurrentInventoryList(payment_uid=payment_uid_list,\n
at_date=inventory_date,\n at_date=inventory_date,\n
...@@ -99,12 +89,10 @@ if len(payment_uid_list):\n ...@@ -99,12 +89,10 @@ if len(payment_uid_list):\n
group_by_section=1,\n group_by_section=1,\n
group_by_payment=1,\n group_by_payment=1,\n
connection_id=source_connection_id)\n connection_id=source_connection_id)\n
context.log("payment",list(payment_inventory_list))\n
\n \n
inventory_module = context.getPortalObject().archive_inventory_module\n inventory_module = context.getPortalObject().archive_inventory_module\n
node_inventory_dict = {}\n node_inventory_dict = {}\n
for inventory in node_inventory_list:\n for inventory in node_inventory_list:\n
context.log("inventory quantity/variation_text/section", ((inventory.total_quantity, inventory.variation_text)))\n
# Do only one inventory per node\n # Do only one inventory per node\n
if not node_inventory_dict.has_key(inventory.node_relative_url):\n if not node_inventory_dict.has_key(inventory.node_relative_url):\n
\n \n
...@@ -131,7 +119,6 @@ for inventory in node_inventory_list:\n ...@@ -131,7 +119,6 @@ for inventory in node_inventory_list:\n
inv_line.getPrice()\n inv_line.getPrice()\n
\n \n
if inventory.variation_text in ("", None):\n if inventory.variation_text in ("", None):\n
context.log("setting quantity on line", inventory.total_quantity)\n
inv_line.edit(quantity=inventory.total_quantity)\n inv_line.edit(quantity=inventory.total_quantity)\n
else:\n else:\n
# construct base category list\n # construct base category list\n
...@@ -179,7 +166,6 @@ for inv in node_inventory_dict.values(): \n ...@@ -179,7 +166,6 @@ for inv in node_inventory_dict.values(): \n
# same for payment uid\n # same for payment uid\n
payment_inventory_dict = {}\n payment_inventory_dict = {}\n
for inventory in payment_inventory_list:\n for inventory in payment_inventory_list:\n
context.log("inventory quantity/variation_text/section", ((inventory.total_quantity, inventory.variation_text)))\n
# Do only one inventory per payment\n # Do only one inventory per payment\n
if not payment_inventory_dict.has_key(inventory.payment_uid):\n if not payment_inventory_dict.has_key(inventory.payment_uid):\n
\n \n
...@@ -270,8 +256,6 @@ for inv in payment_inventory_dict.values(): \n ...@@ -270,8 +256,6 @@ for inv in payment_inventory_dict.values(): \n
<string>len</string> <string>len</string>
<string>_getattr_</string> <string>_getattr_</string>
<string>context</string> <string>context</string>
<string>rq</string>
<string>list</string>
<string>inventory_module</string> <string>inventory_module</string>
<string>node_inventory_dict</string> <string>node_inventory_dict</string>
<string>_getiter_</string> <string>_getiter_</string>
......
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
</item> </item>
<item> <item>
<key> <string>connection_id</string> </key> <key> <string>connection_id</string> </key>
<value> <string>erp5_dest1_sql_connection</string> </value> <value> <string>erp5_sql_connection</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
...@@ -111,7 +111,7 @@ ...@@ -111,7 +111,7 @@
</item> </item>
<item> <item>
<key> <string>src</string> </key> <key> <string>src</string> </key>
<value> <string>select catalog.uid from catalog where portal_type = "Bank Account"</string> </value> <value> <string>select catalog.uid from catalog where portal_type = "Bank Account" or portal_type = "Account"</string> </value>
</item> </item>
<item> <item>
<key> <string>template</string> </key> <key> <string>template</string> </key>
...@@ -147,7 +147,7 @@ ...@@ -147,7 +147,7 @@
</item> </item>
<item> <item>
<key> <string>raw</string> </key> <key> <string>raw</string> </key>
<value> <string>select catalog.uid from catalog where portal_type = "Bank Account"</string> </value> <value> <string>select catalog.uid from catalog where portal_type = "Bank Account" or portal_type = "Account"</string> </value>
</item> </item>
</dictionary> </dictionary>
</state> </state>
......
...@@ -29,6 +29,12 @@ ...@@ -29,6 +29,12 @@
<key> <string>_data</string> </key> <key> <string>_data</string> </key>
<value> <value>
<dictionary> <dictionary>
<item>
<key> <string>account_node_uid</string> </key>
<value>
<dictionary/>
</value>
</item>
<item> <item>
<key> <string>account_uid_list</string> </key> <key> <string>account_uid_list</string> </key>
<value> <value>
...@@ -43,6 +49,7 @@ ...@@ -43,6 +49,7 @@
<value> <value>
<list> <list>
<string>account_uid_list</string> <string>account_uid_list</string>
<string>account_node_uid</string>
</list> </list>
</value> </value>
</item> </item>
...@@ -84,7 +91,8 @@ ...@@ -84,7 +91,8 @@
</item> </item>
<item> <item>
<key> <string>arguments_src</string> </key> <key> <string>arguments_src</string> </key>
<value> <string>account_uid_list</string> </value> <value> <string>account_uid_list\r\n
account_node_uid</string> </value>
</item> </item>
<item> <item>
<key> <string>cache_time_</string> </key> <key> <string>cache_time_</string> </key>
...@@ -104,7 +112,7 @@ ...@@ -104,7 +112,7 @@
</item> </item>
<item> <item>
<key> <string>connection_id</string> </key> <key> <string>connection_id</string> </key>
<value> <string>erp5_dest1_sql_connection</string> </value> <value> <string>erp5_sql_connection</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
...@@ -125,13 +133,17 @@ ...@@ -125,13 +133,17 @@
select distinct(stock.node_uid) \n select distinct(stock.node_uid) \n
from stock \n from stock \n
where \n where \n
stock.payment_uid not in (\n (stock.payment_uid not in (\n
<dtml-in account_uid_list>\n <dtml-in account_uid_list>\n
<dtml-unless sequence-start>, </dtml-unless>\n <dtml-unless sequence-start>, </dtml-unless>\n
<dtml-sqlvar sequence-item type="int">\n <dtml-sqlvar sequence-item type="int">\n
</dtml-in>\n </dtml-in>\n
) \n ) \n
or stock.payment_uid is NULL or stock.payment_uid is NULL\n
or stock.payment_uid = "")\n
<dtml-if account_node_uid>\n
and stock.node_uid != <dtml-sqlvar account_node_uid type="int" >\n
</dtml-if>
]]></string> </value> ]]></string> </value>
</item> </item>
...@@ -174,13 +186,17 @@ where \n ...@@ -174,13 +186,17 @@ where \n
select distinct(stock.node_uid) \n select distinct(stock.node_uid) \n
from stock \n from stock \n
where \n where \n
stock.payment_uid not in (\n (stock.payment_uid not in (\n
<dtml-in account_uid_list>\n <dtml-in account_uid_list>\n
<dtml-unless sequence-start>, </dtml-unless>\n <dtml-unless sequence-start>, </dtml-unless>\n
<dtml-sqlvar sequence-item type="int">\n <dtml-sqlvar sequence-item type="int">\n
</dtml-in>\n </dtml-in>\n
) \n ) \n
or stock.payment_uid is NULL or stock.payment_uid is NULL\n
or stock.payment_uid = "")\n
<dtml-if account_node_uid>\n
and stock.node_uid != <dtml-sqlvar account_node_uid type="int" >\n
</dtml-if>
]]></string> </value> ]]></string> </value>
</item> </item>
......
...@@ -104,7 +104,7 @@ ...@@ -104,7 +104,7 @@
</item> </item>
<item> <item>
<key> <string>connection_id</string> </key> <key> <string>connection_id</string> </key>
<value> <string>erp5_dest1_sql_connection</string> </value> <value> <string>erp5_sql_connection</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
...@@ -131,7 +131,8 @@ where \n ...@@ -131,7 +131,8 @@ where \n
<dtml-sqlvar sequence-item type="int">\n <dtml-sqlvar sequence-item type="int">\n
</dtml-in>\n </dtml-in>\n
) \n ) \n
and stock.payment_uid is not NULL and stock.payment_uid is not NULL \n
and stock.payment_uid != ""
]]></string> </value> ]]></string> </value>
</item> </item>
...@@ -180,7 +181,8 @@ where \n ...@@ -180,7 +181,8 @@ where \n
<dtml-sqlvar sequence-item type="int">\n <dtml-sqlvar sequence-item type="int">\n
</dtml-in>\n </dtml-in>\n
) \n ) \n
and stock.payment_uid is not NULL and stock.payment_uid is not NULL \n
and stock.payment_uid != ""
]]></string> </value> ]]></string> </value>
</item> </item>
......
...@@ -68,13 +68,31 @@ ...@@ -68,13 +68,31 @@
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
non_reflected_portal_type = []\n non_reflected_portal_type = []\n
result = True\n item_type_list = context.getPortalItemTypeList()\n
item_container_type_list = []\n
\n \n
log = 0\n log = 0\n
#if context.getPortalType() == "Archive Inventory Line":\n result = True\n
# log = 1\n \n
if log:\n
context.log("object = %s" %(context,), "archive = %s" %(predicate,))\n
\n \n
# items and their container go in all catalog\n
ptype = context.getPortalType()\n
if ptype in item_type_list:\n
return True\n
if ptype in item_container_type_list:\n
return True\n
\n \n
if getattr(context, \'getExplanationValue\', None) is not None:\n
try:\n
explanation_value = context.getExplanationValue()\n
except AttributeError:\n
context.log("Archive_test, getExplanationValue failed", "obj = %s" %(context,))\n
explanation_value = None\n
if explanation_value is not None and explanation_value.getPortalType() \\\n
in item_container_type_list:\n
return True\n
\n \n
# Check Date\n # Check Date\n
if getattr(context, \'getStopDate\', None) is not None:\n if getattr(context, \'getStopDate\', None) is not None:\n
...@@ -88,14 +106,18 @@ if getattr(context, \'getStopDate\', None) is not None:\n ...@@ -88,14 +106,18 @@ if getattr(context, \'getStopDate\', None) is not None:\n
result = result and (context.getStopDate() >= min_stop_date)\n result = result and (context.getStopDate() >= min_stop_date)\n
if log:\n if log:\n
context.log("result after date", result)\n context.log("result after date", result)\n
# Object not delivery or movement goes in all archive\n \n
result = result or (not(getattr(context, \'isMovement\', 0) or getattr(context, \'isDelivery\', 0)))\n
if log:\n
context.log("result after isMovement/Delivery", result)\n
# Except those we don\'t want\n # Except those we don\'t want\n
result = result and (context.getPortalType() not in non_reflected_portal_type)\n if ptype not in non_reflected_portal_type:\n
if log:\n # Object not delivery or movement goes in all archive\n
context.log("result after reflected", result)\n result = result or (not(getattr(context, \'isMovement\', 0) or getattr(context, \'isDelivery\', 0)))\n
if log:\n
context.log(" - result after isMovement/Delivery", "%s" %result)\n
else:\n
result = result and True\n
if log:\n
context.log(" - result after reflected", "%s" %result)\n
\n
# XXX must manage specific case like Applied Rule, where do we want them to go ?\n # XXX must manage specific case like Applied Rule, where do we want them to go ?\n
return result\n return result\n
...@@ -144,13 +166,18 @@ return result\n ...@@ -144,13 +166,18 @@ return result\n
<tuple> <tuple>
<string>predicate</string> <string>predicate</string>
<string>non_reflected_portal_type</string> <string>non_reflected_portal_type</string>
<string>_getattr_</string>
<string>context</string>
<string>item_type_list</string>
<string>item_container_type_list</string>
<string>log</string>
<string>True</string> <string>True</string>
<string>result</string> <string>result</string>
<string>log</string> <string>ptype</string>
<string>getattr</string> <string>getattr</string>
<string>context</string>
<string>None</string> <string>None</string>
<string>_getattr_</string> <string>explanation_value</string>
<string>AttributeError</string>
<string>max_stop_date</string> <string>max_stop_date</string>
<string>min_stop_date</string> <string>min_stop_date</string>
</tuple> </tuple>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="ArchiveTool" module="Products.ERP5Catalog.Tool.ArchiveTool"/>
<string>Products.ERP5Catalog.Tool.ArchiveTool</string> <tuple/>
<string>ArchiveTool</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -18,10 +15,36 @@ ...@@ -18,10 +15,36 @@
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>_count</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_folder_handler</string> </key>
<value> <string>CMFBTreeFolderHandler</string> </value>
</item>
<item>
<key> <string>_mt_index</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>_tree</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>portal_archives</string> </value> <value> <string>portal_archives</string> </value>
</item> </item>
<item>
<key> <string>last_id</string> </key>
<value> <string>1</string> </value>
</item>
<item> <item>
<key> <string>uid</string> </key> <key> <string>uid</string> </key>
<value> <value>
...@@ -31,4 +54,26 @@ ...@@ -31,4 +54,26 @@
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Length" module="BTrees.Length"/>
</pickle>
<pickle> <int>0</int> </pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="OOBTree" module="BTrees._OOBTree"/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="OOBTree" module="BTrees._OOBTree"/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="DCWorkflowDefinition" module="Products.DCWorkflow.DCWorkflow"/>
<string>Products.DCWorkflow.DCWorkflow</string> <tuple/>
<string>DCWorkflowDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="Scripts" module="Products.DCWorkflow.Scripts"/>
<string>Products.DCWorkflow.Scripts</string> <tuple/>
<string>Scripts</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string>obj = state_change[\'object\']\n
from DateTime import DateTime\n
# we set h/m/s on min date and max date\n
date = obj.getStopDateRangeMax()\n
if date is not None:\n
date = DateTime("%8s 23:59:59" %(date.Date(),))\n
obj.setStopDateRangeMax(date)\n
\n
date = obj.getStopDateRangeMin()\n
if date is not None:\n
date = DateTime("%8s 23:59:59" %(date.Date(),))\n
obj.setStopDateRangeMin(date)\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>state_change, **kw</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>state_change</string>
<string>kw</string>
<string>_getitem_</string>
<string>obj</string>
<string>DateTime</string>
<string>_getattr_</string>
<string>date</string>
<string>None</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Archive_updateDate</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<string>Products.PythonScripts.PythonScript</string> <tuple/>
<string>PythonScript</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="States" module="Products.DCWorkflow.States"/>
<string>Products.DCWorkflow.States</string> <tuple/>
<string>States</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="StateDefinition" module="Products.DCWorkflow.States"/>
<string>Products.DCWorkflow.States</string> <tuple/>
<string>StateDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -57,7 +54,7 @@ ...@@ -57,7 +54,7 @@
<record id="2" aka="AAAAAAAAAAI="> <record id="2" aka="AAAAAAAAAAI=">
<pickle> <pickle>
<tuple> <tuple>
<global name="PersistentMapping" module="Persistence"/> <global name="PersistentMapping" module="Persistence.mapping"/>
<tuple/> <tuple/>
</tuple> </tuple>
</pickle> </pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="StateDefinition" module="Products.DCWorkflow.States"/>
<string>Products.DCWorkflow.States</string> <tuple/>
<string>StateDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,7 +51,7 @@ ...@@ -54,7 +51,7 @@
<record id="2" aka="AAAAAAAAAAI="> <record id="2" aka="AAAAAAAAAAI=">
<pickle> <pickle>
<tuple> <tuple>
<global name="PersistentMapping" module="Persistence"/> <global name="PersistentMapping" module="Persistence.mapping"/>
<tuple/> <tuple/>
</tuple> </tuple>
</pickle> </pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="StateDefinition" module="Products.DCWorkflow.States"/>
<string>Products.DCWorkflow.States</string> <tuple/>
<string>StateDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -59,7 +56,7 @@ ...@@ -59,7 +56,7 @@
<record id="2" aka="AAAAAAAAAAI="> <record id="2" aka="AAAAAAAAAAI=">
<pickle> <pickle>
<tuple> <tuple>
<global name="PersistentMapping" module="Persistence"/> <global name="PersistentMapping" module="Persistence.mapping"/>
<tuple/> <tuple/>
</tuple> </tuple>
</pickle> </pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="StateDefinition" module="Products.DCWorkflow.States"/>
<string>Products.DCWorkflow.States</string> <tuple/>
<string>StateDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -58,7 +55,7 @@ ...@@ -58,7 +55,7 @@
<record id="2" aka="AAAAAAAAAAI="> <record id="2" aka="AAAAAAAAAAI=">
<pickle> <pickle>
<tuple> <tuple>
<global name="PersistentMapping" module="Persistence"/> <global name="PersistentMapping" module="Persistence.mapping"/>
<tuple/> <tuple/>
</tuple> </tuple>
</pickle> </pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="StateDefinition" module="Products.DCWorkflow.States"/>
<string>Products.DCWorkflow.States</string> <tuple/>
<string>StateDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -56,7 +53,7 @@ ...@@ -56,7 +53,7 @@
<record id="2" aka="AAAAAAAAAAI="> <record id="2" aka="AAAAAAAAAAI=">
<pickle> <pickle>
<tuple> <tuple>
<global name="PersistentMapping" module="Persistence"/> <global name="PersistentMapping" module="Persistence.mapping"/>
<tuple/> <tuple/>
</tuple> </tuple>
</pickle> </pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="Transitions" module="Products.DCWorkflow.Transitions"/>
<string>Products.DCWorkflow.Transitions</string> <tuple/>
<string>Transitions</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
<string>Products.DCWorkflow.Transitions</string> <tuple/>
<string>TransitionDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
<string>Products.DCWorkflow.Transitions</string> <tuple/>
<string>TransitionDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
<string>Products.DCWorkflow.Transitions</string> <tuple/>
<string>TransitionDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
<string>Products.DCWorkflow.Transitions</string> <tuple/>
<string>TransitionDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
<string>Products.DCWorkflow.Transitions</string> <tuple/>
<string>TransitionDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -54,7 +51,7 @@ ...@@ -54,7 +51,7 @@
</item> </item>
<item> <item>
<key> <string>script_name</string> </key> <key> <string>script_name</string> </key>
<value> <string></string> </value> <value> <string>Archive_updateDate</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
<string>Products.DCWorkflow.Transitions</string> <tuple/>
<string>TransitionDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
<string>Products.DCWorkflow.Transitions</string> <tuple/>
<string>TransitionDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="Variables" module="Products.DCWorkflow.Variables"/>
<string>Products.DCWorkflow.Variables</string> <tuple/>
<string>Variables</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
<string>Products.DCWorkflow.Variables</string> <tuple/>
<string>VariableDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
<string>Products.DCWorkflow.Variables</string> <tuple/>
<string>VariableDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
<string>Products.DCWorkflow.Variables</string> <tuple/>
<string>VariableDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
<string>Products.DCWorkflow.Variables</string> <tuple/>
<string>VariableDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
<string>Products.DCWorkflow.Variables</string> <tuple/>
<string>VariableDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
<string>Products.DCWorkflow.Variables</string> <tuple/>
<string>VariableDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
<string>Products.DCWorkflow.Variables</string> <tuple/>
<string>VariableDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="Worklists" module="Products.DCWorkflow.Worklists"/>
<string>Products.DCWorkflow.Worklists</string> <tuple/>
<string>Worklists</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
......
...@@ -3,11 +3,8 @@ ...@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<tuple> <tuple>
<tuple> <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/>
<string>Products.DCWorkflow.Worklists</string> <tuple/>
<string>WorklistDefinition</string>
</tuple>
<none/>
</tuple> </tuple>
</pickle> </pickle>
<pickle> <pickle>
...@@ -80,7 +77,7 @@ Base_viewWorklist?simulation_state=draft&portal_type=Archive&reset=1 ...@@ -80,7 +77,7 @@ Base_viewWorklist?simulation_state=draft&portal_type=Archive&reset=1
<record id="3" aka="AAAAAAAAAAM="> <record id="3" aka="AAAAAAAAAAM=">
<pickle> <pickle>
<tuple> <tuple>
<global name="PersistentMapping" module="Persistence"/> <global name="PersistentMapping" module="Persistence.mapping"/>
<tuple/> <tuple/>
</tuple> </tuple>
</pickle> </pickle>
......
2007-11-14 Aurel
* update workflow to defined h:m:s on archive date, many zsql method and script update to take more cases into account
2007-10-25 romain 2007-10-25 romain
* Move Archive Tool frm erp5_core. * Move Archive Tool frm erp5_core.
......
58 61
\ No newline at end of file \ No newline at end of file
('portal_archives',) portal_archives
\ No newline at end of file \ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment