Commit d1570751 authored by Łukasz Nowak's avatar Łukasz Nowak

Try to fix consistency of Open Sale Orders.

parent ccece88b
......@@ -15,6 +15,10 @@
<type>Internal Packing List</type>
<workflow>slap_interaction_workflow</workflow>
</chain>
<chain>
<type>Open Sale Order</type>
<workflow>slap_interaction_workflow</workflow>
</chain>
<chain>
<type>Person</type>
<workflow>person_slap_interface_workflow, slap_interaction_workflow</workflow>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </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>from DateTime import DateTime\n
from Products.ZSQLCatalog.SQLCatalog import Query, NegatedQuery\n
state = context.getValidationState()\n
validated = state == \'validated\'\n
archived = state == \'archived\'\n
\n
if state == \'archived\':\n
if context.getEffectiveDate() is None or context.getExpirationDate() is None:\n
if context.getExpirationDate() is None:\n
# is there any validated order?\n
validated_open_order = context.getPortalObject().portal_catalog.getResultValue(\n
portal_type=\'Open Sale Order\',\n
reference=context.getReference(),\n
simulation_state=\'validated\',\n
)\n
expiration_date = DateTime()\n
if validated_open_order is not None: \n
expiration_date = validated_open_order.getEffectiveDate()\n
if expiration_date is None:\n
raise NotImplementedError(\'Inform that it was impossible to fix as validated has no effective date.\')\n
context.setExpirationDate(expiration_date)\n
\n
if context.getEffectiveDate() is not None:\n
# ok\n
return\n
# is there any archived open sale order?\n
archived_open_order = context.getPortalObject().portal_catalog.getResultValue(\n
portal_type=\'Open Sale Order\',\n
reference=context.getReference(),\n
simulation_state=\'archived\',\n
uid=NegatedQuery(Query(uid=context.getUid())),\n
sort_on=((\'expiration_date\', \'descending\'),)\n
)\n
effective_date = DateTime()\n
if archived_open_order is not None:\n
effective_date = archived_open_order.getExpirationDate()\n
if effective_date is None:\n
raise NotImplementedError(\'Inform that it was impossible to fix as archived order has no expiration date.\')\n
context.setEffectiveDate(effective_date)\n
</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>OpenSaleOrder_fixEffectiveExpirationDateConsistency</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="InteractionDefinition" module="Products.ERP5.Interaction"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>actbox_category</string> </key>
<value> <string>workflow</string> </value>
</item>
<item>
<key> <string>actbox_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>actbox_url</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>activate_script_name</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>after_script_name</string> </key>
<value>
<list>
<string>OpenSaleOrder_fixConsistency</string>
</list>
</value>
</item>
<item>
<key> <string>before_commit_script_name</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>guard</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>OpenSaleOrder_fixConsistency</string> </value>
</item>
<item>
<key> <string>method_id</string> </key>
<value>
<list>
<string>fixConsistency</string>
</list>
</value>
</item>
<item>
<key> <string>once_per_transaction</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>portal_type_filter</string> </key>
<value>
<list>
<string>Open Sale Order</string>
</list>
</value>
</item>
<item>
<key> <string>script_name</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>temporary_document_disallowed</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>trigger_type</string> </key>
<value> <int>2</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </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>open_sale_order = state_change[\'object\']\n
open_sale_order.OpenSaleOrder_fixEffectiveExpirationDateConsistency()\n
</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>state_change</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>OpenSaleOrder_fixConsistency</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
607
\ No newline at end of file
608
\ No newline at end of file
......@@ -4,6 +4,7 @@ Computer Partition | slap_interaction_workflow
Computer | computer_slap_interface_workflow
Computer | slap_interaction_workflow
Internal Packing List | slap_interaction_workflow
Open Sale Order | slap_interaction_workflow
Person | person_slap_interface_workflow
Person | slap_interaction_workflow
Purchase Packing List Line | slap_interaction_workflow
......
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