diff --git a/bt5/erp5_accounting/PathTemplateItem/portal_rules/default_payment_simulation_rule.xml b/bt5/erp5_accounting/PathTemplateItem/portal_rules/default_payment_simulation_rule.xml index a33d246e9ca4c404bd575d4ed5d395964ad5d211..be386964590d948a323f44bbeec09cbf99c60324 100644 --- a/bt5/erp5_accounting/PathTemplateItem/portal_rules/default_payment_simulation_rule.xml +++ b/bt5/erp5_accounting/PathTemplateItem/portal_rules/default_payment_simulation_rule.xml @@ -112,7 +112,7 @@ <key> <string>test_method_id</string> </key> <value> <tuple> - <string>SimulationMovement_testPaymentRule</string> + <string>SimulationMovement_testPaymentSimulationRule</string> </tuple> </value> </item> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SimulationMovement_testPaymentSimulationRule.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SimulationMovement_testPaymentSimulationRule.xml new file mode 100644 index 0000000000000000000000000000000000000000..7ef60c1e43a7672ebbce2d711a0c9e1fb3abc7da --- /dev/null +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SimulationMovement_testPaymentSimulationRule.xml @@ -0,0 +1,156 @@ +<?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>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>movement = context\n +\n +parent = movement.getParentValue()\n +if parent.getPortalType() != \'Applied Rule\':\n + return False\n +\n +parent_rule = parent.getSpecialiseValue()\n +if parent_rule.getPortalType() not in (\'Invoice Transaction Simulation Rule\',):\n + return False\n +\n +# XXX hardcoded\n +receivable_account_type_list = (\'asset/receivable\',)\n +payable_account_type_list = (\'liability/payable\',)\n +\n +for account in (movement.getSourceValue(portal_type=\'Account\'),\n + movement.getDestinationValue(portal_type=\'Account\')):\n + if account is not None:\n + account_type = account.getAccountType()\n + if account_type in receivable_account_type_list or \\\n + account_type in payable_account_type_list:\n + return True\n +\n +return False\n +</string> </value> + </item> + <item> + <key> <string>_code</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>rule</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>rule</string> + <string>context</string> + <string>movement</string> + <string>_getattr_</string> + <string>parent</string> + <string>False</string> + <string>parent_rule</string> + <string>receivable_account_type_list</string> + <string>payable_account_type_list</string> + <string>_getiter_</string> + <string>account</string> + <string>None</string> + <string>account_type</string> + <string>True</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>SimulationMovement_testPaymentRule</string> </value> + </item> + <item> + <key> <string>warnings</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision index a2998a8b4a2933c91cb764a96e7da62984c6a245..1bbe7d811d867b45607930755e847ad5161ea9d1 100644 --- a/bt5/erp5_accounting/bt/revision +++ b/bt5/erp5_accounting/bt/revision @@ -1 +1 @@ -1120 \ No newline at end of file +1121 \ No newline at end of file diff --git a/bt5/erp5_invoicing/ActionTemplateItem/portal_types/Invoice%20Simulation%20Rule/view.xml b/bt5/erp5_invoicing/ActionTemplateItem/portal_types/Invoice%20Simulation%20Rule/view.xml new file mode 100644 index 0000000000000000000000000000000000000000..2b7a0e0ab4ad3d0ad3025289211e3e16cb872d7a --- /dev/null +++ b/bt5/erp5_invoicing/ActionTemplateItem/portal_types/Invoice%20Simulation%20Rule/view.xml @@ -0,0 +1,85 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>action</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>categories</string> </key> + <value> + <tuple> + <string>action_type/object_view</string> + </tuple> + </value> + </item> + <item> + <key> <string>category</string> </key> + <value> <string>object_view</string> </value> + </item> + <item> + <key> <string>condition</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>icon</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>view</string> </value> + </item> + <item> + <key> <string>permissions</string> </key> + <value> + <tuple> + <string>View</string> + </tuple> + </value> + </item> + <item> + <key> <string>priority</string> </key> + <value> <float>1.0</float> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>View</string> </value> + </item> + <item> + <key> <string>visible</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <global name="Expression" module="Products.CMFCore.Expression"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>string:${object_url}/Rule_view</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_invoicing/ActionTemplateItem/portal_types/Invoice%20Transaction%20Simulation%20Rule/divergence.xml b/bt5/erp5_invoicing/ActionTemplateItem/portal_types/Invoice%20Transaction%20Simulation%20Rule/divergence.xml new file mode 100644 index 0000000000000000000000000000000000000000..3f86738a0060cccbd4db66f1326facefe7d382e9 --- /dev/null +++ b/bt5/erp5_invoicing/ActionTemplateItem/portal_types/Invoice%20Transaction%20Simulation%20Rule/divergence.xml @@ -0,0 +1,85 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>action</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>categories</string> </key> + <value> + <tuple> + <string>action_type/object_view</string> + </tuple> + </value> + </item> + <item> + <key> <string>category</string> </key> + <value> <string>object_view</string> </value> + </item> + <item> + <key> <string>condition</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>icon</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>divergence</string> </value> + </item> + <item> + <key> <string>permissions</string> </key> + <value> + <tuple> + <string>View</string> + </tuple> + </value> + </item> + <item> + <key> <string>priority</string> </key> + <value> <float>2.0</float> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Divergence Testers</string> </value> + </item> + <item> + <key> <string>visible</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <global name="Expression" module="Products.CMFCore.Expression"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>string:${object_url}/Rule_view</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_invoicing/ActionTemplateItem/portal_types/Invoice%20Transaction%20Simulation%20Rule/view.xml b/bt5/erp5_invoicing/ActionTemplateItem/portal_types/Invoice%20Transaction%20Simulation%20Rule/view.xml new file mode 100644 index 0000000000000000000000000000000000000000..b237b4e70af55d8e59ed943ba1a2d5977f17183f --- /dev/null +++ b/bt5/erp5_invoicing/ActionTemplateItem/portal_types/Invoice%20Transaction%20Simulation%20Rule/view.xml @@ -0,0 +1,85 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>action</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>categories</string> </key> + <value> + <tuple> + <string>action_type/object_view</string> + </tuple> + </value> + </item> + <item> + <key> <string>category</string> </key> + <value> <string>object_view</string> </value> + </item> + <item> + <key> <string>condition</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>icon</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>view</string> </value> + </item> + <item> + <key> <string>permissions</string> </key> + <value> + <tuple> + <string>View</string> + </tuple> + </value> + </item> + <item> + <key> <string>priority</string> </key> + <value> <float>1.0</float> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>View</string> </value> + </item> + <item> + <key> <string>visible</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <global name="Expression" module="Products.CMFCore.Expression"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>string:${object_url}/InvoiceTransactionRule_view</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_invoicing/ActionTemplateItem/portal_types/Trade%20Model%20Simulation%20Rule/view.xml b/bt5/erp5_invoicing/ActionTemplateItem/portal_types/Trade%20Model%20Simulation%20Rule/view.xml new file mode 100644 index 0000000000000000000000000000000000000000..2b7a0e0ab4ad3d0ad3025289211e3e16cb872d7a --- /dev/null +++ b/bt5/erp5_invoicing/ActionTemplateItem/portal_types/Trade%20Model%20Simulation%20Rule/view.xml @@ -0,0 +1,85 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>action</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>categories</string> </key> + <value> + <tuple> + <string>action_type/object_view</string> + </tuple> + </value> + </item> + <item> + <key> <string>category</string> </key> + <value> <string>object_view</string> </value> + </item> + <item> + <key> <string>condition</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>icon</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>view</string> </value> + </item> + <item> + <key> <string>permissions</string> </key> + <value> + <tuple> + <string>View</string> + </tuple> + </value> + </item> + <item> + <key> <string>priority</string> </key> + <value> <float>1.0</float> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>View</string> </value> + </item> + <item> + <key> <string>visible</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <global name="Expression" module="Products.CMFCore.Expression"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>string:${object_url}/Rule_view</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_invoicing/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_cell.xml b/bt5/erp5_invoicing/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_cell.xml index 23c0f353e54cc4dcf07b5754ca574af14991d103..b1372cd04228b791e23dc9e48c245dd35533b030 100644 --- a/bt5/erp5_invoicing/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_cell.xml +++ b/bt5/erp5_invoicing/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_cell.xml @@ -3,7 +3,7 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <global name="CategoryMovementGroup" module="Products.ERP5Type.Document.CategoryMovementGroup"/> + <global name="MirrorCategoryMovementGroup" module="Products.ERP5Type.Document.MirrorCategoryMovementGroup"/> <tuple/> </tuple> </pickle> @@ -34,7 +34,7 @@ </item> <item> <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> + <value> <string>Mirror Category Movement Group</string> </value> </item> <item> <key> <string>tested_property</string> </key> diff --git a/bt5/erp5_invoicing/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_delivery.xml b/bt5/erp5_invoicing/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_delivery.xml index bc2ad009218d37fec25618fed0522ee1f723ccd5..767d5924df959af3e585acfa55deb9608e6d500d 100644 --- a/bt5/erp5_invoicing/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_delivery.xml +++ b/bt5/erp5_invoicing/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_delivery.xml @@ -3,7 +3,7 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <global name="CategoryMovementGroup" module="Products.ERP5Type.Document.CategoryMovementGroup"/> + <global name="MirrorCategoryMovementGroup" module="Products.ERP5Type.Document.MirrorCategoryMovementGroup"/> <tuple/> </tuple> </pickle> @@ -34,7 +34,7 @@ </item> <item> <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> + <value> <string>Mirror Category Movement Group</string> </value> </item> <item> <key> <string>tested_property</string> </key> diff --git a/bt5/erp5_invoicing/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_line.xml b/bt5/erp5_invoicing/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_line.xml index bab4bdb826b60cdefa894adfbe125733c154bc97..ad143256bac7a3e5cf850a9f0e1095947f66bb24 100644 --- a/bt5/erp5_invoicing/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_line.xml +++ b/bt5/erp5_invoicing/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_line.xml @@ -3,7 +3,7 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <global name="CategoryMovementGroup" module="Products.ERP5Type.Document.CategoryMovementGroup"/> + <global name="MirrorCategoryMovementGroup" module="Products.ERP5Type.Document.MirrorCategoryMovementGroup"/> <tuple/> </tuple> </pickle> @@ -34,7 +34,7 @@ </item> <item> <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> + <value> <string>Mirror Category Movement Group</string> </value> </item> <item> <key> <string>tested_property</string> </key> diff --git a/bt5/erp5_invoicing/PathTemplateItem/portal_deliveries/payment_transaction_builder/property_movement_group_on_delivery.xml b/bt5/erp5_invoicing/PathTemplateItem/portal_deliveries/payment_transaction_builder/property_movement_group_on_delivery.xml index 6dea91d70c08448c5b571371c12a96a8655e839e..68c1de9cfdfddca2f1e306c931fcf2e6b42a34cb 100644 --- a/bt5/erp5_invoicing/PathTemplateItem/portal_deliveries/payment_transaction_builder/property_movement_group_on_delivery.xml +++ b/bt5/erp5_invoicing/PathTemplateItem/portal_deliveries/payment_transaction_builder/property_movement_group_on_delivery.xml @@ -3,7 +3,7 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <global name="PropertyMovementGroup" module="Products.ERP5Type.Document.PropertyMovementGroup"/> + <global name="MirrorPropertyMovementGroup" module="Products.ERP5Type.Document.MirrorPropertyMovementGroup"/> <tuple/> </tuple> </pickle> @@ -34,7 +34,7 @@ </item> <item> <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> + <value> <string>Mirror Property Movement Group</string> </value> </item> <item> <key> <string>tested_property</string> </key> diff --git a/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_invoice_simulation_rule.xml b/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_invoice_simulation_rule.xml new file mode 100644 index 0000000000000000000000000000000000000000..ca81d4c0df73edb12a57934bb6229a35e626cb97 --- /dev/null +++ b/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_invoice_simulation_rule.xml @@ -0,0 +1,182 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="InvoiceSimulationRule" module="Products.ERP5Type.Document.InvoiceSimulationRule"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_count</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>_identity_criterion</string> </key> + <value> + <dictionary> + <item> + <key> <string>portal_type</string> </key> + <value> + <list> + <string>Simulation Movement</string> + </list> + </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>_mt_index</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + </value> + </item> + <item> + <key> <string>_range_criterion</string> </key> + <value> + <dictionary> + <item> + <key> <string>start_date</string> </key> + <value> + <tuple> + <none/> + <none/> + </tuple> + </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>_tree</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> + </value> + </item> + <item> + <key> <string>categories</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>criterion_property</string> </key> + <value> + <tuple> + <string>portal_type</string> + </tuple> + </value> + </item> + <item> + <key> <string>default_reference</string> </key> + <value> <string>default_invoicing_rule</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>expandable_property</string> </key> + <value> + <tuple> + <string>source</string> + <string>source_section</string> + <string>source_decision</string> + <string>source_administration</string> + <string>source_project</string> + <string>source_function</string> + <string>source_payment</string> + <string>source_account</string> + <string>destination</string> + <string>destination_section</string> + <string>destination_decision</string> + <string>destination_administration</string> + <string>destination_project</string> + <string>destination_function</string> + <string>destination_payment</string> + <string>destination_account</string> + <string>start_date</string> + <string>stop_date</string> + <string>description</string> + <string>resource</string> + <string>variation_category_list</string> + <string>variation_property_dict</string> + <string>delivery_mode</string> + <string>incoterm</string> + <string>base_contribution_list</string> + <string>aggregate_list</string> + <string>quantity</string> + <string>quantity_unit</string> + <string>price</string> + <string>price_currency</string> + <string>efficiency</string> + </tuple> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>default_invoice_simulation_rule</string> </value> + </item> + <item> + <key> <string>matching_property</string> </key> + <value> + <tuple> + <string>resource</string> + <string>variation_category_list</string> + <string>variation_property_dict</string> + </tuple> + </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Invoice Simulation Rule</string> </value> + </item> + <item> + <key> <string>test_method_id</string> </key> + <value> + <tuple> + <string>SimulationMovement_testInvoiceSimulationRule</string> + </tuple> + </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Default Invoice Simulation Rule</string> </value> + </item> + <item> + <key> <string>version</string> </key> + <value> <string>2</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> diff --git a/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_category_tester.xml b/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_category_tester.xml new file mode 100644 index 0000000000000000000000000000000000000000..2f8e133c400df06057468663041c1e39e5ce9cf9 --- /dev/null +++ b/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_category_tester.xml @@ -0,0 +1,109 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="CategoryDivergenceTester" module="Products.ERP5Type.Document.CategoryDivergenceTester"/> + <tuple/> + </tuple> + </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>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>default_category_tester</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Category Divergence Tester</string> </value> + </item> + <item> + <key> <string>solver</string> </key> + <value> + <tuple> + <string>CopyToTarget</string> + </tuple> + </value> + </item> + <item> + <key> <string>tested_property</string> </key> + <value> + <tuple> + <string>aggregate | Aggregate</string> + <string>base_application | Base Application</string> + <string>base_contribution | Base Contribution</string> + <string>destination | Destination</string> + <string>destination_account | Destination Account</string> + <string>destination_administration | Destination Administration</string> + <string>destination_decision | Destination Decision</string> + <string>destination_function | Destination Function</string> + <string>destination_payment | Destination Payment</string> + <string>destination_project | Destination Project</string> + <string>destination_section | Destination Section</string> + <string>price_currency | Price Currency</string> + <string>resource | Resource</string> + <string>source | Source</string> + <string>source_account | Source Account</string> + <string>source_administration | Source Administration</string> + <string>source_decision | Source Decision</string> + <string>source_function | Source Function</string> + <string>source_payment | Source Payment</string> + <string>source_project | Source Project</string> + <string>source_section | Source Section</string> + </tuple> + </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></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> diff --git a/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_property_tester.xml b/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_property_tester.xml new file mode 100644 index 0000000000000000000000000000000000000000..cfa35068bf575e78c6e24ef0b0dfb98e68c2166f --- /dev/null +++ b/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_property_tester.xml @@ -0,0 +1,116 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="PropertyDivergenceTester" module="Products.ERP5Type.Document.PropertyDivergenceTester"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_count</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>tested_property_list</string> </value> + </item> + <item> + <key> <string>type</string> </key> + <value> <string>string</string> </value> + </item> + </dictionary> + </tuple> + </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>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>default_property_tester</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Property Divergence Tester</string> </value> + </item> + <item> + <key> <string>solver</string> </key> + <value> + <tuple> + <string>CopyToTarget</string> + </tuple> + </value> + </item> + <item> + <key> <string>tested_property</string> </key> + <value> + <tuple> + <string>start_date | Start Date</string> + <string>stop_date | Stop Date</string> + <string>price | Price</string> + </tuple> + </value> + </item> + <item> + <key> <string>tested_property_list</string> </key> + <value> + <tuple> + <string>aaa</string> + </tuple> + </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></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> diff --git a/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_quantity_tester.xml b/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_quantity_tester.xml new file mode 100644 index 0000000000000000000000000000000000000000..fc509725a81014657120916e0e9737d5579479a2 --- /dev/null +++ b/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_quantity_tester.xml @@ -0,0 +1,94 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="QuantityDivergenceTester" module="Products.ERP5Type.Document.QuantityDivergenceTester"/> + <tuple/> + </tuple> + </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>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>default_quantity_tester</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Quantity Divergence Tester</string> </value> + </item> + <item> + <key> <string>property_tester</string> </key> + <value> <string>quantity</string> </value> + </item> + <item> + <key> <string>solver</string> </key> + <value> + <tuple> + <string>SplitAndDefer</string> + <string>CopyToTarget</string> + </tuple> + </value> + </item> + <item> + <key> <string>solver_list</string> </key> + <value> + <tuple> + <string>Solver</string> + </tuple> + </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></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> diff --git a/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_invoice_transaction_simulation_rule.xml b/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_invoice_transaction_simulation_rule.xml new file mode 100644 index 0000000000000000000000000000000000000000..7c394b38f4a620d5f358d59febbb9fff98a7fdff --- /dev/null +++ b/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_invoice_transaction_simulation_rule.xml @@ -0,0 +1,316 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="InvoiceTransactionSimulationRule" module="Products.ERP5Type.Document.InvoiceTransactionSimulationRule"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_count</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>_identity_criterion</string> </key> + <value> + <dictionary> + <item> + <key> <string>portal_type</string> </key> + <value> + <list> + <string>Simulation Movement</string> + </list> + </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>_mt_index</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + </value> + </item> + <item> + <key> <string>_range_criterion</string> </key> + <value> + <dictionary/> + </value> + </item> + <item> + <key> <string>_tree</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> + </value> + </item> + <item> + <key> <string>categories</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>criterion_property</string> </key> + <value> + <tuple> + <string>portal_type</string> + </tuple> + </value> + </item> + <item> + <key> <string>default_reference</string> </key> + <value> <string>default_invoice_transaction_rule</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>expandable_property</string> </key> + <value> + <tuple> + <string>destination_administration</string> + <string>destination_decision</string> + <string>destination_function</string> + <string>destination_payment</string> + <string>destination_project</string> + <string>destination_section</string> + <string>source_administration</string> + <string>source_decision</string> + <string>source_function</string> + <string>source_payment</string> + <string>source_project</string> + <string>source_section</string> + <string>start_date</string> + <string>stop_date</string> + </tuple> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>default_invoice_transaction_simulation_rule</string> </value> + </item> + <item> + <key> <string>index</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent> + </value> + </item> + <item> + <key> <string>last_id</string> </key> + <value> <string>15</string> </value> + </item> + <item> + <key> <string>matching_property</string> </key> + <value> + <tuple> + <string>destination</string> + <string>destination_total_asset_price</string> + <string>source</string> + <string>source_total_asset_price</string> + <string>resource</string> + </tuple> + </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Invoice Transaction Simulation Rule</string> </value> + </item> + <item> + <key> <string>test_method_id</string> </key> + <value> + <tuple> + <string>SimulationMovement_testInvoiceTransactionSimulationRule</string> + </tuple> + </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Default Invoice Transaction Simulation Rule</string> </value> + </item> + <item> + <key> <string>version</string> </key> + <value> <string>2</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> + <record id="5" aka="AAAAAAAAAAU="> + <pickle> + <tuple> + <tuple> + <string>Persistence</string> + <string>PersistentMapping</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_container</string> </key> + <value> + <dictionary> + <item> + <key> <string>movement</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent> + </value> + </item> + <item> + <key> <string>vat_per_region</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAc=</string> </persistent> + </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="6" aka="AAAAAAAAAAY="> + <pickle> + <tuple> + <tuple> + <string>Persistence</string> + <string>PersistentMapping</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_container</string> </key> + <value> + <dictionary/> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="7" aka="AAAAAAAAAAc="> + <pickle> + <tuple> + <tuple> + <string>Persistence</string> + <string>PersistentMapping</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_container</string> </key> + <value> + <dictionary> + <item> + <key> <int>0</int> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAg=</string> </persistent> + </value> + </item> + <item> + <key> <int>1</int> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAk=</string> </persistent> + </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="8" aka="AAAAAAAAAAg="> + <pickle> + <tuple> + <tuple> + <string>Persistence</string> + <string>PersistentMapping</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_container</string> </key> + <value> + <dictionary> + <item> + <key> <string>portal_rules/default_invoice_transaction_simulation_rule/4</string> </key> + <value> <int>0</int> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="9" aka="AAAAAAAAAAk="> + <pickle> + <tuple> + <tuple> + <string>Persistence</string> + <string>PersistentMapping</string> + </tuple> + <none/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_container</string> </key> + <value> + <dictionary> + <item> + <key> <string>portal_rules/default_invoice_transaction_simulation_rule/10</string> </key> + <value> <int>2</int> </value> + </item> + <item> + <key> <string>portal_rules/default_invoice_transaction_simulation_rule/11</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>portal_rules/default_invoice_transaction_simulation_rule/12</string> </key> + <value> <int>0</int> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_trade_model_simulation_rule.xml b/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_trade_model_simulation_rule.xml new file mode 100644 index 0000000000000000000000000000000000000000..5d9d54c8b8dd9c74e8903daf5a27819164410e7d --- /dev/null +++ b/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_trade_model_simulation_rule.xml @@ -0,0 +1,190 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="TradeModelSimulationRule" module="Products.ERP5Type.Document.TradeModelSimulationRule"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_count</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>_identity_criterion</string> </key> + <value> + <dictionary> + <item> + <key> <string>portal_type</string> </key> + <value> + <list> + <string>Simulation Movement</string> + </list> + </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>_local_properties</string> </key> + <value> + <tuple> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>expandable_property_list</string> </value> + </item> + <item> + <key> <string>type</string> </key> + <value> <string>lines</string> </value> + </item> + </dictionary> + </tuple> + </value> + </item> + <item> + <key> <string>_mt_index</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + </value> + </item> + <item> + <key> <string>_range_criterion</string> </key> + <value> + <dictionary> + <item> + <key> <string>start_date</string> </key> + <value> + <tuple> + <none/> + <none/> + </tuple> + </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>_tree</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> + </value> + </item> + <item> + <key> <string>categories</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>criterion_property</string> </key> + <value> + <tuple> + <string>portal_type</string> + </tuple> + </value> + </item> + <item> + <key> <string>default_reference</string> </key> + <value> <string>default_trade_model_rule</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>expandable_property</string> </key> + <value> + <tuple> + <string>aggregate_list</string> + <string>delivery_mode_list</string> + <string>description</string> + <string>destination_account_list</string> + <string>destination_administration_list</string> + <string>destination_decision_list</string> + <string>destination_function_list</string> + <string>destination_list</string> + <string>destination_payment_list</string> + <string>destination_section_list</string> + <string>incoterm_list</string> + <string>price_currency_list</string> + <string>resource_list</string> + <string>source_account_list</string> + <string>source_administration_list</string> + <string>source_decision_list</string> + <string>source_function_list</string> + <string>source_list</string> + <string>source_payment_list</string> + <string>source_section_list</string> + </tuple> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>default_trade_model_simulation_rule</string> </value> + </item> + <item> + <key> <string>last_id</string> </key> + <value> <string>3</string> </value> + </item> + <item> + <key> <string>matching_property</string> </key> + <value> + <tuple> + <string>reference</string> + </tuple> + </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Trade Model Simulation Rule</string> </value> + </item> + <item> + <key> <string>test_method_id</string> </key> + <value> + <tuple> + <string>SimulationMovement_testTradeModelSimulationRule</string> + </tuple> + </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Default Trade Model Simulation Rule</string> </value> + </item> + <item> + <key> <string>version</string> </key> + <value> <string>2</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> diff --git a/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_category_tester.xml b/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_category_tester.xml new file mode 100644 index 0000000000000000000000000000000000000000..b9e5a42bb9532d989b47d814d2c597d213941adc --- /dev/null +++ b/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_category_tester.xml @@ -0,0 +1,55 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="CategoryDivergenceTester" module="Products.ERP5Type.Document.CategoryDivergenceTester"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>default_category_tester</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Category Divergence Tester</string> </value> + </item> + <item> + <key> <string>tested_property</string> </key> + <value> + <tuple> + <string>resource_list | Resource</string> + <string>source_section_list | Source Section</string> + <string>destination_section_list | Destination Section</string> + <string>source_list | Source</string> + <string>destination_list | Destination</string> + <string>source_function_list | Source Function</string> + <string>destination_function_list | Destination Function</string> + <string>source_project_list | Source Project</string> + <string>destination_project_list | Destination Project</string> + <string>aggregate_list | Aggregate</string> + <string>price_currency_list | Price Currency</string> + <string>base_contribution_list | Base Contribution</string> + <string>base_application_list | Base Application</string> + <string>source_account_list | Source Account</string> + <string>destination_account_list | Destination Account</string> + </tuple> + </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>default_category_tester</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_property_tester.xml b/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_property_tester.xml new file mode 100644 index 0000000000000000000000000000000000000000..de298c73acab38e722213308baafcb754c9ba9f0 --- /dev/null +++ b/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_property_tester.xml @@ -0,0 +1,43 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="PropertyDivergenceTester" module="Products.ERP5Type.Document.PropertyDivergenceTester"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>default_property_tester</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Property Divergence Tester</string> </value> + </item> + <item> + <key> <string>tested_property</string> </key> + <value> + <tuple> + <string>start_date | Start Date</string> + <string>stop_date | Stop Date</string> + <string>price | Price</string> + </tuple> + </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>default_property_tester</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_quantity_tester.xml b/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_quantity_tester.xml new file mode 100644 index 0000000000000000000000000000000000000000..e8d3126c84c2a2f350abede1c69e0792c5834162 --- /dev/null +++ b/bt5/erp5_invoicing/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_quantity_tester.xml @@ -0,0 +1,45 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="QuantityDivergenceTester" module="Products.ERP5Type.Document.QuantityDivergenceTester"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>decimal_alignment_enabled</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>decimal_exponent</string> </key> + <value> <string>0.000001</string> </value> + </item> + <item> + <key> <string>decimal_rounding_option</string> </key> + <value> <string>ROUND_DOWN</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>default_quantity_tester</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Quantity Divergence Tester</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>default_quantity_tester</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_invoicing/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml b/bt5/erp5_invoicing/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml index 4a3b021c064127ed8ec4d84327ee993602a0f6e5..691f694c1ca4371055820609ceb9dbe8bb52c9eb 100644 --- a/bt5/erp5_invoicing/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml +++ b/bt5/erp5_invoicing/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml @@ -3,6 +3,11 @@ <item>Invoice Cell</item> <item>Invoice Line</item> </portal_type> + <portal_type id="Invoice Simulation Rule"> + <item>Category Divergence Tester</item> + <item>Property Divergence Tester</item> + <item>Quantity Divergence Tester</item> + </portal_type> <portal_type id="Invoice Transaction Rule"> <item>Accounting Rule Cell</item> <item>Category Divergence Tester</item> @@ -10,19 +15,34 @@ <item>Property Divergence Tester</item> <item>Quantity Divergence Tester</item> </portal_type> + <portal_type id="Invoice Transaction Simulation Rule"> + <item>Accounting Rule Cell</item> + <item>Category Divergence Tester</item> + <item>Predicate</item> + <item>Property Divergence Tester</item> + <item>Quantity Divergence Tester</item> + </portal_type> <portal_type id="Invoicing Rule"> <item>Category Divergence Tester</item> <item>Property Divergence Tester</item> <item>Quantity Divergence Tester</item> </portal_type> <portal_type id="Rule Tool"> + <item>Invoice Simulation Rule</item> <item>Invoice Transaction Rule</item> + <item>Invoice Transaction Simulation Rule</item> <item>Invoicing Rule</item> <item>Trade Model Rule</item> + <item>Trade Model Simulation Rule</item> </portal_type> <portal_type id="Trade Model Rule"> <item>Category Divergence Tester</item> <item>Property Divergence Tester</item> <item>Quantity Divergence Tester</item> </portal_type> + <portal_type id="Trade Model Simulation Rule"> + <item>Category Divergence Tester</item> + <item>Property Divergence Tester</item> + <item>Quantity Divergence Tester</item> + </portal_type> </allowed_content_type_list> \ No newline at end of file diff --git a/bt5/erp5_invoicing/PortalTypeTemplateItem/portal_types/Invoice%20Simulation%20Rule.xml b/bt5/erp5_invoicing/PortalTypeTemplateItem/portal_types/Invoice%20Simulation%20Rule.xml new file mode 100644 index 0000000000000000000000000000000000000000..738663212b62539201a19e5577ae5d60f6bdf95a --- /dev/null +++ b/bt5/erp5_invoicing/PortalTypeTemplateItem/portal_types/Invoice%20Simulation%20Rule.xml @@ -0,0 +1,65 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>acquire_local_roles</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>content_icon</string> </key> + <value> <string>document.gif</string> </value> + </item> + <item> + <key> <string>content_meta_type</string> </key> + <value> <string>ERP5 Invoice Simulation Rule</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string> Transformation Sourcing Rule object make sure\n + items required in a Transformation are sourced\n +</string> </value> + </item> + <item> + <key> <string>factory</string> </key> + <value> <string>addInvoiceSimulationRule</string> </value> + </item> + <item> + <key> <string>filter_content_types</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>group_list</string> </key> + <value> + <tuple> + <string>rule</string> + </tuple> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>Invoice Simulation Rule</string> </value> + </item> + <item> + <key> <string>init_script</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>permission</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_invoicing/PortalTypeTemplateItem/portal_types/Invoice%20Transaction%20Simulation%20Rule.xml b/bt5/erp5_invoicing/PortalTypeTemplateItem/portal_types/Invoice%20Transaction%20Simulation%20Rule.xml new file mode 100644 index 0000000000000000000000000000000000000000..fd3f014a8bd4fb1bf856054e1ef19d06c9e93ee4 --- /dev/null +++ b/bt5/erp5_invoicing/PortalTypeTemplateItem/portal_types/Invoice%20Transaction%20Simulation%20Rule.xml @@ -0,0 +1,67 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>acquire_local_roles</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>content_icon</string> </key> + <value> <string>document.gif</string> </value> + </item> + <item> + <key> <string>content_meta_type</string> </key> + <value> <string>ERP5 Invoice Transaction Simulation Rule</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string> Invoice Transaction Simulation Rule object make sure an Invoice in the simulation\n + is consistent with the real invoice\n +\n + WARNING: what to do with movement split ?\n +</string> </value> + </item> + <item> + <key> <string>factory</string> </key> + <value> <string>addInvoiceTransactionSimulationRule</string> </value> + </item> + <item> + <key> <string>filter_content_types</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>group_list</string> </key> + <value> + <tuple> + <string>rule</string> + </tuple> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>Invoice Transaction Simulation Rule</string> </value> + </item> + <item> + <key> <string>init_script</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>permission</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_invoicing/PortalTypeTemplateItem/portal_types/Trade%20Model%20Simulation%20Rule.xml b/bt5/erp5_invoicing/PortalTypeTemplateItem/portal_types/Trade%20Model%20Simulation%20Rule.xml new file mode 100644 index 0000000000000000000000000000000000000000..b1856b7df94bf1c4311406b0002df8fdee8f9efa --- /dev/null +++ b/bt5/erp5_invoicing/PortalTypeTemplateItem/portal_types/Trade%20Model%20Simulation%20Rule.xml @@ -0,0 +1,122 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_property_domain_dict</string> </key> + <value> + <dictionary> + <item> + <key> <string>short_title</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>title</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>acquire_local_roles</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>content_icon</string> </key> + <value> <string>rule_icon.gif</string> </value> + </item> + <item> + <key> <string>content_meta_type</string> </key> + <value> <string>ERP5 Trade Model Simulation Rule</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>factory</string> </key> + <value> <string>addTradeModelSimulationRule</string> </value> + </item> + <item> + <key> <string>filter_content_types</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>group_list</string> </key> + <value> + <tuple> + <string>rule</string> + </tuple> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>Trade Model Simulation Rule</string> </value> + </item> + <item> + <key> <string>init_script</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>permission</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>domain_name</string> </key> + <value> <string>erp5_content</string> </value> + </item> + <item> + <key> <string>property_name</string> </key> + <value> <string>short_title</string> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="3" aka="AAAAAAAAAAM="> + <pickle> + <tuple> + <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>domain_name</string> </key> + <value> <string>erp5_content</string> </value> + </item> + <item> + <key> <string>property_name</string> </key> + <value> <string>title</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_invoicing/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_invoicing/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml index b6ab4757d29d7e97911395d53995c9d5a1e9c948..816a99f9a944c7618bde7d0bd801eeb298a65b51 100644 --- a/bt5/erp5_invoicing/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml +++ b/bt5/erp5_invoicing/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml @@ -7,10 +7,18 @@ <type>Invoice Line</type> <workflow>delivery_movement_causality_interaction_workflow, delivery_movement_simulation_interaction_workflow, edit_workflow, movement_base_contribution_interaction_workflow, pricing_interaction_workflow, trade_matrix_workflow</workflow> </chain> + <chain> + <type>Invoice Simulation Rule</type> + <workflow>edit_workflow, rule_validation_workflow</workflow> + </chain> <chain> <type>Invoice Transaction Rule</type> <workflow>edit_workflow, rule_interaction_workflow, rule_validation_workflow</workflow> </chain> + <chain> + <type>Invoice Transaction Simulation Rule</type> + <workflow>edit_workflow, rule_interaction_workflow, rule_validation_workflow</workflow> + </chain> <chain> <type>Invoicing Rule</type> <workflow>edit_workflow, rule_validation_workflow</workflow> @@ -19,4 +27,8 @@ <type>Trade Model Rule</type> <workflow>edit_workflow, rule_validation_workflow</workflow> </chain> + <chain> + <type>Trade Model Simulation Rule</type> + <workflow>edit_workflow, rule_validation_workflow</workflow> + </chain> </workflow_chain> \ No newline at end of file diff --git a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_selectDelivery.xml b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_selectDelivery.xml index e107aed0505c8d09f48af2c18878a9275549b2ec..8f318b17534390c8bde71c1ef4de45c7f4632eaa 100644 --- a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_selectDelivery.xml +++ b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_selectDelivery.xml @@ -65,7 +65,7 @@ for movement in movement_list:\n line = None\n \n # case of tax movement \n - if ar.getSpecialiseValue().getPortalType() == \'Tax Rule\':\n + if ar.getSpecialiseValue().getPortalType() in (\'Tax Rule\', \'Tax Simulation Rule\'):\n for other_rule in ar.getParentValue().contentValues():\n if other_rule == ar:\n continue\n @@ -73,7 +73,7 @@ for movement in movement_list:\n line = sm.getDeliveryValue()\n \n # case of trade model movement\n - if ar.getParentValue().getParentValue().getSpecialiseValue().getPortalType() == \'Trade Model Rule\':\n + if ar.getParentValue().getParentValue().getSpecialiseValue().getPortalType() in (\'Trade Model Rule\', \'Trade Model Simulation Rule\'):\n line = ar.getParentValue().getParentValue().getParentValue().getDeliveryValue()\n \n # in case of invoice rule (ie. starting from Invoice)\n diff --git a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_selectInvoiceMovement.xml b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_selectInvoiceMovement.xml index ae323340b11df6e384d28e95ebc09c29d8df3317..f5b97f2d6ad2d9d44063ae0268d4ba0e8209eb89 100644 --- a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_selectInvoiceMovement.xml +++ b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_selectInvoiceMovement.xml @@ -59,9 +59,9 @@ Simulation Movements can come from normal Invoice Transaction Rule\n and same rule which is children of Trade Model Rule """\n \n # search for normal movements\n -kw[\'parent_specialise_portal_type\'] = \'Invoice Transaction Rule\'\n +kw[\'parent_specialise_portal_type\'] = [\'Invoice Transaction Rule\', \'Invoice Transaction Simulation Rule\']\n kw[\'grand_grand_parent_specialise_portal_type\'] = [\n - \'Invoicing Rule\', \'Invoice Rule\', \'Invoice Root Simulation Rule\', \'Tax Rule\']\n + \'Invoicing Rule\', \'Invoice Simulation Rule\', \'Invoice Rule\', \'Invoice Root Simulation Rule\', \'Tax Rule\']\n if context.Invoice_isAdvanced():\n kw[\'explanation_portal_type\'] = [\'%s Order\' % trade_type,\n \'%s Invoice\' % trade_type,\n @@ -80,7 +80,7 @@ normal_movement_list = [movement for movement in context.InvoiceTransaction_zSel \n # update query to search for movements which are children of Trade Model Rule\n kw.pop(\'grand_parent_simulation_state\')\n -kw[\'grand_grand_parent_specialise_portal_type\'] = \'Trade Model Rule\'\n +kw[\'grand_grand_parent_specialise_portal_type\'] = [\'Trade Model Rule\', \'Trade Model Simulation Rule\']\n kw[\'grand_grand_grand_parent_simulation_state\'] = [\'started\']\n \n search_kw = kw.copy()\n diff --git a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/PurchaseInvoiceTransaction_selectPackingListMovement.xml b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/PurchaseInvoiceTransaction_selectPackingListMovement.xml index 82ba39074819388aad74ae6d0f82d79d6d6685e1..6d6ded49551802068100f10aadd5d2fbbeea9103 100644 --- a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/PurchaseInvoiceTransaction_selectPackingListMovement.xml +++ b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/PurchaseInvoiceTransaction_selectPackingListMovement.xml @@ -53,7 +53,7 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>kw[\'parent_specialise_portal_type\'] = \'Invoicing Rule\'\n + <value> <string>kw[\'parent_specialise_portal_type\'] = [\'Invoicing Rule\', \'Invoice Simulation Rule\']\n kw[\'explanation_portal_type\'] = [\'Purchase Order\', \'Purchase Packing List\']\n kw[\'portal_type\'] = \'Simulation Movement\'\n kw[\'grand_parent_simulation_state\'] = [\'started\', \'stopped\',\'delivered\']\n diff --git a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/PurchaseInvoice_selectTradeModelMovementList.xml b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/PurchaseInvoice_selectTradeModelMovementList.xml index 393d8ca99d8c2d22a1447afe65e7f59790762e2b..5fea561aa44dbb1b7358b9080d5f332089b5c8c5 100644 --- a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/PurchaseInvoice_selectTradeModelMovementList.xml +++ b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/PurchaseInvoice_selectTradeModelMovementList.xml @@ -53,7 +53,7 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>kw[\'parent_specialise_portal_type\'] = \'Trade Model Rule\'\n + <value> <string>kw[\'parent_specialise_portal_type\'] = [\'Trade Model Rule\', \'Trade Model Simulation Rule\']\n kw[\'explanation_portal_type\'] = [\'Purchase Order\', \'Purchase Packing List\', \'Purchase Invoice Transaction\', \'Purchase Invoice\']\n kw[\'portal_type\'] = \'Simulation Movement\'\n kw[\'grand_parent_simulation_state\'] = [\'started\', \'stopped\', \'delivered\', \'planned\', \'confirmed\']\n diff --git a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SaleInvoiceTransaction_selectPackingListMovement.xml b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SaleInvoiceTransaction_selectPackingListMovement.xml index 6d76bf54d502b5bd3303b553c28dc01d11ed3165..736c3c7d44baf52043e5bb22b96108bc111496fe 100644 --- a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SaleInvoiceTransaction_selectPackingListMovement.xml +++ b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SaleInvoiceTransaction_selectPackingListMovement.xml @@ -53,7 +53,7 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>kw[\'parent_specialise_portal_type\'] = \'Invoicing Rule\'\n + <value> <string>kw[\'parent_specialise_portal_type\'] = [\'Invoicing Rule\', \'Invoice Simulation Rule\']\n kw[\'explanation_portal_type\'] = [\'Sale Order\', \'Sale Packing List\']\n kw[\'portal_type\'] = \'Simulation Movement\'\n kw[\'grand_parent_simulation_state\'] = [\'started\', \'stopped\',\'delivered\']\n diff --git a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SaleInvoice_selectTradeModelMovementList.xml b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SaleInvoice_selectTradeModelMovementList.xml index fed4d53feb4628dae33726e2bac52419231bb480..6eaeeb60ed9a258c55d104f107da1e62fca79e2c 100644 --- a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SaleInvoice_selectTradeModelMovementList.xml +++ b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SaleInvoice_selectTradeModelMovementList.xml @@ -53,7 +53,7 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>kw[\'parent_specialise_portal_type\'] = \'Trade Model Rule\'\n + <value> <string>kw[\'parent_specialise_portal_type\'] = [\'Trade Model Rule\', \'Trade Model Simulation Rule\']\n kw[\'explanation_portal_type\'] = [\'Sale Order\', \'Sale Packing List\', \'Sale Invoice Transaction\', \'Sale Invoice\']\n kw[\'portal_type\'] = \'Simulation Movement\'\n kw[\'grand_parent_simulation_state\'] = [\'started\', \'stopped\', \'delivered\', \'planned\', \'confirmed\']\n diff --git a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testInvoiceSimulationRule.xml b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testInvoiceSimulationRule.xml new file mode 100644 index 0000000000000000000000000000000000000000..7c2ae1d079a2b2c0062d6fe8d92ac462f6b9e462 --- /dev/null +++ b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testInvoiceSimulationRule.xml @@ -0,0 +1,151 @@ +<?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>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>movement = context\n +\n +parent = movement.getParentValue()\n +if parent.getPortalType() == \'Applied Rule\':\n + parent_rule = parent.getSpecialiseValue()\n + parent_rule_portal_type = parent_rule.getPortalType()\n + if parent_rule_portal_type not in [\'Delivery Root Simulation Rule\', \'Delivery Simulation Rule\']:\n + return False\n + # XXX can we create invoicing rule for Production Order?\n + if parent_rule_portal_type in [\'Delivery Simulation Rule\',] and \\\n + parent.getParentValue().getParentValue().getSpecialiseValue().getPortalType() not in [\'Order Root Simulation Rule\']:\n + return False\n +\n +source_section = movement.getSourceSection()\n +destination_section = movement.getDestinationSection()\n +if source_section == destination_section or source_section is None \\\n + or destination_section is None:\n + return False\n +\n +return True\n +</string> </value> + </item> + <item> + <key> <string>_code</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>rule</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>rule</string> + <string>context</string> + <string>movement</string> + <string>_getattr_</string> + <string>parent</string> + <string>parent_rule</string> + <string>parent_rule_portal_type</string> + <string>False</string> + <string>source_section</string> + <string>destination_section</string> + <string>None</string> + <string>True</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>SimulationMovement_testInvoicingRule</string> </value> + </item> + <item> + <key> <string>warnings</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testInvoiceTransactionRule.xml b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testInvoiceTransactionRule.xml index 2c38fc676476198e3c47d48fa0ee17f49fcbd455..d00e96a4ed98fec32002c74e40ba6deb6019e930 100644 --- a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testInvoiceTransactionRule.xml +++ b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testInvoiceTransactionRule.xml @@ -61,7 +61,6 @@ if parent.getPortalType() != \'Applied Rule\':\n \n parent_rule = parent.getSpecialiseValue()\n if parent_rule.getPortalType() not in (\'Invoice Rule\',\n - \'Invoice Root Simulation Rule\',\n \'Invoicing Rule\',\n \'Trade Model Rule\',\n \'Tax Rule\'):\n diff --git a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testInvoiceTransactionSimulationRule.xml b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testInvoiceTransactionSimulationRule.xml new file mode 100644 index 0000000000000000000000000000000000000000..81a322fd5846f55f37fe197c41444bdfe47f5802 --- /dev/null +++ b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testInvoiceTransactionSimulationRule.xml @@ -0,0 +1,148 @@ +<?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>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>movement = context\n +\n +parent = movement.getParentValue()\n +if parent.getPortalType() != \'Applied Rule\':\n + return False\n +\n +parent_rule = parent.getSpecialiseValue()\n +if parent_rule.getPortalType() not in (\'Invoice Root Simulation Rule\',\n + \'Invoice Simulation Rule\',\n + \'Trade Model Simulation Rule\',\n + \'Tax Simulation Rule\'):\n + return False\n +\n +delivery_movement = movement.getDeliveryValue()\n +if delivery_movement is not None and (\n + delivery_movement.getPortalType() not in movement.getPortalInvoiceMovementTypeList()\n + and delivery_movement.getPortalType() not in movement.getPortalTaxMovementTypeList()):\n + return False\n +\n +return rule.getMatchingCell(movement) is not None\n +</string> </value> + </item> + <item> + <key> <string>_code</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>rule</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>rule</string> + <string>context</string> + <string>movement</string> + <string>_getattr_</string> + <string>parent</string> + <string>False</string> + <string>parent_rule</string> + <string>delivery_movement</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>SimulationMovement_testInvoiceTransactionRule</string> </value> + </item> + <item> + <key> <string>warnings</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testInvoicingRule.xml b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testInvoicingRule.xml index dc94e4ddd4db82813f1294c0f51e32f0dd9d9672..84516b5a1d1a4afcc3565b9f8e552806c573f5fe 100644 --- a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testInvoicingRule.xml +++ b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testInvoicingRule.xml @@ -59,11 +59,7 @@ parent = movement.getParentValue()\n if parent.getPortalType() == \'Applied Rule\':\n parent_rule = parent.getSpecialiseValue()\n parent_rule_portal_type = parent_rule.getPortalType()\n - if parent_rule_portal_type not in [\'Order Rule\', \'Delivery Rule\', \'Delivery Root Simulation Rule\', \'Delivery Simulation Rule\']:\n - return False\n - # XXX can we create invoicing rule for Production Order?\n - if parent_rule_portal_type in [\'Delivery Simulation Rule\',] and \\\n - parent.getParentValue().getParentValue().getSpecialiseValue().getPortalType() not in [\'Order Root Simulation Rule\']:\n + if parent_rule_portal_type not in [\'Order Rule\', \'Delivery Rule\']:\n return False\n \n source_section = movement.getSourceSection()\n diff --git a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testTradeModelRule.xml b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testTradeModelRule.xml index 1d7cadf561a1a4987893613b5956e6deae80c44c..c2513cc52ee0392c7d8666d42fa13c2172183ffb 100644 --- a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testTradeModelRule.xml +++ b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testTradeModelRule.xml @@ -61,7 +61,6 @@ if parent.getPortalType() != \'Applied Rule\':\n \n parent_rule = parent.getSpecialiseValue()\n if parent_rule.getPortalType() not in (\'Invoice Rule\',\n - \'Invoice Root Simulation Rule\',\n \'Invoicing Rule\'):\n return False\n \n diff --git a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testTradeModelSimulationRule.xml b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testTradeModelSimulationRule.xml new file mode 100644 index 0000000000000000000000000000000000000000..671cc3d8936ea1492845da87aba9f73001e1a10b --- /dev/null +++ b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/SimulationMovement_testTradeModelSimulationRule.xml @@ -0,0 +1,139 @@ +<?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>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>movement = context\n +\n +parent = movement.getParentValue()\n +if parent.getPortalType() != \'Applied Rule\':\n + return False\n +\n +parent_rule = parent.getSpecialiseValue()\n +if parent_rule.getPortalType() not in (\'Invoice Root Simulation Rule\',\n + \'Invoice Simulation Rule\'):\n + return False\n +\n +return True\n +</string> </value> + </item> + <item> + <key> <string>_code</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>rule</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>rule</string> + <string>context</string> + <string>movement</string> + <string>_getattr_</string> + <string>parent</string> + <string>False</string> + <string>parent_rule</string> + <string>True</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>SimulationMovement_testTradeModelRule</string> </value> + </item> + <item> + <key> <string>warnings</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_invoicing/bt/revision b/bt5/erp5_invoicing/bt/revision index 57065cd57b16f67df35e4b5d4d7ef5844aa9d80e..136c8cacf37562e0e40c7ee7fe9b30e214a616d1 100644 --- a/bt5/erp5_invoicing/bt/revision +++ b/bt5/erp5_invoicing/bt/revision @@ -1 +1 @@ -341 \ No newline at end of file +342 \ No newline at end of file diff --git a/bt5/erp5_invoicing/bt/template_action_path_list b/bt5/erp5_invoicing/bt/template_action_path_list index 211b55d7bb91bf42409a7cf359819a80542fd1f3..39233e950c05a9aaed1000dae4c142f64943c003 100644 --- a/bt5/erp5_invoicing/bt/template_action_path_list +++ b/bt5/erp5_invoicing/bt/template_action_path_list @@ -2,7 +2,11 @@ Invoice Line | price Invoice Line | quantity Invoice Line | view Invoice Line | view_trade_model +Invoice Simulation Rule | view Invoice Transaction Rule | divergence Invoice Transaction Rule | view +Invoice Transaction Simulation Rule | divergence +Invoice Transaction Simulation Rule | view Invoicing Rule | view -Trade Model Rule | view \ No newline at end of file +Trade Model Rule | view +Trade Model Simulation Rule | view \ No newline at end of file diff --git a/bt5/erp5_invoicing/bt/template_path_list b/bt5/erp5_invoicing/bt/template_path_list index ae47e2584d2888fedd6ba6ba80d9bbd72836e059..118b4c7fdddc5325ec52b58eafffbb8aca1cc135 100644 --- a/bt5/erp5_invoicing/bt/template_path_list +++ b/bt5/erp5_invoicing/bt/template_path_list @@ -1,8 +1,14 @@ portal_deliveries/payment_transaction_builder portal_deliveries/payment_transaction_builder/** +portal_rules/default_invoice_simulation_rule +portal_rules/default_invoice_simulation_rule/** portal_rules/default_invoice_transaction_rule portal_rules/default_invoice_transaction_rule/** +portal_rules/default_invoice_transaction_simulation_rule +portal_rules/default_invoice_transaction_simulation_rule/** portal_rules/default_invoicing_rule portal_rules/default_invoicing_rule/** portal_rules/default_trade_model_rule -portal_rules/default_trade_model_rule/** \ No newline at end of file +portal_rules/default_trade_model_rule/** +portal_rules/default_trade_model_simulation_rule +portal_rules/default_trade_model_simulation_rule/** \ No newline at end of file diff --git a/bt5/erp5_invoicing/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_invoicing/bt/template_portal_type_allowed_content_type_list index 70b242855729793a22e561b525a03c7a2398195d..c92661585a40ed52bb8aaf3c40966546afaf27e5 100644 --- a/bt5/erp5_invoicing/bt/template_portal_type_allowed_content_type_list +++ b/bt5/erp5_invoicing/bt/template_portal_type_allowed_content_type_list @@ -1,16 +1,30 @@ Invoice Line | Invoice Cell Invoice Line | Invoice Line +Invoice Simulation Rule | Category Divergence Tester +Invoice Simulation Rule | Property Divergence Tester +Invoice Simulation Rule | Quantity Divergence Tester Invoice Transaction Rule | Accounting Rule Cell Invoice Transaction Rule | Category Divergence Tester Invoice Transaction Rule | Predicate Invoice Transaction Rule | Property Divergence Tester Invoice Transaction Rule | Quantity Divergence Tester +Invoice Transaction Simulation Rule | Accounting Rule Cell +Invoice Transaction Simulation Rule | Category Divergence Tester +Invoice Transaction Simulation Rule | Predicate +Invoice Transaction Simulation Rule | Property Divergence Tester +Invoice Transaction Simulation Rule | Quantity Divergence Tester Invoicing Rule | Category Divergence Tester Invoicing Rule | Property Divergence Tester Invoicing Rule | Quantity Divergence Tester +Rule Tool | Invoice Simulation Rule Rule Tool | Invoice Transaction Rule +Rule Tool | Invoice Transaction Simulation Rule Rule Tool | Invoicing Rule Rule Tool | Trade Model Rule +Rule Tool | Trade Model Simulation Rule Trade Model Rule | Category Divergence Tester Trade Model Rule | Property Divergence Tester -Trade Model Rule | Quantity Divergence Tester \ No newline at end of file +Trade Model Rule | Quantity Divergence Tester +Trade Model Simulation Rule | Category Divergence Tester +Trade Model Simulation Rule | Property Divergence Tester +Trade Model Simulation Rule | Quantity Divergence Tester \ No newline at end of file diff --git a/bt5/erp5_invoicing/bt/template_portal_type_id_list b/bt5/erp5_invoicing/bt/template_portal_type_id_list index 13469d165edb446a10d8eada2caa811337e32272..e08c3913e499240ebe31b62d3e2f0e4569654301 100644 --- a/bt5/erp5_invoicing/bt/template_portal_type_id_list +++ b/bt5/erp5_invoicing/bt/template_portal_type_id_list @@ -1,5 +1,8 @@ Invoice Cell Invoice Line +Invoice Simulation Rule Invoice Transaction Rule +Invoice Transaction Simulation Rule Invoicing Rule -Trade Model Rule \ No newline at end of file +Trade Model Rule +Trade Model Simulation Rule \ No newline at end of file diff --git a/bt5/erp5_invoicing/bt/template_portal_type_workflow_chain_list b/bt5/erp5_invoicing/bt/template_portal_type_workflow_chain_list index 90bd86fabde8b5bbb84a588e5f8c8afcb71d2e8a..ebb69ba53bf24a20deae51c9532112924a68b590 100644 --- a/bt5/erp5_invoicing/bt/template_portal_type_workflow_chain_list +++ b/bt5/erp5_invoicing/bt/template_portal_type_workflow_chain_list @@ -8,10 +8,17 @@ Invoice Line | edit_workflow Invoice Line | movement_base_contribution_interaction_workflow Invoice Line | pricing_interaction_workflow Invoice Line | trade_matrix_workflow +Invoice Simulation Rule | edit_workflow +Invoice Simulation Rule | rule_validation_workflow Invoice Transaction Rule | edit_workflow Invoice Transaction Rule | rule_interaction_workflow Invoice Transaction Rule | rule_validation_workflow +Invoice Transaction Simulation Rule | edit_workflow +Invoice Transaction Simulation Rule | rule_interaction_workflow +Invoice Transaction Simulation Rule | rule_validation_workflow Invoicing Rule | edit_workflow Invoicing Rule | rule_validation_workflow Trade Model Rule | edit_workflow -Trade Model Rule | rule_validation_workflow \ No newline at end of file +Trade Model Rule | rule_validation_workflow +Trade Model Simulation Rule | edit_workflow +Trade Model Simulation Rule | rule_validation_workflow \ No newline at end of file diff --git a/product/ERP5/Document/InvoiceSimulationRule.py b/product/ERP5/Document/InvoiceSimulationRule.py new file mode 100644 index 0000000000000000000000000000000000000000..ed3abf34eabbf53b107b434cff4308bfe0c84d07 --- /dev/null +++ b/product/ERP5/Document/InvoiceSimulationRule.py @@ -0,0 +1,44 @@ +############################################################################## +# +# Copyright (c) 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 AccessControl import ClassSecurityInfo +from Products.ERP5Type import Permissions +from Products.ERP5.Document.InvoicingRule import InvoicingRule + +class InvoiceSimulationRule(InvoicingRule): + """ + Invoice Simulation Rule expand simulation created by a order or delivery rule. + """ + + # CMF Type Definition + meta_type = 'ERP5 Invoice Simulation Rule' + portal_type = 'Invoice Simulation Rule' + add_permission = Permissions.AddPortalContent + + # Declarative security + security = ClassSecurityInfo() + security.declareObjectProtected(Permissions.AccessContentsInformation) diff --git a/product/ERP5/Document/InvoiceTransactionSimulationRule.py b/product/ERP5/Document/InvoiceTransactionSimulationRule.py new file mode 100644 index 0000000000000000000000000000000000000000..95e8863fb9e2b4ef6b79033108ca3c3eec0f7c12 --- /dev/null +++ b/product/ERP5/Document/InvoiceTransactionSimulationRule.py @@ -0,0 +1,47 @@ +############################################################################## +# +# Copyright (c) 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 AccessControl import ClassSecurityInfo +from Products.ERP5Type import Permissions +from Products.ERP5.Document.InvoiceTransactionRule import InvoiceTransactionRule + +class InvoiceTransactionSimulationRule(InvoiceTransactionRule): + """ + Invoice Transaction Simulation Rule object generates accounting movements for + each invoice movement based on category membership and other + predicated. Template accounting movements are stored in cells inside + an instance of the InvoiceTransactionRule. + """ + + # CMF Type Definition + meta_type = 'ERP5 Invoice Transaction Simulation Rule' + portal_type = 'Invoice Transaction Simulation Rule' + add_permission = Permissions.AddPortalContent + + # Declarative security + security = ClassSecurityInfo() + security.declareObjectProtected(Permissions.AccessContentsInformation) diff --git a/product/ERP5/Document/TradeModelSimulationRule.py b/product/ERP5/Document/TradeModelSimulationRule.py new file mode 100644 index 0000000000000000000000000000000000000000..055c4b1c9c363c1ea41c0810997607d32d49bb90 --- /dev/null +++ b/product/ERP5/Document/TradeModelSimulationRule.py @@ -0,0 +1,43 @@ +############################################################################## +# +# Copyright (c) 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 AccessControl import ClassSecurityInfo +from Products.ERP5Type import Permissions +from Products.ERP5.Document.TradeModelRule import TradeModelRule + +class TradeModelSimulationRule(TradeModelRule): + """ + Rule for Trade Model + """ + # CMF Type Definition + meta_type = 'ERP5 Trade Model Simulation Rule' + portal_type = 'Trade Model Simulation Rule' + add_permission = Permissions.AddPortalContent + + # Declarative security + security = ClassSecurityInfo() + security.declareObjectProtected(Permissions.AccessContentsInformation)