Commit 2f9759a3 authored by Łukasz Nowak's avatar Łukasz Nowak

Drop Internal Packing List related code.

This portal type is not used anymore.
parent 2b4904c1
...@@ -105,7 +105,6 @@ active_process.postResult(active_result) ...@@ -105,7 +105,6 @@ active_process.postResult(active_result)
'hosting_subscription_module', 'hosting_subscription_module',
'image_module', 'image_module',
'internal_order_module', 'internal_order_module',
'internal_packing_list_module',
'internal_supply_module', 'internal_supply_module',
'internal_trade_condition_module', 'internal_trade_condition_module',
'inventory_module', 'inventory_module',
......
252 253
\ No newline at end of file \ No newline at end of file
<local_roles_item>
<local_roles>
<role id='G-COMPANY'>
<item>Auditor</item>
<item>Author</item>
</role>
<role id='R-MEMBER'>
<item>Auditor</item>
<item>Author</item>
</role>
<role id='admin'>
<item>Owner</item>
</role>
</local_roles>
</local_roles_item>
\ No newline at end of file
<property_sheet_list> <property_sheet_list>
<portal_type id="Internal Packing List">
<item>VifibInternalPackingListConstraint</item>
</portal_type>
<portal_type id="Internal Packing List Line">
<item>VifibInternalPackingListLineConstraint</item>
</portal_type>
<portal_type id="Open Sale Order"> <portal_type id="Open Sale Order">
<item>VifibOpenSaleOrderConstraint</item> <item>VifibOpenSaleOrderConstraint</item>
</portal_type> </portal_type>
......
<type_roles>
<role id='Author; Auditor'>
<property id='title'>Group company</property>
<multi_property id='category'>group/company</multi_property>
<multi_property id='base_category'>group</multi_property>
</role>
<role id='Auditor; Author'>
<property id='title'>Member</property>
<multi_property id='category'>role/member</multi_property>
<multi_property id='base_category'>role</multi_property>
</role>
</type_roles>
\ No newline at end of file
<type_roles>
<role id='Assignor'>
<property id='title'>Group company</property>
<multi_property id='category'>group/company</multi_property>
<multi_property id='base_category'>group</multi_property>
</role>
<role id='Assignee'>
<property id='title'>Source Administration</property>
<property id='description'>Monovalued role</property>
<property id='base_category_script'>ERP5Type_getSecurityCategoryFromContent</property>
<multi_property id='base_category'>source_administration</multi_property>
</role>
</type_roles>
\ No newline at end of file
<workflow_chain> <workflow_chain>
<chain>
<type>Internal Packing List</type>
<workflow>local_permission_vifib_interaction_workflow</workflow>
</chain>
<chain> <chain>
<type>Open Sale Order</type> <type>Open Sale Order</type>
<workflow>local_permission_vifib_interaction_workflow</workflow> <workflow>local_permission_vifib_interaction_workflow</workflow>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Property Sheet" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_count</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</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>
<key> <string>id</string> </key>
<value> <string>VifibInternalPackingListConstraint</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Property Sheet</string> </value>
</item>
</dictionary>
</pickle>
</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>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Category Membership Arity Constraint" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_identity_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_range_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>constraint_base_category</string> </key>
<value>
<tuple>
<string>destination</string>
</tuple>
</value>
</item>
<item>
<key> <string>constraint_portal_type</string> </key>
<value> <string>python: portal.getPortalNodeTypeList()</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Destination must be defined</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>destination_constraint</string> </value>
</item>
<item>
<key> <string>max_arity</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>message_arity_not_in_range</string> </key>
<value> <string>Destination must be defined</string> </value>
</item>
<item>
<key> <string>message_arity_too_small</string> </key>
<value> <string>Destination must be defined</string> </value>
</item>
<item>
<key> <string>message_arity_with_portal_type_not_in_range</string> </key>
<value> <string>Destination must be defined</string> </value>
</item>
<item>
<key> <string>message_arity_with_portal_type_too_small</string> </key>
<value> <string>Destination must be defined</string> </value>
</item>
<item>
<key> <string>min_arity</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Category Membership Arity Constraint</string> </value>
</item>
<item>
<key> <string>use_acquisition</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Category Membership State Constraint" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_identity_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_range_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>base_category</string> </key>
<value> <string>destination</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>destination_state_constraint</string> </value>
</item>
<item>
<key> <string>membership_portal_type_list</string> </key>
<value> <string>python: portal.getPortalNodeTypeList()</string> </value>
</item>
<item>
<key> <string>message_different_state</string> </key>
<value> <string>Destination must be validated</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Category Membership State Constraint</string> </value>
</item>
<item>
<key> <string>workflow_state_list</string> </key>
<value> <string>python: \'validated\'</string> </value>
</item>
<item>
<key> <string>workflow_variable</string> </key>
<value> <string>validation_state</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Content Existence Constraint" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_identity_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_range_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>constraint_portal_type</string> </key>
<value> <string>python: (\'Internal Packing List Line\',)</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Internal Packing List Line is not defined</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>lines_constraint</string> </value>
</item>
<item>
<key> <string>message_no_subobject</string> </key>
<value> <string>Internal Packing List Line is not defined</string> </value>
</item>
<item>
<key> <string>message_no_subobject_portal_type</string> </key>
<value> <string>Internal Packing List Line is not defined</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Content Existence Constraint</string> </value>
</item>
<item>
<key> <string>test_tales_expression</string> </key>
<value> <string>python: object.getSimulationState() != \'draft\'</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="String Attribute Match Constraint" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_identity_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_local_properties</string> </key>
<value>
<tuple>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>message_property_not_set</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key> <string>_range_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>constraint_property</string> </key>
<value>
<tuple>
<string>reference</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>reference_not_empty_constraint</string> </value>
</item>
<item>
<key> <string>message_attribute_match</string> </key>
<value> <string>Reference must be defined</string> </value>
</item>
<item>
<key> <string>message_no_such_property</string> </key>
<value> <string>Reference must be defined</string> </value>
</item>
<item>
<key> <string>message_property_not_set</string> </key>
<value> <string>Reference must be defined</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>String Attribute Match Constraint</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Category Membership State Constraint" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_identity_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_range_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>base_category</string> </key>
<value> <string>source</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>source_state_constraint</string> </value>
</item>
<item>
<key> <string>membership_portal_type_list</string> </key>
<value> <string>python: portal.getPortalNodeTypeList()</string> </value>
</item>
<item>
<key> <string>message_different_state</string> </key>
<value> <string>Source must be validated</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Category Membership State Constraint</string> </value>
</item>
<item>
<key> <string>workflow_state_list</string> </key>
<value> <string>python: \'validated\'</string> </value>
</item>
<item>
<key> <string>workflow_variable</string> </key>
<value> <string>validation_state</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Property Existence Constraint" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_identity_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_local_properties</string> </key>
<value>
<tuple>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>message_property_not_set</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key> <string>_range_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>constraint_property</string> </key>
<value>
<tuple>
<string>start_date</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Property start_date must be defined</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>start_date_existence_constraint</string> </value>
</item>
<item>
<key> <string>message_no_such_property</string> </key>
<value> <string>Property start_date must be defined</string> </value>
</item>
<item>
<key> <string>message_property_not_set</string> </key>
<value> <string>Property start_date must be defined</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Property Existence Constraint</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Property Sheet" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_count</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</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>
<key> <string>id</string> </key>
<value> <string>VifibInternalPackingListLineConstraint</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Property Sheet</string> </value>
</item>
</dictionary>
</pickle>
</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>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Category Membership Arity Constraint" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_identity_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_range_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>constraint_base_category</string> </key>
<value>
<tuple>
<string>aggregate</string>
</tuple>
</value>
</item>
<item>
<key> <string>constraint_portal_type</string> </key>
<value> <string>python: \'Computer\'</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>internal_packing_list_line_aggregate_software_release_constraint</string> </value>
</item>
<item>
<key> <string>max_arity</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>message_arity_not_in_range</string> </key>
<value> <string>There should be exactly one ${portal_type} present in Items</string> </value>
</item>
<item>
<key> <string>message_arity_too_small</string> </key>
<value> <string>There should be exactly one ${portal_type} present in Items</string> </value>
</item>
<item>
<key> <string>message_arity_with_portal_type_not_in_range</string> </key>
<value> <string>There should be exactly one ${portal_type} present in Items</string> </value>
</item>
<item>
<key> <string>message_arity_with_portal_type_too_small</string> </key>
<value> <string>There should be exactly one ${portal_type} present in Items</string> </value>
</item>
<item>
<key> <string>min_arity</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Category Membership Arity Constraint</string> </value>
</item>
<item>
<key> <string>use_acquisition</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Property Existence Constraint" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_identity_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_local_properties</string> </key>
<value>
<tuple>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>message_property_not_set</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key> <string>_range_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>constraint_property</string> </key>
<value>
<tuple>
<string>quantity</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Property quantity must be defined</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>quantity_existence_constraint</string> </value>
</item>
<item>
<key> <string>message_no_such_property</string> </key>
<value> <string>Property quantity must be defined</string> </value>
</item>
<item>
<key> <string>message_property_not_set</string> </key>
<value> <string>Property quantity must be defined</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Property Existence Constraint</string> </value>
</item>
<item>
<key> <string>test_tales_expression</string> </key>
<value> <string>python: object.getSimulationState() != \'draft\'</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Attribute Equality Constraint" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_identity_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_range_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>constraint_attribute_name</string> </key>
<value> <string>quantity</string> </value>
</item>
<item>
<key> <string>constraint_attribute_value</string> </key>
<value> <string>python: 1.0</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>quantity_value_constraint</string> </value>
</item>
<item>
<key> <string>int_index</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>membership_criterion_category</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Attribute Equality Constraint</string> </value>
</item>
<item>
<key> <string>string_index</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>test_method_id</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>test_tales_expression</string> </key>
<value> <string>python: context.getSimulationState() != \'cancelled\'</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Category Membership Arity Constraint" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_identity_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_range_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>constraint_base_category</string> </key>
<value>
<tuple>
<string>resource</string>
</tuple>
</value>
</item>
<item>
<key> <string>constraint_portal_type</string> </key>
<value> <string>python: (\'Service\',)</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Resource must be defined</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>resource_constraint</string> </value>
</item>
<item>
<key> <string>max_arity</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>message_arity_not_in_range</string> </key>
<value> <string>Resource must be defined</string> </value>
</item>
<item>
<key> <string>message_arity_too_small</string> </key>
<value> <string>Resource must be defined</string> </value>
</item>
<item>
<key> <string>message_arity_with_portal_type_not_in_range</string> </key>
<value> <string>Resource must be defined</string> </value>
</item>
<item>
<key> <string>message_arity_with_portal_type_too_small</string> </key>
<value> <string>Resource must be defined</string> </value>
</item>
<item>
<key> <string>min_arity</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Category Membership Arity Constraint</string> </value>
</item>
<item>
<key> <string>test_tales_expression</string> </key>
<value> <string>python: object.getSimulationState() != \'draft\'</string> </value>
</item>
<item>
<key> <string>use_acquisition</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -69,129 +69,6 @@ class TestVifibSoftwareProductConstraint(testVifibMixin): ...@@ -69,129 +69,6 @@ class TestVifibSoftwareProductConstraint(testVifibMixin):
self.assertFalse(consistency_message in getMessageList(software_product)) self.assertFalse(consistency_message in getMessageList(software_product))
self.assertFalse(consistency_message in getMessageList(software_product_2)) self.assertFalse(consistency_message in getMessageList(software_product_2))
class TestVifibInternalPackingListConstraint(testVifibMixin):
def getTitle(self):
return "Vifib Internal Packing List Constraint checks"
def test_reference_not_empty(self):
ipl = self.portal.internal_packing_list_module.newContent(
portal_type='Internal Packing List')
# reference is set during object creation, set reset it
ipl.setReference(None)
consistency_message = 'Reference must be defined'
self.assertTrue(consistency_message in getMessageList(ipl))
ipl.setReference(rndstr())
self.assertFalse(consistency_message in getMessageList(ipl))
def test_start_date_not_empty(self):
ipl = self.portal.internal_packing_list_module.newContent(
portal_type='Internal Packing List')
consistency_message = 'Property start_date must be defined'
self.assertTrue(consistency_message in getMessageList(ipl))
ipl.setStartDate('2011/01/01')
self.assertFalse(consistency_message in getMessageList(ipl))
def test_destination_not_empty(self):
ipl = self.portal.internal_packing_list_module.newContent(
portal_type='Internal Packing List')
destination = self.portal.organisation_module.newContent(
portal_type='Organisation')
consistency_message = 'Destination must be defined'
self.assertTrue(consistency_message in getMessageList(ipl))
ipl.setDestination(destination.getRelativeUrl())
self.assertFalse(consistency_message in getMessageList(ipl))
def test_destination_validated(self):
destination = self.portal.organisation_module.newContent(
portal_type='Organisation')
ipl = self.portal.internal_packing_list_module.newContent(
portal_type='Internal Packing List',
destination=destination.getRelativeUrl())
consistency_message = 'Destination must be validated'
self.assertTrue(consistency_message in getMessageList(ipl))
destination.validate()
self.assertFalse(consistency_message in getMessageList(ipl))
def test_source_validated(self):
source = self.portal.organisation_module.newContent(
portal_type='Organisation')
ipl = self.portal.internal_packing_list_module.newContent(
portal_type='Internal Packing List',
source=source.getRelativeUrl())
consistency_message = 'Source must be validated'
self.assertTrue(consistency_message in getMessageList(ipl))
source.validate()
self.assertFalse(consistency_message in getMessageList(ipl))
def test_lines_existance(self):
ipl = self.portal.internal_packing_list_module.newContent(
portal_type='Internal Packing List')
ipl.confirm()
consistency_message = 'Internal Packing List Line is not defined'
self.assertTrue(consistency_message in getMessageList(ipl))
ipl.newContent(portal_type='Internal Packing List Line')
self.assertFalse(consistency_message in getMessageList(ipl))
class TestVifibInternalPackingListLineConstraint(testVifibMixin):
def getTitle(self):
return "Vifib Internal Packing List Line Constraint checks"
def test_quantity_existence(self):
ipl = self.portal.internal_packing_list_module.newContent(
portal_type='Internal Packing List')
ipl.confirm()
line = ipl.newContent(portal_type='Internal Packing List Line')
consistency_message = 'Property quantity must be defined'
self.assertTrue(consistency_message in getMessageList(line))
line.setQuantity(1.0)
self.assertFalse(consistency_message in getMessageList(line))
def test_resource(self):
ipl = self.portal.internal_packing_list_module.newContent(
portal_type='Internal Packing List')
ipl.confirm()
line = ipl.newContent(portal_type='Internal Packing List Line')
consistency_message = 'Resource must be defined'
self.assertTrue(consistency_message in getMessageList(line))
resource = self.portal.service_module.newContent(portal_type='Service')
line.setResource(resource.getRelativeUrl())
self.assertFalse(consistency_message in getMessageList(line))
def test_aggregate_computer(self):
ipl = self.portal.internal_packing_list_module.newContent(
portal_type='Internal Packing List')
ipl.confirm()
line = ipl.newContent(portal_type='Internal Packing List Line')
consistency_message = 'There should be exactly one Computer present in Items'
self.assertTrue(consistency_message in getMessageList(line))
aggregate = self.portal.computer_module.newContent(portal_type='Computer')
line.setAggregate(aggregate.getRelativeUrl())
self.assertFalse(consistency_message in getMessageList(line))
class TestVifibPurchasePackingListConstraint(testVifibMixin): class TestVifibPurchasePackingListConstraint(testVifibMixin):
def getTitle(self): def getTitle(self):
......
...@@ -44,7 +44,6 @@ class TestVifibModuleSecurity(testVifibMixin): ...@@ -44,7 +44,6 @@ class TestVifibModuleSecurity(testVifibMixin):
'document_module', 'document_module',
'event_module', 'event_module',
'image_module', 'image_module',
'internal_packing_list_module',
'inventory_module', 'inventory_module',
'knowledge_pad_module', 'knowledge_pad_module',
'meeting_module', 'meeting_module',
......
##############################################################################
#
# Copyright (c) 2002-2010 Nexedi SA and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
##############################################################################
from VifibMixin import testVifibMixin
import uuid
from DateTime import DateTime
import transaction
class TestVifibUserAdmin(testVifibMixin):
"""
Test Vifib User: admin access to the system
"""
def getTitle(self):
return "Test Vifib User Admin security"
def afterSetUp(self):
testVifibMixin.afterSetUp(self)
portal_activities = self.portal.portal_activities
if portal_activities.isSubscribed():
self.activity_tool_was_subscribed = 1
portal_activities.unsubscribe()
def beforeTearDown(self):
if getattr(self, 'activity_tool_was_subscribed', 0):
portal_activities = self.portal.portal_activities
portal_activities.subscribe()
testVifibMixin.beforeTearDown(self)
def test_base_UseradminCanCreateComputer(self):
"""
Check if Administrator should be able to register new computer
"""
login_id = 'test_vifib_user_admin'
self.login(user_name=login_id)
# Try to acceed the person module through restrictedTraverse
# This will test the security of the module
computer_module_id = self.portal.getDefaultModuleId(portal_type='Computer')
computer_module = self.portal.restrictedTraverse(computer_module_id)
# Add computer
computer = computer_module.newContent(portal_type='Computer')
# Edit the computer
computer.edit(
title='Test Vifib Computer',
reference='test_%s' % uuid.uuid4().hex,
)
# Access internal packing list module
internal_packing_list_id = self.portal.getDefaultModuleId(portal_type='Internal Packing List')
internal_packing_list_module = self.portal.restrictedTraverse(internal_packing_list_id)
# Create the IPL
internal_packing_list = internal_packing_list_module.newContent(
portal_type='Internal Packing List',
)
# User has to access his person profile
person_module_id = self.portal.getDefaultModuleId(portal_type='Person')
person_module = self.portal.restrictedTraverse(person_module_id)
person_value = person_module.restrictedTraverse(login_id)
# Edit IPL data
internal_packing_list.edit(
start_date=DateTime(),
source_administration_value=person_value,
destination_value=person_value,
destination_section_value=person_value,
)
# Access service
service_module_id = self.portal.getDefaultModuleId(portal_type='Service')
service_module = self.portal.restrictedTraverse(service_module_id)
service_value = service_module.restrictedTraverse('computer_registration')
# Edit line
internal_packing_list_line = internal_packing_list.newContent(
portal_type='Internal Packing List Line',
resource_value=service_value,
quantity=1,
aggregate_value=computer,
)
# Deliver IPL
internal_packing_list.portal_workflow.doActionFor(internal_packing_list, 'confirm_action')
internal_packing_list.portal_workflow.doActionFor(internal_packing_list, 'stop_action')
self.assertEquals('draft', internal_packing_list.getCausalityState())
transaction.commit()
self.stepTic()
transaction.commit()
self.logout()
# Computer registration has to be validated by a Vifib System Administrator
self.login(user_name='test_vifib_admin')
self.assertEquals('draft', internal_packing_list.getCausalityState())
internal_packing_list.portal_workflow.doActionFor(internal_packing_list, 'deliver_action')
self.logout()
self.login(user_name=login_id)
# Validate computer
computer.portal_workflow.doActionFor(computer, 'validate_action')
# Invalidate Computer
computer.portal_workflow.doActionFor(computer, 'invalidate_action')
def test_base_UseradminCanRequestSoftwareInstallation(self):
login_id = 'test_vifib_user_admin'
self.login(user_name=login_id)
# Try to acceed the person module through restrictedTraverse
# This will test the security of the module
computer_module_id = self.portal.getDefaultModuleId(portal_type='Computer')
computer_module = self.portal.restrictedTraverse(computer_module_id)
# Add computer
computer = computer_module.newContent(portal_type='Computer')
# Edit the computer
computer.edit(
title='Test Vifib Computer',
reference='test_%s' % uuid.uuid4().hex,
)
# Access internal packing list module
internal_packing_list_id = self.portal.getDefaultModuleId(portal_type='Internal Packing List')
internal_packing_list_module = self.portal.restrictedTraverse(internal_packing_list_id)
# Create the IPL
internal_packing_list = internal_packing_list_module.newContent(
portal_type='Internal Packing List',
)
# User has to access his person profile
person_module_id = self.portal.getDefaultModuleId(portal_type='Person')
person_module = self.portal.restrictedTraverse(person_module_id)
person_value = person_module.restrictedTraverse(login_id)
# Edit IPL data
internal_packing_list.edit(
start_date=DateTime(),
source_administration_value=person_value,
destination_value=person_value,
destination_section_value=person_value,
)
# Access service
service_module_id = self.portal.getDefaultModuleId(portal_type='Service')
service_module = self.portal.restrictedTraverse(service_module_id)
service_value = service_module.restrictedTraverse('computer_registration')
# Edit line
internal_packing_list_line = internal_packing_list.newContent(
portal_type='Internal Packing List Line',
resource_value=service_value,
quantity=1,
aggregate_value=computer,
)
# Deliver IPL
internal_packing_list.portal_workflow.doActionFor(internal_packing_list, 'confirm_action')
internal_packing_list.portal_workflow.doActionFor(internal_packing_list, 'stop_action')
self.assertEquals('draft', internal_packing_list.getCausalityState())
transaction.commit()
self.stepTic()
transaction.commit()
self.logout()
# Computer registration has to be validated by a Vifib System Administrator
self.login(user_name='test_vifib_admin')
self.assertEquals('draft', internal_packing_list.getCausalityState())
internal_packing_list.portal_workflow.doActionFor(internal_packing_list, 'deliver_action')
self.logout()
self.login(user_name=login_id)
computer.portal_workflow.doActionFor(computer, 'validate_action')
# Access software release to install
software_release_module_id = self.portal.getDefaultModuleId(portal_type='Software Release')
software_release_module = self.portal.restrictedTraverse(software_release_module_id)
software_release = software_release_module.restrictedTraverse('test_software_release')
# User has to access his person profile
person_module_id = self.portal.getDefaultModuleId(portal_type='Person')
person_module = self.portal.restrictedTraverse(person_module_id)
person_value = person_module.restrictedTraverse(login_id)
# Access purchase packing list module
purchase_packing_list_module_id = self.portal.getDefaultModuleId(portal_type='Purchase Packing List')
purchase_packing_list_module = self.portal.restrictedTraverse(purchase_packing_list_module_id)
# Create PPL
purchase_packing_list = purchase_packing_list_module.newContent(
start_date=DateTime(),
specialise='sale_trade_condition_module/vifib_trade_condition',
source='organisation_module/vifib_internet',
source_section='organisation_module/vifib_internet',
# XXX Hardcoded values
destination_value=person_value,
destination_section_value=person_value,
destination_decision_value=person_value,
price_currency='currency_module/EUR',
portal_type='Purchase Packing List')
# Commit the transaction in order to have access to the object
transaction.commit()
# Access service
service_module_id = self.portal.getDefaultModuleId(portal_type='Service')
service_module = self.portal.restrictedTraverse(service_module_id)
service_value = service_module.restrictedTraverse(self.portal.portal_preferences.getPreferredInstanceHostingResource())
# Create PPLL
purchase_packing_list_line = purchase_packing_list.newContent(
portal_type='Purchase Packing List Line',
resource_value=service_value,
aggregate_value_list=[computer, software_release],
quantity=1
)
purchase_packing_list.portal_workflow.doActionFor(purchase_packing_list, 'confirm_action')
...@@ -68,7 +68,6 @@ ...@@ -68,7 +68,6 @@
<key> <string>portal_type_filter</string> </key> <key> <string>portal_type_filter</string> </key>
<value> <value>
<list> <list>
<string>Internal Packing List</string>
<string>Purchase Packing List</string> <string>Purchase Packing List</string>
</list> </list>
</value> </value>
......
573 574
\ No newline at end of file \ No newline at end of file
...@@ -2,7 +2,6 @@ campaign_module ...@@ -2,7 +2,6 @@ campaign_module
component_module component_module
document_ingestion_module document_ingestion_module
event_module event_module
internal_packing_list_module
inventory_module inventory_module
knowledge_pad_module knowledge_pad_module
meeting_module meeting_module
......
...@@ -2,7 +2,6 @@ campaign_module ...@@ -2,7 +2,6 @@ campaign_module
component_module component_module
document_ingestion_module document_ingestion_module
event_module event_module
internal_packing_list_module
inventory_module inventory_module
knowledge_pad_module knowledge_pad_module
meeting_module meeting_module
......
Internal Packing List Line | VifibInternalPackingListLineConstraint
Internal Packing List | VifibInternalPackingListConstraint
Open Sale Order Line | VifibOpenSaleOrderLineConstraint Open Sale Order Line | VifibOpenSaleOrderLineConstraint
Open Sale Order | VifibOpenSaleOrderConstraint Open Sale Order | VifibOpenSaleOrderConstraint
Person | VifibPersonConstraint Person | VifibPersonConstraint
......
...@@ -16,8 +16,6 @@ Gadget ...@@ -16,8 +16,6 @@ Gadget
Gadget Tool Gadget Tool
Integration Site Integration Site
Integration Tool Integration Tool
Internal Packing List
Internal Packing List Module
Inventory Inventory
Inventory Module Inventory Module
Knowledge Box Knowledge Box
......
...@@ -16,8 +16,6 @@ Gadget ...@@ -16,8 +16,6 @@ Gadget
Gadget Tool Gadget Tool
Integration Site Integration Site
Integration Tool Integration Tool
Internal Packing List
Internal Packing List Module
Inventory Inventory
Inventory Module Inventory Module
Knowledge Box Knowledge Box
......
Internal Packing List | local_permission_vifib_interaction_workflow
Open Sale Order Module | init_vifib_interaction_workflow Open Sale Order Module | init_vifib_interaction_workflow
Open Sale Order | local_permission_vifib_interaction_workflow Open Sale Order | local_permission_vifib_interaction_workflow
Payment Transaction | local_permission_vifib_interaction_workflow Payment Transaction | local_permission_vifib_interaction_workflow
......
VifibInternalPackingListConstraint
VifibInternalPackingListLineConstraint
VifibPurchasePackingListLineConstraint VifibPurchasePackingListLineConstraint
VifibPurchasePackingListConstraint VifibPurchasePackingListConstraint
VifibSaleOrderConstraint VifibSaleOrderConstraint
......
testVifibPersonSecurity testVifibPersonSecurity
testVifibCRMSecurity testVifibCRMSecurity
testVifibModuleSecurity testVifibModuleSecurity
testVifibUserAdmin
testVifibUserCustomer testVifibUserCustomer
testVifibUserDeveloper testVifibUserDeveloper
testVifibComputerNetworkSecurity testVifibComputerNetworkSecurity
......
...@@ -110,7 +110,6 @@ ...@@ -110,7 +110,6 @@
<string>business_process_module</string> <string>business_process_module</string>
<string>sale_order_module</string> <string>sale_order_module</string>
<string>sale_packing_list_module</string> <string>sale_packing_list_module</string>
<string>internal_packing_list_module</string>
<string>purchase_order_module</string> <string>purchase_order_module</string>
<string>inventory_module</string> <string>inventory_module</string>
<string>sale_trade_condition_module</string> <string>sale_trade_condition_module</string>
......
...@@ -7,10 +7,6 @@ ...@@ -7,10 +7,6 @@
<type>Computer Partition</type> <type>Computer Partition</type>
<workflow>slap_interaction_workflow</workflow> <workflow>slap_interaction_workflow</workflow>
</chain> </chain>
<chain>
<type>Internal Packing List</type>
<workflow>slap_interaction_workflow</workflow>
</chain>
<chain> <chain>
<type>Open Sale Order</type> <type>Open Sale Order</type>
<workflow>slap_interaction_workflow</workflow> <workflow>slap_interaction_workflow</workflow>
......
...@@ -68,7 +68,6 @@ ...@@ -68,7 +68,6 @@
<key> <string>portal_type_filter</string> </key> <key> <string>portal_type_filter</string> </key>
<value> <value>
<list> <list>
<string>Internal Packing List</string>
<string>Purchase Packing List</string> <string>Purchase Packing List</string>
<string>Sale Invoice Transaction</string> <string>Sale Invoice Transaction</string>
<string>Sale Packing List</string> <string>Sale Packing List</string>
......
884 885
\ No newline at end of file \ No newline at end of file
Assignment | slap_interaction_workflow Assignment | slap_interaction_workflow
Computer Partition | slap_interaction_workflow Computer Partition | slap_interaction_workflow
Internal Packing List | slap_interaction_workflow
Open Sale Order | slap_interaction_workflow Open Sale Order | slap_interaction_workflow
Person | slap_interaction_workflow Person | slap_interaction_workflow
Purchase Packing List | slap_interaction_workflow Purchase Packing List | 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