From 21c2b39804774fe5505a1fc9dfaf04731f8933c0 Mon Sep 17 00:00:00 2001 From: Julien Muchembled <jm@nexedi.com> Date: Tue, 15 May 2012 20:24:10 +0200 Subject: [PATCH 01/10] Minimal changes to make testImmobilisation pass without ERP5Legacy product Removal of 'divergence_scope' on movement groups may be wrong because immobilisation still uses old solvers. But this makes test_19_TestAccountingBuildingAndDivergence pass. --- .../category_movement_group_on_delivery.xml | 1 - .../category_movement_group_on_line.xml | 1 - .../property_movement_group_on_delivery.xml | 1 - .../default_amortisation_rule.xml | 4 +- .../default_quantity_tester.xml | 91 ------------- .../quantity_tester.xml | 124 ++++++++++++++++++ .../allowed_content_types.xml | 3 - .../portal_types/Amortisation%20Rule.xml | 20 ++- ...late_portal_type_allowed_content_type_list | 1 - .../Document/AmortisationRule.py | 4 +- product/ERP5/tests/testImmobilisation.py | 2 - 11 files changed, 147 insertions(+), 105 deletions(-) delete mode 100644 bt5/erp5_immobilisation/PathTemplateItem/portal_rules/default_amortisation_rule/default_quantity_tester.xml create mode 100644 bt5/erp5_immobilisation/PathTemplateItem/portal_rules/default_amortisation_rule/quantity_tester.xml rename product/{ERP5Legacy => ERP5}/Document/AmortisationRule.py (99%) diff --git a/bt5/erp5_immobilisation/PathTemplateItem/portal_deliveries/amortisation_transaction_builder/category_movement_group_on_delivery.xml b/bt5/erp5_immobilisation/PathTemplateItem/portal_deliveries/amortisation_transaction_builder/category_movement_group_on_delivery.xml index 3e22236f02..de6d2a285e 100644 --- a/bt5/erp5_immobilisation/PathTemplateItem/portal_deliveries/amortisation_transaction_builder/category_movement_group_on_delivery.xml +++ b/bt5/erp5_immobilisation/PathTemplateItem/portal_deliveries/amortisation_transaction_builder/category_movement_group_on_delivery.xml @@ -10,7 +10,6 @@ <key> <string>categories</string> </key> <value> <tuple> - <string>divergence_scope/category</string> <string>collect_order_group/delivery</string> </tuple> </value> diff --git a/bt5/erp5_immobilisation/PathTemplateItem/portal_deliveries/amortisation_transaction_builder/category_movement_group_on_line.xml b/bt5/erp5_immobilisation/PathTemplateItem/portal_deliveries/amortisation_transaction_builder/category_movement_group_on_line.xml index 6d7c647ad4..91149a4708 100644 --- a/bt5/erp5_immobilisation/PathTemplateItem/portal_deliveries/amortisation_transaction_builder/category_movement_group_on_line.xml +++ b/bt5/erp5_immobilisation/PathTemplateItem/portal_deliveries/amortisation_transaction_builder/category_movement_group_on_line.xml @@ -10,7 +10,6 @@ <key> <string>categories</string> </key> <value> <tuple> - <string>divergence_scope/category</string> <string>collect_order_group/line</string> </tuple> </value> diff --git a/bt5/erp5_immobilisation/PathTemplateItem/portal_deliveries/amortisation_transaction_builder/property_movement_group_on_delivery.xml b/bt5/erp5_immobilisation/PathTemplateItem/portal_deliveries/amortisation_transaction_builder/property_movement_group_on_delivery.xml index 7794c26478..d27fd56a30 100644 --- a/bt5/erp5_immobilisation/PathTemplateItem/portal_deliveries/amortisation_transaction_builder/property_movement_group_on_delivery.xml +++ b/bt5/erp5_immobilisation/PathTemplateItem/portal_deliveries/amortisation_transaction_builder/property_movement_group_on_delivery.xml @@ -10,7 +10,6 @@ <key> <string>categories</string> </key> <value> <tuple> - <string>divergence_scope/property</string> <string>collect_order_group/delivery</string> </tuple> </value> diff --git a/bt5/erp5_immobilisation/PathTemplateItem/portal_rules/default_amortisation_rule.xml b/bt5/erp5_immobilisation/PathTemplateItem/portal_rules/default_amortisation_rule.xml index 69ec08ec0d..771eeb6bf6 100644 --- a/bt5/erp5_immobilisation/PathTemplateItem/portal_rules/default_amortisation_rule.xml +++ b/bt5/erp5_immobilisation/PathTemplateItem/portal_rules/default_amortisation_rule.xml @@ -57,7 +57,9 @@ <item> <key> <string>test_method_id</string> </key> <value> - <tuple/> + <tuple> + <string>Rule_testFalse</string> + </tuple> </value> </item> <item> diff --git a/bt5/erp5_immobilisation/PathTemplateItem/portal_rules/default_amortisation_rule/default_quantity_tester.xml b/bt5/erp5_immobilisation/PathTemplateItem/portal_rules/default_amortisation_rule/default_quantity_tester.xml deleted file mode 100644 index 796fbb7a8f..0000000000 --- a/bt5/erp5_immobilisation/PathTemplateItem/portal_rules/default_amortisation_rule/default_quantity_tester.xml +++ /dev/null @@ -1,91 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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_immobilisation/PathTemplateItem/portal_rules/default_amortisation_rule/quantity_tester.xml b/bt5/erp5_immobilisation/PathTemplateItem/portal_rules/default_amortisation_rule/quantity_tester.xml new file mode 100644 index 0000000000..ed61ac3b7e --- /dev/null +++ b/bt5/erp5_immobilisation/PathTemplateItem/portal_rules/default_amortisation_rule/quantity_tester.xml @@ -0,0 +1,124 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Net Converted Quantity Divergence Tester" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_identity_criterion</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>_local_properties</string> </key> + <value> + <tuple> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>use_delivery_ratio</string> </value> + </item> + <item> + <key> <string>type</string> </key> + <value> <string>int</string> </value> + </item> + </dictionary> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>quantity_range_min</string> </value> + </item> + <item> + <key> <string>type</string> </key> + <value> <string>int</string> </value> + </item> + </dictionary> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>quantity_range_max</string> </value> + </item> + <item> + <key> <string>type</string> </key> + <value> <string>int</string> </value> + </item> + </dictionary> + </tuple> + </value> + </item> + <item> + <key> <string>_range_criterion</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>quantity_tester</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Net Converted Quantity Divergence Tester</string> </value> + </item> + <item> + <key> <string>quantity_range_max</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>quantity_range_min</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>tested_property</string> </key> + <value> + <tuple> + <string>quantity</string> + <string>quantity_unit</string> + </tuple> + </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>quantity divergence tester</string> </value> + </item> + <item> + <key> <string>use_delivery_ratio</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <global name="PersistentMapping" module="Persistence.mapping"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>data</string> </key> + <value> + <dictionary/> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="3" aka="AAAAAAAAAAM="> + <pickle> + <global name="PersistentMapping" module="Persistence.mapping"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>data</string> </key> + <value> + <dictionary/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_immobilisation/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml b/bt5/erp5_immobilisation/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml index 5450b9c7a6..5cd2e5db61 100644 --- a/bt5/erp5_immobilisation/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml +++ b/bt5/erp5_immobilisation/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml @@ -2,9 +2,6 @@ <portal_type id="Accounting Transaction Module"> <item>Amortisation Transaction</item> </portal_type> - <portal_type id="Amortisation Rule"> - <item>Category Divergence Tester</item> - </portal_type> <portal_type id="Amortisation Transaction"> <item>Amortisation Transaction Line</item> </portal_type> diff --git a/bt5/erp5_immobilisation/PortalTypeTemplateItem/portal_types/Amortisation%20Rule.xml b/bt5/erp5_immobilisation/PortalTypeTemplateItem/portal_types/Amortisation%20Rule.xml index aa02f8a686..88e3db6bcb 100644 --- a/bt5/erp5_immobilisation/PortalTypeTemplateItem/portal_types/Amortisation%20Rule.xml +++ b/bt5/erp5_immobilisation/PortalTypeTemplateItem/portal_types/Amortisation%20Rule.xml @@ -44,11 +44,15 @@ </item> <item> <key> <string>init_script</string> </key> - <value> <string></string> </value> + <value> + <none/> + </value> </item> <item> <key> <string>permission</string> </key> - <value> <string></string> </value> + <value> + <none/> + </value> </item> <item> <key> <string>title</string> </key> @@ -58,6 +62,18 @@ <key> <string>type_class</string> </key> <value> <string>AmortisationRule</string> </value> </item> + <item> + <key> <string>type_interface</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>type_mixin</string> </key> + <value> + <tuple/> + </value> + </item> </dictionary> </pickle> </record> diff --git a/bt5/erp5_immobilisation/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_immobilisation/bt/template_portal_type_allowed_content_type_list index b2bfb71d7d..370b95257f 100644 --- a/bt5/erp5_immobilisation/bt/template_portal_type_allowed_content_type_list +++ b/bt5/erp5_immobilisation/bt/template_portal_type_allowed_content_type_list @@ -1,5 +1,4 @@ Accounting Transaction Module | Amortisation Transaction -Amortisation Rule | Category Divergence Tester Amortisation Transaction | Amortisation Transaction Line Immobilisation Module | Immobilisation Immobilisation | Immobilisation Line \ No newline at end of file diff --git a/product/ERP5Legacy/Document/AmortisationRule.py b/product/ERP5/Document/AmortisationRule.py similarity index 99% rename from product/ERP5Legacy/Document/AmortisationRule.py rename to product/ERP5/Document/AmortisationRule.py index 7fc9e0c6a0..1b2f4df957 100644 --- a/product/ERP5Legacy/Document/AmortisationRule.py +++ b/product/ERP5/Document/AmortisationRule.py @@ -33,11 +33,11 @@ from string import capitalize from Products.ERP5Type.DateUtils import centis, getClosestDate, addToDate from Products.ERP5Type.DateUtils import getDecimalNumberOfYearsBetween from Products.ERP5Type import Permissions -from Products.ERP5Legacy.Document.Rule import Rule +from Products.ERP5.mixin.rule import RuleMixin from Products.CMFCore.utils import getToolByName from Products.ERP5.Document.ImmobilisationMovement import NO_CHANGE_METHOD -class AmortisationRule(Rule): +class AmortisationRule(RuleMixin): """ Amortisation Rule object plans an item amortisation """ diff --git a/product/ERP5/tests/testImmobilisation.py b/product/ERP5/tests/testImmobilisation.py index 5e87584bd1..d441f2f874 100644 --- a/product/ERP5/tests/testImmobilisation.py +++ b/product/ERP5/tests/testImmobilisation.py @@ -3624,7 +3624,6 @@ class TestImmobilisation(TestImmobilisationMixin): self.assertEquals(5000.0,account.AccountModule_getTotalSourceDebit(brain=account)) self.assertEquals(0.0,account.AccountModule_getTotalSourceCredit(brain=account)) - @newSimulationExpectedFailure def test_19_TestAccountingBuildingAndDivergence(self, quiet=0, run=run_all_test): if not run: return if not quiet: @@ -3718,7 +3717,6 @@ class TestImmobilisation(TestImmobilisationMixin): parameter_dict = parameter_dict, destination_section = self.getOrganisationModule()["A"]) - @newSimulationExpectedFailure def test_20_TestAccountingAcceptDecisionSolver(self, quiet=0, run=run_all_test): if not run: return if not quiet: -- 2.30.9 From 3b50ce1eaf47e2c26e3b9e87433f19a9a6669baf Mon Sep 17 00:00:00 2001 From: Julien Muchembled <jm@nexedi.com> Date: Wed, 16 May 2012 15:15:53 +0200 Subject: [PATCH 02/10] TioSafe: do not use legacy simulation TioSafe tests still need to be configured for new simulation. But other failures (e.g. SyncML) prevent doing this now. --- .../testOxatisSynchronization.py | 2 - .../tiosafe_default_bpm/1.xml | 88 ------------------- .../testUbercartSynchronisation.py | 2 - .../testVirtuemartSynchronization.py | 2 - .../tests/testSaleOrderERP5Synchronization.py | 11 +-- 5 files changed, 2 insertions(+), 103 deletions(-) delete mode 100644 bt5/erp5_tiosafe_test/PathTemplateItem/business_process_module/tiosafe_default_bpm/1.xml diff --git a/bt5/erp5_tiosafe_oxatis_test/TestTemplateItem/testOxatisSynchronization.py b/bt5/erp5_tiosafe_oxatis_test/TestTemplateItem/testOxatisSynchronization.py index d117266cc2..f7422fea1d 100644 --- a/bt5/erp5_tiosafe_oxatis_test/TestTemplateItem/testOxatisSynchronization.py +++ b/bt5/erp5_tiosafe_oxatis_test/TestTemplateItem/testOxatisSynchronization.py @@ -47,8 +47,6 @@ class TestOxatisSynchronization(ERP5TypeTestCase): 'erp5_pdm', 'erp5_simulation', 'erp5_trade', - 'erp5_simulation_legacy', - 'erp5_trade_simulation_legacy', 'erp5_syncml', 'erp5_tiosafe_core', 'erp5_tiosafe_pdm', diff --git a/bt5/erp5_tiosafe_test/PathTemplateItem/business_process_module/tiosafe_default_bpm/1.xml b/bt5/erp5_tiosafe_test/PathTemplateItem/business_process_module/tiosafe_default_bpm/1.xml deleted file mode 100644 index 64725eab57..0000000000 --- a/bt5/erp5_tiosafe_test/PathTemplateItem/business_process_module/tiosafe_default_bpm/1.xml +++ /dev/null @@ -1,88 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Business Path" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_identity_criterion</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_range_criterion</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>trade_phase/vat</string> - </tuple> - </value> - </item> - <item> - <key> <string>deliverable</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>efficiency</string> </key> - <value> <float>1.0</float> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>1</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Business Path</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default BP</string> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary/> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary/> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_tiosafe_ubercart_test/TestTemplateItem/testUbercartSynchronisation.py b/bt5/erp5_tiosafe_ubercart_test/TestTemplateItem/testUbercartSynchronisation.py index c64d7393b9..8b79aee57a 100644 --- a/bt5/erp5_tiosafe_ubercart_test/TestTemplateItem/testUbercartSynchronisation.py +++ b/bt5/erp5_tiosafe_ubercart_test/TestTemplateItem/testUbercartSynchronisation.py @@ -46,8 +46,6 @@ class TestUbercartSynchronization(ERP5TypeTestCase): 'erp5_pdm', 'erp5_trade', 'erp5_simulation', - 'erp5_simulation_legacy', - 'erp5_trade_simulation_legacy', 'erp5_syncml', 'erp5_tiosafe_core', 'erp5_tiosafe_test', diff --git a/bt5/erp5_tiosafe_virtuemart_test/TestTemplateItem/testVirtuemartSynchronization.py b/bt5/erp5_tiosafe_virtuemart_test/TestTemplateItem/testVirtuemartSynchronization.py index e0844e7297..3f0d821c61 100644 --- a/bt5/erp5_tiosafe_virtuemart_test/TestTemplateItem/testVirtuemartSynchronization.py +++ b/bt5/erp5_tiosafe_virtuemart_test/TestTemplateItem/testVirtuemartSynchronization.py @@ -46,8 +46,6 @@ class TestVirtuemartSynchronization(ERP5TypeTestCase): 'erp5_pdm', 'erp5_trade', 'erp5_simulation', - 'erp5_simulation_legacy', - 'erp5_trade_simulation_legacy', 'erp5_syncml', 'erp5_tiosafe_core', 'erp5_tiosafe_test', diff --git a/product/ERP5TioSafe/tests/testSaleOrderERP5Synchronization.py b/product/ERP5TioSafe/tests/testSaleOrderERP5Synchronization.py index 34c6508569..7a4d3d380f 100644 --- a/product/ERP5TioSafe/tests/testSaleOrderERP5Synchronization.py +++ b/product/ERP5TioSafe/tests/testSaleOrderERP5Synchronization.py @@ -36,15 +36,8 @@ class TestSaleOrderERP5Synchronization(testPrestashopMixin): """ This class allows to check different cases of Slae Order's sync. """ def getBusinessTemplateList(self): - return testPrestashopMixin.getBusinessTemplateList(self) + ('erp5_accounting', - 'erp5_invoicing', - 'erp5_simplified_invoicing', - 'erp5_simulation', - 'erp5_simulation_legacy', - 'erp5_trade_simulation_legacy', - 'erp5_accounting_simulation_legacy', - 'erp5_invoicing_simulation_legacy', - ) + return testPrestashopMixin.getBusinessTemplateList(self) + ( + 'erp5_accounting', 'erp5_invoicing', 'erp5_simplified_invoicing') def afterSetUp(self): """ This method is called after the SetUp method. """ -- 2.30.9 From 34aa780baa3938b26247627cd8aee912228ae650 Mon Sep 17 00:00:00 2001 From: Julien Muchembled <jm@nexedi.com> Date: Wed, 16 May 2012 15:35:35 +0200 Subject: [PATCH 03/10] Drop legacy tax system --- .../view.xml | 79 - .../allowed_content_types.xml | 2 - ...x%20Line%20Delivery%20Movement%20Group.xml | 60 - bt5/erp5_base/bt/template_action_path_list | 1 - ...late_portal_type_allowed_content_type_list | 2 - bt5/erp5_base/bt/template_portal_type_id_list | 1 - .../InvoiceTransaction_selectDelivery.xml | 8 - .../portal_types/Discount%20Line/view.xml | 79 - .../Discount%20Model%20Line/view.xml | 79 - .../view_discount.xml | 79 - .../view_tax.xml | 79 - .../Purchase%20Order/view_discount.xml | 79 - .../Purchase%20Order/view_tax.xml | 79 - .../view_discount.xml | 79 - .../Purchase%20Trade%20Condition/view_tax.xml | 79 - .../view_discount.xml | 79 - .../Sale%20Invoice%20Transaction/view_tax.xml | 79 - .../Sale%20Order/view_discount.xml | 79 - .../portal_types/Sale%20Order/view_tax.xml | 79 - .../view_discount.xml | 79 - .../Sale%20Trade%20Condition/view_tax.xml | 79 - .../portal_types/Tax%20Line/view.xml | 79 - .../portal_types/Tax%20Model%20Line/view.xml | 79 - .../portal_types/Tax%20Rule/view.xml | 79 - .../purchase_invoice_tax_builder.xml | 175 --- .../base_variant_movement_group_in_line.xml | 42 - .../category_movement_group_on_line.xml | 54 - .../causality_movement_group_on_delivery.xml | 42 - ...ne_delivery_movement_group_on_delivery.xml | 42 - .../variant_movement_group_on_cell.xml | 43 - .../sale_invoice_tax_builder.xml | 175 --- .../base_variant_movement_group_in_line.xml | 42 - .../category_movement_group_on_line.xml | 54 - .../causality_movement_group_on_delivery.xml | 42 - ...ne_delivery_movement_group_on_delivery.xml | 42 - .../variant_movement_group_on_cell.xml | 43 - .../portal_rules/default_tax_rule.xml | 105 -- .../portal_rules/default_tax_rule/1.xml | 20 - .../portal_rules/default_tax_rule/3.xml | 41 - .../allowed_content_types.xml | 34 - .../hidden_content_type_list.xml | 18 - .../portal_types/Discount%20Line.xml | 61 - .../portal_types/Discount%20Model%20Line.xml | 58 - .../portal_types/Tax%20Line.xml | 60 - .../portal_types/Tax%20Model%20Line.xml | 58 - .../portal_types/Tax%20Rule.xml | 127 -- .../workflow_chain_type.xml | 46 - .../portal_skins/erp5_legacy_tax_system.xml | 47 - .../Base_viewLegacyTaxSystemFieldLibrary.xml | 130 -- .../my_view_mode_title.xml | 90 -- ...ryMovement_getCorrespondingTaxLineList.xml | 126 -- .../Delivery_statDiscount.xml | 69 - .../Delivery_statTax.xml | 69 - .../Delivery_updateTaxLineList.xml | 121 -- .../Delivery_viewDiscount.xml | 155 -- .../Delivery_viewDiscount/listbox.xml | 200 --- .../listbox_base_application_title_list.xml | 129 -- .../Delivery_viewDiscount/listbox_price.xml | 96 -- .../listbox_quantity.xml | 104 -- .../listbox_total_price.xml | 96 -- .../Delivery_viewDiscount/my_title.xml | 104 -- .../Delivery_viewTax.xml | 155 -- .../Delivery_viewTax/listbox.xml | 204 --- .../listbox_base_application_title_list.xml | 129 -- .../Delivery_viewTax/listbox_price.xml | 96 -- .../Delivery_viewTax/listbox_quantity.xml | 104 -- .../Delivery_viewTax/listbox_total_price.xml | 96 -- .../Delivery_viewTax/my_title.xml | 96 -- .../DiscountLine_view.xml | 157 -- .../my_base_application_list.xml | 96 -- .../my_base_contribution_list.xml | 90 -- .../my_calculation_script_id.xml | 104 -- .../DiscountLine_view/my_float_index.xml | 105 -- .../DiscountLine_view/my_price.xml | 96 -- .../DiscountLine_view/my_quantity.xml | 104 -- .../DiscountLine_view/my_reference.xml | 104 -- .../DiscountLine_view/my_resource_title.xml | 108 -- .../DiscountLine_view/my_title.xml | 96 -- .../DiscountModelLine_view.xml | 157 -- .../my_base_application_list.xml | 90 -- .../my_base_contribution_list.xml | 90 -- .../my_calculation_script_id.xml | 104 -- .../DiscountModelLine_view/my_efficiency.xml | 90 -- .../DiscountModelLine_view/my_float_index.xml | 105 -- .../DiscountModelLine_view/my_quantity.xml | 104 -- .../DiscountModelLine_view/my_reference.xml | 98 -- .../my_resource_title.xml | 108 -- .../DiscountModelLine_view/my_title.xml | 96 -- .../Invoice_selectTaxMovementList.xml | 86 -- .../Order_applyTradeCondition.xml | 194 --- .../PurchaseInvoice_selectTaxMovementList.xml | 69 - .../SaleInvoice_selectTaxMovementList.xml | 69 - .../SimulationMovement_isDeliveryMovement.xml | 77 - .../SimulationMovement_isTaxMovement.xml | 77 - .../SimulationMovement_testTaxRule.xml | 75 - .../erp5_legacy_tax_system/TaxLine_view.xml | 157 -- .../TaxLine_view/my_base_application_list.xml | 96 -- .../my_base_contribution_list.xml | 90 -- .../TaxLine_view/my_calculation_script_id.xml | 104 -- .../TaxLine_view/my_float_index.xml | 105 -- .../TaxLine_view/my_price.xml | 104 -- .../TaxLine_view/my_quantity.xml | 104 -- .../TaxLine_view/my_reference.xml | 104 -- .../TaxLine_view/my_resource_title.xml | 90 -- .../TaxLine_view/my_title.xml | 96 -- .../TaxModelLine_view.xml | 157 -- .../my_base_application_list.xml | 90 -- .../my_base_contribution_list.xml | 90 -- .../my_calculation_script_id.xml | 104 -- .../TaxModelLine_view/my_efficiency.xml | 98 -- .../TaxModelLine_view/my_float_index.xml | 105 -- .../TaxModelLine_view/my_quantity.xml | 104 -- .../TaxModelLine_view/my_reference.xml | 98 -- .../TaxModelLine_view/my_resource_title.xml | 90 -- .../TaxModelLine_view/my_title.xml | 96 -- .../TradeCondition_viewDiscount.xml | 147 -- .../TradeCondition_viewDiscount/listbox.xml | 153 -- .../listbox_base_application_title_list.xml | 129 -- .../listbox_efficiency.xml | 96 -- .../TradeCondition_viewDiscount/my_title.xml | 90 -- .../TradeCondition_viewTax.xml | 153 -- .../TradeCondition_viewTax/listbox.xml | 153 -- .../listbox_base_application_title_list.xml | 129 -- .../listbox_efficiency.xml | 96 -- .../TradeCondition_viewTax/my_title.xml | 96 -- .../delivery_tax_interaction_workflow.xml | 46 - .../interactions.xml | 28 - .../interactions/TaxableMovement_clone.xml | 90 -- .../interactions/TaxableMovement_delete.xml | 84 -- .../interactions/afterSolve.xml | 91 -- .../scripts.xml | 28 - .../scripts/Delivery_updateTaxLineList.xml | 68 - .../variables.xml | 22 - .../worklists.xml | 22 - .../tax_interaction_workflow.xml | 46 - .../tax_interaction_workflow/interactions.xml | 28 - .../interactions/TaxableMovement_edit.xml | 91 -- .../TaxableMovement_setResource.xml | 91 -- .../tax_interaction_workflow/scripts.xml | 28 - .../scripts/Delivery_updateTaxLineList.xml | 71 - ...ement_copyBaseContributionFromResource.xml | 83 -- .../tax_interaction_workflow/variables.xml | 22 - .../tax_interaction_workflow/worklists.xml | 22 - bt5/erp5_legacy_tax_system/bt/change_log | 5 - bt5/erp5_legacy_tax_system/bt/copyright_list | 1 - bt5/erp5_legacy_tax_system/bt/dependency_list | 1 - bt5/erp5_legacy_tax_system/bt/description | 1 - bt5/erp5_legacy_tax_system/bt/license | 1 - bt5/erp5_legacy_tax_system/bt/revision | 1 - .../bt/template_action_path_list | 17 - .../bt/template_format_version | 1 - .../bt/template_path_list | 6 - ...late_portal_type_allowed_content_type_list | 16 - ...plate_portal_type_hidden_content_type_list | 8 - .../bt/template_portal_type_id_list | 5 - .../template_portal_type_workflow_chain_list | 12 - .../bt/template_skin_id_list | 1 - .../bt/template_workflow_id_list | 2 - bt5/erp5_legacy_tax_system/bt/title | 1 - bt5/erp5_legacy_tax_system/bt/version | 1 - .../Open%20Internal%20Order/view_discount.xml | 79 - .../Open%20Internal%20Order/view_tax.xml | 79 - .../Open%20Purchase%20Order/view_discount.xml | 79 - .../Open%20Purchase%20Order/view_tax.xml | 79 - .../Open%20Sale%20Order/view_discount.xml | 79 - .../Open%20Sale%20Order/view_tax.xml | 79 - .../allowed_content_types.xml | 17 - .../hidden_content_type_list.xml | 14 - .../workflow_chain_type.xml | 10 - .../bt/change_log | 2 - .../bt/dependency_list | 2 - .../bt/description | 1 - .../bt/license | 1 - .../bt/revision | 1 - .../bt/template_action_path_list | 6 - .../bt/template_format_version | 1 - ...late_portal_type_allowed_content_type_list | 9 - ...plate_portal_type_hidden_content_type_list | 6 - .../template_portal_type_workflow_chain_list | 2 - .../bt/title | 1 - .../bt/version | 1 - .../ERP5Site_getUpgraderSignature.xml | 1 - .../Document/TaxLineDeliveryMovementGroup.py | 118 -- product/ERP5/tests/testERP5Interfaces.py | 2 +- .../tests/testLegacyTaxLineTradeCondition.py | 1269 ----------------- .../tests/testLegacyTradeCondition.py | 720 ---------- 186 files changed, 1 insertion(+), 15107 deletions(-) delete mode 100644 bt5/erp5_base/ActionTemplateItem/portal_types/Tax%20Line%20Delivery%20Movement%20Group/view.xml delete mode 100644 bt5/erp5_base/PortalTypeTemplateItem/portal_types/Tax%20Line%20Delivery%20Movement%20Group.xml delete mode 100644 bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Discount%20Line/view.xml delete mode 100644 bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Discount%20Model%20Line/view.xml delete mode 100644 bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Invoice%20Transaction/view_discount.xml delete mode 100644 bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Invoice%20Transaction/view_tax.xml delete mode 100644 bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Order/view_discount.xml delete mode 100644 bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Order/view_tax.xml delete mode 100644 bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Trade%20Condition/view_discount.xml delete mode 100644 bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Trade%20Condition/view_tax.xml delete mode 100644 bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Invoice%20Transaction/view_discount.xml delete mode 100644 bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Invoice%20Transaction/view_tax.xml delete mode 100644 bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Order/view_discount.xml delete mode 100644 bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Order/view_tax.xml delete mode 100644 bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Trade%20Condition/view_discount.xml delete mode 100644 bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Trade%20Condition/view_tax.xml delete mode 100644 bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Tax%20Line/view.xml delete mode 100644 bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Tax%20Model%20Line/view.xml delete mode 100644 bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Tax%20Rule/view.xml delete mode 100644 bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder.xml delete mode 100644 bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/base_variant_movement_group_in_line.xml delete mode 100644 bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/category_movement_group_on_line.xml delete mode 100644 bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/causality_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/tax_line_delivery_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/variant_movement_group_on_cell.xml delete mode 100644 bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder.xml delete mode 100644 bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/base_variant_movement_group_in_line.xml delete mode 100644 bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/category_movement_group_on_line.xml delete mode 100644 bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/causality_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/tax_line_delivery_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/variant_movement_group_on_cell.xml delete mode 100644 bt5/erp5_legacy_tax_system/PathTemplateItem/portal_rules/default_tax_rule.xml delete mode 100644 bt5/erp5_legacy_tax_system/PathTemplateItem/portal_rules/default_tax_rule/1.xml delete mode 100644 bt5/erp5_legacy_tax_system/PathTemplateItem/portal_rules/default_tax_rule/3.xml delete mode 100644 bt5/erp5_legacy_tax_system/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml delete mode 100644 bt5/erp5_legacy_tax_system/PortalTypeHiddenContentTypeTemplateItem/hidden_content_type_list.xml delete mode 100644 bt5/erp5_legacy_tax_system/PortalTypeTemplateItem/portal_types/Discount%20Line.xml delete mode 100644 bt5/erp5_legacy_tax_system/PortalTypeTemplateItem/portal_types/Discount%20Model%20Line.xml delete mode 100644 bt5/erp5_legacy_tax_system/PortalTypeTemplateItem/portal_types/Tax%20Line.xml delete mode 100644 bt5/erp5_legacy_tax_system/PortalTypeTemplateItem/portal_types/Tax%20Model%20Line.xml delete mode 100644 bt5/erp5_legacy_tax_system/PortalTypeTemplateItem/portal_types/Tax%20Rule.xml delete mode 100644 bt5/erp5_legacy_tax_system/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Base_viewLegacyTaxSystemFieldLibrary.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Base_viewLegacyTaxSystemFieldLibrary/my_view_mode_title.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DeliveryMovement_getCorrespondingTaxLineList.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_statDiscount.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_statTax.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_updateTaxLineList.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox_base_application_title_list.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox_price.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox_quantity.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox_total_price.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/my_title.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox_base_application_title_list.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox_price.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox_quantity.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox_total_price.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/my_title.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_base_application_list.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_base_contribution_list.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_calculation_script_id.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_float_index.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_price.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_quantity.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_reference.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_resource_title.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_title.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_base_application_list.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_base_contribution_list.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_calculation_script_id.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_efficiency.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_float_index.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_quantity.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_reference.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_resource_title.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_title.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Invoice_selectTaxMovementList.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Order_applyTradeCondition.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/PurchaseInvoice_selectTaxMovementList.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/SaleInvoice_selectTaxMovementList.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/SimulationMovement_isDeliveryMovement.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/SimulationMovement_isTaxMovement.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/SimulationMovement_testTaxRule.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_base_application_list.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_base_contribution_list.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_calculation_script_id.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_float_index.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_price.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_quantity.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_reference.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_resource_title.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_title.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_base_application_list.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_base_contribution_list.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_calculation_script_id.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_efficiency.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_float_index.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_quantity.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_reference.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_resource_title.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_title.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount/listbox.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount/listbox_base_application_title_list.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount/listbox_efficiency.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount/my_title.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax/listbox.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax/listbox_base_application_title_list.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax/listbox_efficiency.xml delete mode 100644 bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax/my_title.xml delete mode 100644 bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow.xml delete mode 100644 bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/interactions.xml delete mode 100644 bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/interactions/TaxableMovement_clone.xml delete mode 100644 bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/interactions/TaxableMovement_delete.xml delete mode 100644 bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/interactions/afterSolve.xml delete mode 100644 bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/scripts.xml delete mode 100644 bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/scripts/Delivery_updateTaxLineList.xml delete mode 100644 bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/variables.xml delete mode 100644 bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/worklists.xml delete mode 100644 bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow.xml delete mode 100644 bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/interactions.xml delete mode 100644 bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/interactions/TaxableMovement_edit.xml delete mode 100644 bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/interactions/TaxableMovement_setResource.xml delete mode 100644 bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/scripts.xml delete mode 100644 bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/scripts/Delivery_updateTaxLineList.xml delete mode 100644 bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/scripts/Movement_copyBaseContributionFromResource.xml delete mode 100644 bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/variables.xml delete mode 100644 bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/worklists.xml delete mode 100644 bt5/erp5_legacy_tax_system/bt/change_log delete mode 100644 bt5/erp5_legacy_tax_system/bt/copyright_list delete mode 100644 bt5/erp5_legacy_tax_system/bt/dependency_list delete mode 100644 bt5/erp5_legacy_tax_system/bt/description delete mode 100644 bt5/erp5_legacy_tax_system/bt/license delete mode 100644 bt5/erp5_legacy_tax_system/bt/revision delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_action_path_list delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_format_version delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_path_list delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_portal_type_allowed_content_type_list delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_portal_type_hidden_content_type_list delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_portal_type_id_list delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_portal_type_workflow_chain_list delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_skin_id_list delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_workflow_id_list delete mode 100644 bt5/erp5_legacy_tax_system/bt/title delete mode 100644 bt5/erp5_legacy_tax_system/bt/version delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Internal%20Order/view_discount.xml delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Internal%20Order/view_tax.xml delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Purchase%20Order/view_discount.xml delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Purchase%20Order/view_tax.xml delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Sale%20Order/view_discount.xml delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Sale%20Order/view_tax.xml delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/PortalTypeHiddenContentTypeTemplateItem/hidden_content_type_list.xml delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/change_log delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/dependency_list delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/description delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/license delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/revision delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_action_path_list delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_format_version delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_allowed_content_type_list delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_hidden_content_type_list delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_workflow_chain_list delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/title delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/version delete mode 100644 product/ERP5/Document/TaxLineDeliveryMovementGroup.py delete mode 100644 product/ERP5Legacy/tests/testLegacyTaxLineTradeCondition.py delete mode 100644 product/ERP5Legacy/tests/testLegacyTradeCondition.py diff --git a/bt5/erp5_base/ActionTemplateItem/portal_types/Tax%20Line%20Delivery%20Movement%20Group/view.xml b/bt5/erp5_base/ActionTemplateItem/portal_types/Tax%20Line%20Delivery%20Movement%20Group/view.xml deleted file mode 100644 index ef34a51007..0000000000 --- a/bt5/erp5_base/ActionTemplateItem/portal_types/Tax%20Line%20Delivery%20Movement%20Group/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/MovementGroup_view</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml b/bt5/erp5_base/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml index 1570e00baa..c23dd256a3 100644 --- a/bt5/erp5_base/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml +++ b/bt5/erp5_base/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml @@ -37,7 +37,6 @@ <item>Requirement Movement Group</item> <item>Root Applied Rule Causality Movement Group</item> <item>Split Movement Group</item> - <item>Tax Line Delivery Movement Group</item> <item>Title Movement Group</item> <item>Variant Movement Group</item> <item>Variation Property Movement Group</item> @@ -75,7 +74,6 @@ <item>Requirement Movement Group</item> <item>Root Applied Rule Causality Movement Group</item> <item>Split Movement Group</item> - <item>Tax Line Delivery Movement Group</item> <item>Title Movement Group</item> <item>Variant Movement Group</item> <item>Variation Property Movement Group</item> diff --git a/bt5/erp5_base/PortalTypeTemplateItem/portal_types/Tax%20Line%20Delivery%20Movement%20Group.xml b/bt5/erp5_base/PortalTypeTemplateItem/portal_types/Tax%20Line%20Delivery%20Movement%20Group.xml deleted file mode 100644 index 1821b5a587..0000000000 --- a/bt5/erp5_base/PortalTypeTemplateItem/portal_types/Tax%20Line%20Delivery%20Movement%20Group.xml +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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_icon.gif</string> </value> - </item> - <item> - <key> <string>content_meta_type</string> </key> - <value> <string>ERP5 Tax Line Delivery Movement Group</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addTaxLineDeliveryMovementGroup</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>movement_group</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Tax Line Delivery Movement Group</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_base/bt/template_action_path_list b/bt5/erp5_base/bt/template_action_path_list index 5cc8dfe923..c14d40001f 100644 --- a/bt5/erp5_base/bt/template_action_path_list +++ b/bt5/erp5_base/bt/template_action_path_list @@ -90,7 +90,6 @@ Rounding Model | predicate_view Rounding Model | view Rounding Tool | view Split Movement Group | view -Tax Line Delivery Movement Group | view Telephone | change_function Telephone | view Title Movement Group | view diff --git a/bt5/erp5_base/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_base/bt/template_portal_type_allowed_content_type_list index 2b9d2f3d8f..2ff96ec0d3 100644 --- a/bt5/erp5_base/bt/template_portal_type_allowed_content_type_list +++ b/bt5/erp5_base/bt/template_portal_type_allowed_content_type_list @@ -25,7 +25,6 @@ Delivery Builder | Quantity Sign Movement Group Delivery Builder | Requirement Movement Group Delivery Builder | Root Applied Rule Causality Movement Group Delivery Builder | Split Movement Group -Delivery Builder | Tax Line Delivery Movement Group Delivery Builder | Title Movement Group Delivery Builder | Variant Movement Group Delivery Builder | Variation Property Movement Group @@ -53,7 +52,6 @@ Order Builder | Quantity Sign Movement Group Order Builder | Requirement Movement Group Order Builder | Root Applied Rule Causality Movement Group Order Builder | Split Movement Group -Order Builder | Tax Line Delivery Movement Group Order Builder | Title Movement Group Order Builder | Variant Movement Group Order Builder | Variation Property Movement Group diff --git a/bt5/erp5_base/bt/template_portal_type_id_list b/bt5/erp5_base/bt/template_portal_type_id_list index 45897c6d8c..54d4f65b1e 100644 --- a/bt5/erp5_base/bt/template_portal_type_id_list +++ b/bt5/erp5_base/bt/template_portal_type_id_list @@ -56,7 +56,6 @@ Rounding Model Rounding Tool Solver Tool Split Movement Group -Tax Line Delivery Movement Group Telephone Title Movement Group Variant Movement Group 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 e2d91b2163..1cb8de89f8 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 @@ -60,14 +60,6 @@ deliveries_keys = {}\n for movement in movement_list:\n ar = movement.getParentValue()\n line = None\n -\n - # case of tax movement \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 - for sm in other_rule.contentValues():\n - line = sm.getDeliveryValue()\n \n # case of trade model movement\n if ar.getParentValue().getParentValue().getSpecialiseValue().getPortalType() in (\'Trade Model Rule\', \'Trade Model Simulation Rule\'):\n diff --git a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Discount%20Line/view.xml b/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Discount%20Line/view.xml deleted file mode 100644 index ac1b4d5d0b..0000000000 --- a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Discount%20Line/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/DiscountLine_view</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Discount%20Model%20Line/view.xml b/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Discount%20Model%20Line/view.xml deleted file mode 100644 index ca34be1e3e..0000000000 --- a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Discount%20Model%20Line/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/DiscountModelLine_view</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Invoice%20Transaction/view_discount.xml b/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Invoice%20Transaction/view_discount.xml deleted file mode 100644 index e791f111bd..0000000000 --- a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Invoice%20Transaction/view_discount.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_discount</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>5.0</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Discount</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>0</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/Delivery_viewDiscount</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Invoice%20Transaction/view_tax.xml b/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Invoice%20Transaction/view_tax.xml deleted file mode 100644 index 6b0686e3e9..0000000000 --- a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Invoice%20Transaction/view_tax.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_tax</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>4.0</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Tax</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>0</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/Delivery_viewTax</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Order/view_discount.xml b/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Order/view_discount.xml deleted file mode 100644 index 170a3254a9..0000000000 --- a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Order/view_discount.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_discount</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>4.0</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Discount</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/Delivery_viewDiscount</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Order/view_tax.xml b/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Order/view_tax.xml deleted file mode 100644 index 362e64923d..0000000000 --- a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Order/view_tax.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_tax</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>3.5</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Tax</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/Delivery_viewTax</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Trade%20Condition/view_discount.xml b/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Trade%20Condition/view_discount.xml deleted file mode 100644 index 5efd255872..0000000000 --- a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Trade%20Condition/view_discount.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_discount</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>4.0</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Discount</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/TradeCondition_viewDiscount</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Trade%20Condition/view_tax.xml b/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Trade%20Condition/view_tax.xml deleted file mode 100644 index de82ddb699..0000000000 --- a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Purchase%20Trade%20Condition/view_tax.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_tax</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>4.0</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Tax</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/TradeCondition_viewTax</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Invoice%20Transaction/view_discount.xml b/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Invoice%20Transaction/view_discount.xml deleted file mode 100644 index d10a8398b1..0000000000 --- a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Invoice%20Transaction/view_discount.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_discount</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>5.0</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Discount</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/Delivery_viewDiscount</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Invoice%20Transaction/view_tax.xml b/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Invoice%20Transaction/view_tax.xml deleted file mode 100644 index d6e92c1222..0000000000 --- a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Invoice%20Transaction/view_tax.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_tax</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>4.0</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Tax</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/Delivery_viewTax</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Order/view_discount.xml b/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Order/view_discount.xml deleted file mode 100644 index 170a3254a9..0000000000 --- a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Order/view_discount.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_discount</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>4.0</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Discount</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/Delivery_viewDiscount</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Order/view_tax.xml b/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Order/view_tax.xml deleted file mode 100644 index 362e64923d..0000000000 --- a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Order/view_tax.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_tax</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>3.5</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Tax</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/Delivery_viewTax</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Trade%20Condition/view_discount.xml b/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Trade%20Condition/view_discount.xml deleted file mode 100644 index 5efd255872..0000000000 --- a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Trade%20Condition/view_discount.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_discount</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>4.0</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Discount</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/TradeCondition_viewDiscount</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Trade%20Condition/view_tax.xml b/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Trade%20Condition/view_tax.xml deleted file mode 100644 index de82ddb699..0000000000 --- a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Sale%20Trade%20Condition/view_tax.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_tax</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>4.0</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Tax</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/TradeCondition_viewTax</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Tax%20Line/view.xml b/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Tax%20Line/view.xml deleted file mode 100644 index f2a22f7594..0000000000 --- a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Tax%20Line/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/TaxLine_view</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Tax%20Model%20Line/view.xml b/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Tax%20Model%20Line/view.xml deleted file mode 100644 index 803e36bd36..0000000000 --- a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Tax%20Model%20Line/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/TaxModelLine_view</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Tax%20Rule/view.xml b/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Tax%20Rule/view.xml deleted file mode 100644 index 4a16964623..0000000000 --- a/bt5/erp5_legacy_tax_system/ActionTemplateItem/portal_types/Tax%20Rule/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder.xml b/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder.xml deleted file mode 100644 index 98b5644825..0000000000 --- a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder.xml +++ /dev/null @@ -1,175 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Builder" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>collect_order</string> </key> - <value> - <tuple> - <string>OrderMovementGroup</string> - <string>PathMovementGroup</string> - <string>DateMovementGroup</string> - <string>ResourceMovementGroup</string> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>collect_order_list</string> </key> - <value> - <list> - <string>test</string> - <string>test2</string> - </list> - </value> - </item> - <item> - <key> <string>collect_order_list_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>comment</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_method_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_script_id</string> </key> - <value> <string>Invoice_reindexRelatedSimulation</string> </value> - </item> - <item> - <key> <string>delivery_cell_collect_order</string> </key> - <value> - <tuple> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_cell_portal_type</string> </key> - <value> <string>Invoice Cell</string> </value> - </item> - <item> - <key> <string>delivery_cell_separate_order</string> </key> - <value> - <tuple> - <string>calculateSeparatePrice</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_collect_order</string> </key> - <value> - <tuple> - <string>CausalityMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_collect_order</string> </key> - <value> - <tuple> - <string>ResourceMovementGroup</string> - <string>BaseVariantMovementGroup</string> - <string>BaseApplicationMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_portal_type</string> </key> - <value> <string>Tax Line</string> </value> - </item> - <item> - <key> <string>delivery_module</string> </key> - <value> <string>accounting_module</string> </value> - </item> - <item> - <key> <string>delivery_portal_type</string> </key> - <value> <string>Purchase Invoice Transaction</string> </value> - </item> - <item> - <key> <string>delivery_select_method_id</string> </key> - <value> <string>InvoiceTransaction_selectDelivery</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Add Tax Lines in Purchase Invoices</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>purchase_invoice_tax_builder</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Builder</string> </value> - </item> - <item> - <key> <string>resource_portal_type</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>simulation_select_method_id</string> </key> - <value> <string>PurchaseInvoice_selectTaxMovementList</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Purchase Invoice Tax Builder</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_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/base_variant_movement_group_in_line.xml b/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/base_variant_movement_group_in_line.xml deleted file mode 100644 index 5d8672824a..0000000000 --- a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/base_variant_movement_group_in_line.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Base Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/category_movement_group_on_line.xml b/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/category_movement_group_on_line.xml deleted file mode 100644 index 39057a640f..0000000000 --- a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/category_movement_group_on_line.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>resource</string> - <string>aggregate</string> - <string>base_application</string> - <string>base_contribution</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/causality_movement_group_on_delivery.xml b/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/causality_movement_group_on_delivery.xml deleted file mode 100644 index c0a925c8e3..0000000000 --- a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/causality_movement_group_on_delivery.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Causality Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>causality_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Causality Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>causality_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/tax_line_delivery_movement_group_on_delivery.xml b/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/tax_line_delivery_movement_group_on_delivery.xml deleted file mode 100644 index d4b970f38e..0000000000 --- a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/tax_line_delivery_movement_group_on_delivery.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Tax Line Delivery Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>tax_line_delivery_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Tax Line Delivery Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Tax Line Delivery Movement Group On Delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/variant_movement_group_on_cell.xml b/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/variant_movement_group_on_cell.xml deleted file mode 100644 index f9f4145ef0..0000000000 --- a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/purchase_invoice_tax_builder/variant_movement_group_on_cell.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/cell</string> - <string>divergence_scope/category</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder.xml b/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder.xml deleted file mode 100644 index 7b29865577..0000000000 --- a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder.xml +++ /dev/null @@ -1,175 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Builder" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>collect_order</string> </key> - <value> - <tuple> - <string>OrderMovementGroup</string> - <string>PathMovementGroup</string> - <string>DateMovementGroup</string> - <string>ResourceMovementGroup</string> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>collect_order_list</string> </key> - <value> - <list> - <string>test</string> - <string>test2</string> - </list> - </value> - </item> - <item> - <key> <string>collect_order_list_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>comment</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_method_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_script_id</string> </key> - <value> <string>Invoice_reindexRelatedSimulation</string> </value> - </item> - <item> - <key> <string>delivery_cell_collect_order</string> </key> - <value> - <tuple> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_cell_portal_type</string> </key> - <value> <string>Invoice Cell</string> </value> - </item> - <item> - <key> <string>delivery_cell_separate_order</string> </key> - <value> - <tuple> - <string>calculateSeparatePrice</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_collect_order</string> </key> - <value> - <tuple> - <string>CausalityMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_collect_order</string> </key> - <value> - <tuple> - <string>ResourceMovementGroup</string> - <string>BaseVariantMovementGroup</string> - <string>BaseApplicationMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_portal_type</string> </key> - <value> <string>Tax Line</string> </value> - </item> - <item> - <key> <string>delivery_module</string> </key> - <value> <string>accounting_module</string> </value> - </item> - <item> - <key> <string>delivery_portal_type</string> </key> - <value> <string>Sale Invoice Transaction</string> </value> - </item> - <item> - <key> <string>delivery_select_method_id</string> </key> - <value> <string>InvoiceTransaction_selectDelivery</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Add Tax Lines in Sale Invoices</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>sale_invoice_tax_builder</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Builder</string> </value> - </item> - <item> - <key> <string>resource_portal_type</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>simulation_select_method_id</string> </key> - <value> <string>SaleInvoice_selectTaxMovementList</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Sale Invoice Tax Builder</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_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/base_variant_movement_group_in_line.xml b/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/base_variant_movement_group_in_line.xml deleted file mode 100644 index 5d8672824a..0000000000 --- a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/base_variant_movement_group_in_line.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Base Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/category_movement_group_on_line.xml b/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/category_movement_group_on_line.xml deleted file mode 100644 index 39057a640f..0000000000 --- a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/category_movement_group_on_line.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>resource</string> - <string>aggregate</string> - <string>base_application</string> - <string>base_contribution</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/causality_movement_group_on_delivery.xml b/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/causality_movement_group_on_delivery.xml deleted file mode 100644 index c0a925c8e3..0000000000 --- a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/causality_movement_group_on_delivery.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Causality Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>causality_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Causality Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>causality_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/tax_line_delivery_movement_group_on_delivery.xml b/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/tax_line_delivery_movement_group_on_delivery.xml deleted file mode 100644 index d4b970f38e..0000000000 --- a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/tax_line_delivery_movement_group_on_delivery.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Tax Line Delivery Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>tax_line_delivery_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Tax Line Delivery Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Tax Line Delivery Movement Group On Delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/variant_movement_group_on_cell.xml b/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/variant_movement_group_on_cell.xml deleted file mode 100644 index f9f4145ef0..0000000000 --- a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_deliveries/sale_invoice_tax_builder/variant_movement_group_on_cell.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/cell</string> - <string>divergence_scope/category</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_rules/default_tax_rule.xml b/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_rules/default_tax_rule.xml deleted file mode 100644 index 4a7b0154a9..0000000000 --- a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_rules/default_tax_rule.xml +++ /dev/null @@ -1,105 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Tax Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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>criterion_property</string> </key> - <value> - <tuple> - <string>portal_type</string> - </tuple> - </value> - </item> - <item> - <key> <string>default_reference</string> </key> - <value> <string>default_tax_rule</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>default_tax_rule</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Tax Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple> - <string>SimulationMovement_testTaxRule</string> - </tuple> - </value> - </item> - <item> - <key> <string>version</string> </key> - <value> <string>1</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_legacy_tax_system/PathTemplateItem/portal_rules/default_tax_rule/1.xml b/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_rules/default_tax_rule/1.xml deleted file mode 100644 index af866d4a19..0000000000 --- a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_rules/default_tax_rule/1.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>1</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Quantity Divergence Tester</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_rules/default_tax_rule/3.xml b/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_rules/default_tax_rule/3.xml deleted file mode 100644 index 2b92c26db3..0000000000 --- a/bt5/erp5_legacy_tax_system/PathTemplateItem/portal_rules/default_tax_rule/3.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>3</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Divergence Tester</string> </value> - </item> - <item> - <key> <string>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>base_application | Base Application</string> - <string>resource | Resource</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml b/bt5/erp5_legacy_tax_system/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml deleted file mode 100644 index 69bbb7fa11..0000000000 --- a/bt5/erp5_legacy_tax_system/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml +++ /dev/null @@ -1,34 +0,0 @@ -<allowed_content_type_list> - <portal_type id="Purchase Invoice Transaction"> - <item>Discount Line</item> - <item>Tax Line</item> - </portal_type> - <portal_type id="Purchase Order"> - <item>Discount Line</item> - <item>Tax Line</item> - </portal_type> - <portal_type id="Purchase Trade Condition"> - <item>Discount Model Line</item> - <item>Tax Model Line</item> - </portal_type> - <portal_type id="Rule Tool"> - <item>Tax Rule</item> - </portal_type> - <portal_type id="Sale Invoice Transaction"> - <item>Discount Line</item> - <item>Tax Line</item> - </portal_type> - <portal_type id="Sale Order"> - <item>Discount Line</item> - <item>Tax Line</item> - </portal_type> - <portal_type id="Sale Trade Condition"> - <item>Discount Model Line</item> - <item>Tax Model Line</item> - </portal_type> - <portal_type id="Tax 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_legacy_tax_system/PortalTypeHiddenContentTypeTemplateItem/hidden_content_type_list.xml b/bt5/erp5_legacy_tax_system/PortalTypeHiddenContentTypeTemplateItem/hidden_content_type_list.xml deleted file mode 100644 index 5c94d8a372..0000000000 --- a/bt5/erp5_legacy_tax_system/PortalTypeHiddenContentTypeTemplateItem/hidden_content_type_list.xml +++ /dev/null @@ -1,18 +0,0 @@ -<hidden_content_type_list> - <portal_type id="Purchase Invoice Transaction"> - <item>Discount Line</item> - <item>Tax Line</item> - </portal_type> - <portal_type id="Purchase Order"> - <item>Discount Line</item> - <item>Tax Line</item> - </portal_type> - <portal_type id="Sale Invoice Transaction"> - <item>Discount Line</item> - <item>Tax Line</item> - </portal_type> - <portal_type id="Sale Order"> - <item>Discount Line</item> - <item>Tax Line</item> - </portal_type> -</hidden_content_type_list> \ No newline at end of file diff --git a/bt5/erp5_legacy_tax_system/PortalTypeTemplateItem/portal_types/Discount%20Line.xml b/bt5/erp5_legacy_tax_system/PortalTypeTemplateItem/portal_types/Discount%20Line.xml deleted file mode 100644 index 29e7e7a6da..0000000000 --- a/bt5/erp5_legacy_tax_system/PortalTypeTemplateItem/portal_types/Discount%20Line.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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 Tax Line</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>A discount line bears a specific discount that will be applied to either an order or a product.</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addTaxLine</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>discount</string> - <string>tax_movement</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Discount Line</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_legacy_tax_system/PortalTypeTemplateItem/portal_types/Discount%20Model%20Line.xml b/bt5/erp5_legacy_tax_system/PortalTypeTemplateItem/portal_types/Discount%20Model%20Line.xml deleted file mode 100644 index 26348293ef..0000000000 --- a/bt5/erp5_legacy_tax_system/PortalTypeTemplateItem/portal_types/Discount%20Model%20Line.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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_icon.gif</string> </value> - </item> - <item> - <key> <string>content_meta_type</string> </key> - <value> <string>ERP5 Tax Line</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>In a purchase/sale trade condition document, a discount model line defines the discount behaviour of an order towards certain products.</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addTaxLine</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/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Discount Model Line</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_legacy_tax_system/PortalTypeTemplateItem/portal_types/Tax%20Line.xml b/bt5/erp5_legacy_tax_system/PortalTypeTemplateItem/portal_types/Tax%20Line.xml deleted file mode 100644 index 68e5e8dfb8..0000000000 --- a/bt5/erp5_legacy_tax_system/PortalTypeTemplateItem/portal_types/Tax%20Line.xml +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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_icon.gif</string> </value> - </item> - <item> - <key> <string>content_meta_type</string> </key> - <value> <string>ERP5 Tax Line</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Tax lines can be included in sale or purchase orders in order to define the tax rate that will be applied to taxable products and services of the order.</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addTaxLine</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>tax_movement</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Tax Line</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_legacy_tax_system/PortalTypeTemplateItem/portal_types/Tax%20Model%20Line.xml b/bt5/erp5_legacy_tax_system/PortalTypeTemplateItem/portal_types/Tax%20Model%20Line.xml deleted file mode 100644 index a21ec18155..0000000000 --- a/bt5/erp5_legacy_tax_system/PortalTypeTemplateItem/portal_types/Tax%20Model%20Line.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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_icon.gif</string> </value> - </item> - <item> - <key> <string>content_meta_type</string> </key> - <value> <string>ERP5 Tax Line</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Tax model lines are the equivalent of tax lines, only they are used in purchase and trade conditions instead of purchase and trade orders.</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addTaxLine</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/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Tax Model Line</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_legacy_tax_system/PortalTypeTemplateItem/portal_types/Tax%20Rule.xml b/bt5/erp5_legacy_tax_system/PortalTypeTemplateItem/portal_types/Tax%20Rule.xml deleted file mode 100644 index 631fb399e0..0000000000 --- a/bt5/erp5_legacy_tax_system/PortalTypeTemplateItem/portal_types/Tax%20Rule.xml +++ /dev/null @@ -1,127 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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 Tax Rule</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addTaxRule</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>Tax 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> - <item> - <key> <string>type_class</string> </key> - <value> <string>TaxRule</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> - <none/> - </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> - <none/> - </value> - </item> - <item> - <key> <string>property_name</string> </key> - <value> <string>title</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_legacy_tax_system/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml deleted file mode 100644 index 14aa32b8c0..0000000000 --- a/bt5/erp5_legacy_tax_system/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml +++ /dev/null @@ -1,46 +0,0 @@ -<workflow_chain> - <chain> - <type>Invoice Cell</type> - <workflow>tax_interaction_workflow</workflow> - </chain> - <chain> - <type>Invoice Line</type> - <workflow>tax_interaction_workflow</workflow> - </chain> - <chain> - <type>Purchase Invoice Transaction</type> - <workflow>delivery_tax_interaction_workflow</workflow> - </chain> - <chain> - <type>Purchase Order</type> - <workflow>delivery_tax_interaction_workflow</workflow> - </chain> - <chain> - <type>Purchase Order Cell</type> - <workflow>tax_interaction_workflow</workflow> - </chain> - <chain> - <type>Purchase Order Line</type> - <workflow>tax_interaction_workflow</workflow> - </chain> - <chain> - <type>Sale Invoice Transaction</type> - <workflow>delivery_tax_interaction_workflow</workflow> - </chain> - <chain> - <type>Sale Order</type> - <workflow>delivery_tax_interaction_workflow</workflow> - </chain> - <chain> - <type>Sale Order Cell</type> - <workflow>tax_interaction_workflow</workflow> - </chain> - <chain> - <type>Sale Order Line</type> - <workflow>tax_interaction_workflow</workflow> - </chain> - <chain> - <type>Tax Rule</type> - <workflow>edit_workflow, rule_validation_workflow</workflow> - </chain> -</workflow_chain> \ No newline at end of file diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system.xml deleted file mode 100644 index 44f177a2fe..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system.xml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Folder" module="OFS.Folder"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>business_template_skin_layer_priority</string> </value> - </item> - <item> - <key> <string>type</string> </key> - <value> <string>float</string> </value> - </item> - </dictionary> - </tuple> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>business_template_skin_layer_priority</string> </key> - <value> <float>10.0</float> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>erp5_legacy_tax_system</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Base_viewLegacyTaxSystemFieldLibrary.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Base_viewLegacyTaxSystemFieldLibrary.xml deleted file mode 100644 index 3a6023bb4a..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Base_viewLegacyTaxSystemFieldLibrary.xml +++ /dev/null @@ -1,130 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list> - <string>my_view_mode_title</string> - </list> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list/> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Base_viewLegacyTaxSystemFieldLibrary</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>Base_viewLegacyTaxSystemFieldLibrary</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Base_viewLegacyTaxSystemFieldLibrary/my_view_mode_title.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Base_viewLegacyTaxSystemFieldLibrary/my_view_mode_title.xml deleted file mode 100644 index 09be405b9c..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Base_viewLegacyTaxSystemFieldLibrary/my_view_mode_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_view_mode_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DeliveryMovement_getCorrespondingTaxLineList.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DeliveryMovement_getCorrespondingTaxLineList.xml deleted file mode 100644 index 8783649331..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DeliveryMovement_getCorrespondingTaxLineList.xml +++ /dev/null @@ -1,126 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>"""Calculate the tax price for this movement.\n -\n -We assume that all movement equally participate to each tax applied to base\n -amounts they are contributing to.\n -\n -"""\n -\n -total_price = context.getTotalPrice()\n -\n -contributed_tax_line_list = []\n -adjusted_tax_line_list = []\n -tax_line_list = context.getExplanationValue().contentValues(\n - portal_type=context.getPortalTaxMovementTypeList())\n -\n -# 1 find all tax lines that this line contributed to\n -for base_amount in context.getBaseContributionList():\n - for tax_line in tax_line_list:\n - if base_amount in tax_line.getBaseApplicationList():\n - if tax_line not in contributed_tax_line_list:\n - contributed_tax_line_list.append(tax_line)\n -\n -non_tax_movement_type_list = [t for t in context.getPortalMovementTypeList()\n - if t not in context.getPortalTaxMovementTypeList()]\n -other_movement_list = [m for m in context.getExplanationValue().getMovementList(\n - portal_type=non_tax_movement_type_list)]\n -# 2 for each tax line, calculate the corresponding ratio\n -for tax_line in contributed_tax_line_list:\n - base_total_price = 0\n - added_movement_list = {}\n - for base_amount in tax_line.getBaseApplicationList():\n - for movement in other_movement_list:\n - if base_amount in movement.getBaseContributionList():\n - if movement.getRelativeUrl() not in added_movement_list:\n - base_total_price += movement.getTotalPrice(fast=0)\n - added_movement_list[movement.getRelativeUrl()] = 1\n -\n - adjusted_tax_line_list.append(tax_line.asContext(quantity=\n - # XXX round ?\n - tax_line.getQuantity() * total_price / base_total_price))\n -\n -# 3 add tax movement that does not apply directly to any other movement\n -delivery_total_price = context.getExplanationValue().getTotalPrice(fast=0)\n -returned_tax_line_relative_url_list = [x.getRelativeUrl()\n - for x in adjusted_tax_line_list]\n -contributed_base_amount_dict = dict()\n -for movement in other_movement_list + [context]:\n - for base_amount in movement.getBaseContributionList():\n - contributed_base_amount_dict[base_amount] = 1\n -\n -for tax_line in tax_line_list:\n - if tax_line.getRelativeUrl() in returned_tax_line_relative_url_list:\n - continue\n - for base_amount in tax_line.getBaseApplicationList():\n - if base_amount in contributed_base_amount_dict:\n - break\n - else:\n - adjusted_tax_line_list.append(tax_line.asContext(\n - quantity=tax_line.getQuantity() * total_price / delivery_total_price))\n -\n -return adjusted_tax_line_list\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>DeliveryMovement_getCorrespondingTaxLineList</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_statDiscount.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_statDiscount.xml deleted file mode 100644 index 114ad885e4..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_statDiscount.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>from Products.PythonScripts.standard import Object\n -\n -return (Object(total_price=context.getTotalPrice(portal_type=\'Discount Line\',)), )\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>**kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Delivery_statDiscount</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_statTax.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_statTax.xml deleted file mode 100644 index aa53071c5b..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_statTax.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>from Products.PythonScripts.standard import Object\n -\n -return (Object(total_price=context.getTotalPrice(portal_type=\'Tax Line\',)), )\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>**kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Delivery_statTax</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_updateTaxLineList.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_updateTaxLineList.xml deleted file mode 100644 index aabef075db..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_updateTaxLineList.xml +++ /dev/null @@ -1,121 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -# A mapping base_application -> total_price\n -base_application_dict = dict()\n -\n -portal = context.getPortalObject()\n -\n -# skip tax movement, because they will be added later\n -valid_movement_type_list = [t for t in portal.getPortalMovementTypeList()\n - if t != \'Tax Line\']\n -\n -def getRelatedPath(parent, child):\n - """returns child\'s relative path in parent, as a tuple that can later be used\n - as an argument to parent.restrictedTraverse to find back the child.\n - """\n - parent_path_length = len(parent.getPhysicalPath())\n - child_path = child.getPhysicalPath()\n - return child_path[parent_path_length:]\n -\n -def sorted(seq, comp):\n - seq = seq[::]\n - seq.sort(comp)\n - return seq\n -\n -# now update tax lines for each base_application\n -for tax_line in sorted(\n - context.contentValues(portal_type=\'Tax Line\'),\n - lambda a, b: cmp(a.getFloatIndex(0), b.getFloatIndex(0))):\n - applicable_movement_list = dict()\n - quantity = 0\n - for base_application in tax_line.getBaseApplicationList():\n - quantity += base_application_dict.get(base_application, 0)\n - for movement in context.getMovementList(portal_type=valid_movement_type_list):\n - base_contribution_list = movement.getBaseContributionList()\n - for base_contribution in movement.getBaseContributionList():\n - # XXX non optimal loops, may needs optimisation\n - if base_contribution == base_application:\n - applicable_movement_list[getRelatedPath(context, movement)] = movement\n - \n - for movement in applicable_movement_list.values():\n - movement_price = movement.getTotalPrice(fast=0) or 0\n - if tax_line.getProperty(\'calculation_script_id\'):\n - raise NotImplementedError\n - # if tax_line.getQuantity() # XXX how to do static price ???\n -\n - quantity += movement_price\n -\n - tax_line.edit(quantity=quantity)\n -\n - # we add for the next tax ( to support for example tax on tax )\n - for base_amount in tax_line.getBaseContributionList():\n - base_application_dict[base_amount] =\\\n - base_application_dict.get(base_amount, 0) + tax_line.getTotalPrice(fast=0)\n - - -]]></string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Delivery_updateTaxLineList</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount.xml deleted file mode 100644 index 00308ff553..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount.xml +++ /dev/null @@ -1,155 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>edit_order</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list> - <string>listbox</string> - </list> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list> - <string>my_title</string> - </list> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list> - <string>listbox_price</string> - <string>listbox_base_application_title_list</string> - <string>listbox_quantity</string> - <string>listbox_total_price</string> - </list> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list/> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Delivery_viewDiscount</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Discount</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox.xml deleted file mode 100644 index f5f54d5bf3..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox.xml +++ /dev/null @@ -1,200 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>columns</string> - <string>sort</string> - <string>stat_method</string> - <string>selection_name</string> - <string>portal_types</string> - <string>editable_columns</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>columns</string> </key> - <value> - <list> - <tuple> - <string>title</string> - <string>Title</string> - </tuple> - <tuple> - <string>quantity</string> - <string>Base</string> - </tuple> - <tuple> - <string>price</string> - <string>Ratio</string> - </tuple> - <tuple> - <string>resource_title</string> - <string>Discount</string> - </tuple> - <tuple> - <string>base_application_title_list</string> - <string>Base Application</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> - <list> - <tuple> - <string>quantity</string> - <string>Base</string> - </tuple> - <tuple> - <string>price</string> - <string>Ratio</string> - </tuple> - <tuple> - <string>total_price</string> - <string>Amount</string> - </tuple> - <tuple> - <string>base_application_title_list</string> - <string>Base Application</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> - <list> - <tuple> - <string>Discount Line</string> - <string>Discount Line</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string>delivery_discount_selection</string> </value> - </item> - <item> - <key> <string>sort</string> </key> - <value> - <list> - <tuple> - <string>float_index</string> - <string>float_index</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>stat_method</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Discount Lines</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="Method" module="Products.Formulator.MethodField"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>method_name</string> </key> - <value> <string>Delivery_statDiscount</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox_base_application_title_list.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox_base_application_title_list.xml deleted file mode 100644 index 3a3925a293..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox_base_application_title_list.xml +++ /dev/null @@ -1,129 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>editable</string> - <string>display_width</string> - <string>default</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_base_application_title_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>default</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_string_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Base Applications</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python:\', \'.join(cell.getBaseApplicationTitleList())</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox_price.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox_price.xml deleted file mode 100644 index 89528bbd2b..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox_price.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_price</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_efficiency</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox_quantity.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox_quantity.xml deleted file mode 100644 index ae660f5b19..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox_quantity.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_quantity</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Default quantity</string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_quantity</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Quantity</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox_total_price.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox_total_price.xml deleted file mode 100644 index ca6b81a233..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/listbox_total_price.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_total_price</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_quantity</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/my_title.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/my_title.xml deleted file mode 100644 index df7d1310fc..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewDiscount/my_title.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>A one line title which describes a product, an order, a supply, a trade condition. It may be used in official documents.</string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Title</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax.xml deleted file mode 100644 index 6980410b6b..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax.xml +++ /dev/null @@ -1,155 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>edit_order</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list> - <string>listbox</string> - </list> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list> - <string>my_title</string> - </list> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list> - <string>listbox_price</string> - <string>listbox_total_price</string> - <string>listbox_base_application_title_list</string> - <string>listbox_quantity</string> - </list> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list/> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Delivery_viewTax</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Tax</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox.xml deleted file mode 100644 index 57922c0e3d..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox.xml +++ /dev/null @@ -1,204 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>columns</string> - <string>sort</string> - <string>stat_method</string> - <string>selection_name</string> - <string>portal_types</string> - <string>editable_columns</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>columns</string> </key> - <value> - <list> - <tuple> - <string>title</string> - <string>Title</string> - </tuple> - <tuple> - <string>quantity</string> - <string>Base</string> - </tuple> - <tuple> - <string>price</string> - <string>Ratio</string> - </tuple> - <tuple> - <string>total_price</string> - <string>Amount</string> - </tuple> - <tuple> - <string>resource_title</string> - <string>Tax</string> - </tuple> - <tuple> - <string>base_application_title_list</string> - <string>Base Application</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> - <list> - <tuple> - <string>quantity</string> - <string>Base</string> - </tuple> - <tuple> - <string>price</string> - <string>Ratio</string> - </tuple> - <tuple> - <string>total_price</string> - <string>Amount</string> - </tuple> - <tuple> - <string>base_application_title_list</string> - <string>Base Application</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> - <list> - <tuple> - <string>Tax Line</string> - <string>Tax Line</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string>delivery_tax_selection</string> </value> - </item> - <item> - <key> <string>sort</string> </key> - <value> - <list> - <tuple> - <string>float_index</string> - <string>float_index</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>stat_method</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Tax Lines</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="Method" module="Products.Formulator.MethodField"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>method_name</string> </key> - <value> <string>Delivery_statTax</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox_base_application_title_list.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox_base_application_title_list.xml deleted file mode 100644 index 3a3925a293..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox_base_application_title_list.xml +++ /dev/null @@ -1,129 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>editable</string> - <string>display_width</string> - <string>default</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_base_application_title_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>default</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_string_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Base Applications</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python:\', \'.join(cell.getBaseApplicationTitleList())</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox_price.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox_price.xml deleted file mode 100644 index 89528bbd2b..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox_price.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_price</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_efficiency</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox_quantity.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox_quantity.xml deleted file mode 100644 index ae660f5b19..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox_quantity.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_quantity</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Default quantity</string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_quantity</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Quantity</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox_total_price.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox_total_price.xml deleted file mode 100644 index ca6b81a233..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/listbox_total_price.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_total_price</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_quantity</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/my_title.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/my_title.xml deleted file mode 100644 index 3c76733945..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Delivery_viewTax/my_title.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view.xml deleted file mode 100644 index 2d437570b2..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view.xml +++ /dev/null @@ -1,157 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>edit_order</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list> - <string>my_title</string> - <string>my_float_index</string> - <string>my_reference</string> - <string>my_resource_title</string> - <string>my_base_application_list</string> - </list> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list> - <string>my_calculation_script_id</string> - <string>my_price</string> - <string>my_quantity</string> - <string>my_base_contribution_list</string> - </list> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>DiscountLine_view</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>DiscountLine_view</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Discount Line</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_base_application_list.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_base_application_list.xml deleted file mode 100644 index f9a506b456..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_base_application_list.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_base_application_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_base_application_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_base_contribution_list.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_base_contribution_list.xml deleted file mode 100644 index 77287550ad..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_base_contribution_list.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_base_contribution_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_base_contribution_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_calculation_script_id.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_calculation_script_id.xml deleted file mode 100644 index 5d80e548b1..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_calculation_script_id.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_calculation_script_id</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>script used to do localized calculs</string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_calculation_script_id</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Calculation Script</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_float_index.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_float_index.xml deleted file mode 100644 index 3fe1bb612d..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_float_index.xml +++ /dev/null @@ -1,105 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>input_style</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_float_index</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>index use to sort document</string> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_float_index</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>input_style</string> </key> - <value> <string>-1234.5</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Calculation Order</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_price.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_price.xml deleted file mode 100644 index 621972cef8..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_price.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_price</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>editable</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_efficiency</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_quantity.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_quantity.xml deleted file mode 100644 index c238cbe411..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_quantity.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_quantity</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Default quantity</string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_quantity</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Quantity</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_reference.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_reference.xml deleted file mode 100644 index f8a20eaf28..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_reference.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_reference</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>The internal reference.</string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_reference</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Reference</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_resource_title.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_resource_title.xml deleted file mode 100644 index 45d03d9c29..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_resource_title.xml +++ /dev/null @@ -1,108 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>portal_type</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_resource_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_resource_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> - <list> - <tuple> - <string>Discount</string> - <string>Discount</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Discount</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_title.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_title.xml deleted file mode 100644 index c5bf384370..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountLine_view/my_title.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>display_width</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view.xml deleted file mode 100644 index 3c55da8493..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view.xml +++ /dev/null @@ -1,157 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>edit_order</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list> - <string>my_title</string> - <string>my_float_index</string> - <string>my_reference</string> - <string>my_resource_title</string> - <string>my_base_application_list</string> - </list> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list> - <string>my_calculation_script_id</string> - <string>my_efficiency</string> - <string>my_quantity</string> - <string>my_base_contribution_list</string> - </list> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>DiscountModelLine_view</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>DiscountModelLine_view</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Discount Model Line</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_base_application_list.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_base_application_list.xml deleted file mode 100644 index 54e6e872d6..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_base_application_list.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_base_application_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_base_application_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_base_contribution_list.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_base_contribution_list.xml deleted file mode 100644 index 77287550ad..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_base_contribution_list.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_base_contribution_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_base_contribution_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_calculation_script_id.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_calculation_script_id.xml deleted file mode 100644 index 5d80e548b1..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_calculation_script_id.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_calculation_script_id</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>script used to do localized calculs</string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_calculation_script_id</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Calculation Script</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_efficiency.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_efficiency.xml deleted file mode 100644 index 731cc3a2cb..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_efficiency.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_efficiency</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_efficiency</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_float_index.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_float_index.xml deleted file mode 100644 index 3fe1bb612d..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_float_index.xml +++ /dev/null @@ -1,105 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>input_style</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_float_index</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>index use to sort document</string> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_float_index</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>input_style</string> </key> - <value> <string>-1234.5</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Calculation Order</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_quantity.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_quantity.xml deleted file mode 100644 index c238cbe411..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_quantity.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_quantity</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Default quantity</string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_quantity</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Quantity</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_reference.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_reference.xml deleted file mode 100644 index 0bf7dfe7f0..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_reference.xml +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_reference</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>The internal reference.</string> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_reference</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Reference</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_resource_title.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_resource_title.xml deleted file mode 100644 index 45d03d9c29..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_resource_title.xml +++ /dev/null @@ -1,108 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>portal_type</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_resource_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_resource_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> - <list> - <tuple> - <string>Discount</string> - <string>Discount</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Discount</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_title.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_title.xml deleted file mode 100644 index c5bf384370..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/DiscountModelLine_view/my_title.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>display_width</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Invoice_selectTaxMovementList.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Invoice_selectTaxMovementList.xml deleted file mode 100644 index f1ba8a5cd1..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Invoice_selectTaxMovementList.xml +++ /dev/null @@ -1,86 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>kw[\'parent_specialise_portal_type\'] = \'Tax Rule\'\n -kw[\'portal_type\'] = \'Simulation Movement\'\n -kw[\'simulation_state\'] = [\'confirmed\' ]\n -\n -kw.update(context.portal_catalog.buildSQLQuery(**kw))\n -\n -movement_dict = dict()\n -for movement in context.InvoiceTransaction_zSelectMovement(**kw) :\n - movement = movement.getObject()\n - assert movement.getDeliveryValue() is None, \\\n - "simulation movement %s should not have been selected !" % movement.getPath()\n - movement_dict.setdefault(movement.getRootAppliedRule(), []).append(movement)\n -\n -movement_list = []\n -# Only return the first one, because the builder\'s group are very permissive (maybe arrow categories are not set on tax movements ? ).\n -movement_list_list = movement_dict.values()\n -if movement_list_list:\n - movement_list = movement_list_list[0]\n -\n -return movement_list\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>**kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Invoice_selectTaxMovementList</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Order_applyTradeCondition.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Order_applyTradeCondition.xml deleted file mode 100644 index 1b8d6a3b98..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/Order_applyTradeCondition.xml +++ /dev/null @@ -1,194 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -order = context\n -\n -# copy categories\n -category_list = [\n - \'source\', \'source_section\', \'source_decision\',\n - \'source_administration\', \'source_payment\', \'source_project\',\n - \'destination\', \'destination_section\', \'destination_decision\',\n - \'destination_administration\', \'destination_payment\', \'destination_project\',\n - \'price_currency\', \'incoterm\', \'delivery_mode\',\n -]\n -new_category_dict = {}\n -\n -\n -def getPropertyFromTradeCondition(trade_condition, property_name):\n - """Get a property from the trade condition, or from a specialised trade\n - condition\n - """\n - v = trade_condition.getProperty(property_name)\n - if v:\n - return v\n - for specialised_trade_condition in trade_condition.getSpecialiseValueList():\n - v = getPropertyFromTradeCondition(\n - specialised_trade_condition, property_name)\n - if v:\n - return v\n -\n -\n -for category in category_list:\n - if force or not order.getPropertyList(category):\n - v = getPropertyFromTradeCondition(trade_condition, category)\n - if v:\n - new_category_dict[category] = v\n -\n -\n -def copyPaymentCondition(order, trade_condition):\n - filter_dict = {\'portal_type\': \'Payment Condition\'}\n - to_copy = trade_condition.contentIds(filter=filter_dict)\n - if len(to_copy) > 0 :\n - copy_data = trade_condition.manage_copyObjects(ids=to_copy)\n - order.manage_pasteObjects(copy_data)\n - for other_trade_condition in trade_condition.getSpecialiseValueList():\n - copyPaymentCondition(order, other_trade_condition)\n - \n -filter_dict = {\'portal_type\': \'Payment Condition\'}\n -if force:\n - order.manage_delObjects(list(order.contentIds(filter=filter_dict)))\n -if len(order.contentIds(filter=filter_dict)) == 0:\n - copyPaymentCondition(order, trade_condition)\n -\n -# initialise discount lines\n -def initialiseDiscountLineList(order, trade_condition):\n - for discount_model_line in trade_condition.contentValues(\n - portal_type=\'Discount Model Line\'):\n - discount_model_line_reference = discount_model_line.getReference()\n - if not discount_model_line_reference or discount_model_line_reference not in [\n - x.getProperty(\'reference\') for x in\n - order.contentValues(portal_type=\'Discount Line\')]:\n - discount_line = order.newContent(\n - portal_type=\'Discount Line\',\n - resource=discount_model_line.getResource(),\n - reference=discount_model_line_reference,\n - float_index=discount_model_line.getFloatIndex(),\n - base_application_list=discount_model_line.getBaseApplicationList(),\n - base_contribution_list=discount_model_line.getBaseContributionList(),\n - quantity=0,\n - price=0,)\n - # calculation_script\n - if discount_model_line.getProperty(\'calculation_script_id\'):\n - raise NotImplementedError\n - # fixed_amount\n - if discount_model_line.getQuantity():\n - raise NotImplementedError\n - # ratio\n - discount_line.setPrice(discount_model_line.getEfficiency())\n - \n - # recurse on other trade conditions\n - for specialised_trade_condition in trade_condition.getSpecialiseValueList():\n - initialiseDiscountLineList(order, specialised_trade_condition)\n -\n -\n -# initialise tax lines\n -def initialiseTaxLineList(order, trade_condition):\n - for tax_model_line in trade_condition.contentValues(portal_type=\'Tax Model Line\'):\n - tax_model_line_reference = tax_model_line.getReference()\n - if not tax_model_line_reference or tax_model_line_reference not in [\n - x.getProperty(\'reference\') for x in\n - order.contentValues(portal_type=\'Tax Line\')]:\n - tax_line = order.newContent(\n - portal_type=\'Tax Line\',\n - resource=tax_model_line.getResource(),\n - reference=tax_model_line_reference,\n - float_index=tax_model_line.getFloatIndex(),\n - base_application_list=tax_model_line.getBaseApplicationList(),\n - base_contribution_list=tax_model_line.getBaseContributionList(),\n - quantity=0,\n - price=0,)\n - # calculation_script\n - if tax_model_line.getProperty(\'calculation_script_id\'):\n - raise NotImplementedError\n - # fixed_amount\n - if tax_model_line.getQuantity():\n - raise NotImplementedError\n - # ratio\n - tax_line.setPrice(tax_model_line.getEfficiency())\n - \n - # recurse on other trade conditions\n - for specialised_trade_condition in trade_condition.getSpecialiseValueList():\n - initialiseTaxLineList(order, specialised_trade_condition)\n -if force:\n - context.manage_delObjects([x.getId() for x in context.contentValues(\n - portal_type=(\'Discount Line\', \'Tax Line\'))])\n -\n -if not len(context.contentValues(portal_type=(\'Discount Line\', \'Tax Line\'))):\n - initialiseTaxLineList(context, trade_condition)\n - initialiseDiscountLineList(context, trade_condition)\n - \n -# if the order already contain lines, immediately update tax line\n -if order.getMovementList():\n - order.Delivery_updateTaxLineList()\n -\n -# set specialise\n -new_category_dict[\'specialise\'] = trade_condition.getRelativeUrl()\n -\n -order.edit(**new_category_dict)\n - - -]]></string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>trade_condition, force=0</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Order_applyTradeCondition</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/PurchaseInvoice_selectTaxMovementList.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/PurchaseInvoice_selectTaxMovementList.xml deleted file mode 100644 index 27d0b5c9c0..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/PurchaseInvoice_selectTaxMovementList.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>kw[\'explanation_portal_type\'] = [\'Purchase Order\', \'Purchase Invoice Transaction\', \'Purchase Packing List\']\n -\n -return context.Invoice_selectTaxMovementList(**kw)\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>**kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>PurchaseInvoice_selectTaxMovementList</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/SaleInvoice_selectTaxMovementList.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/SaleInvoice_selectTaxMovementList.xml deleted file mode 100644 index e47b61269d..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/SaleInvoice_selectTaxMovementList.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>kw[\'explanation_portal_type\'] = [\'Sale Order\', \'Sale Invoice Transaction\', \'Sale Packing List\']\n -\n -return context.Invoice_selectTaxMovementList(**kw)\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>**kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>SaleInvoice_selectTaxMovementList</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/SimulationMovement_isDeliveryMovement.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/SimulationMovement_isDeliveryMovement.xml deleted file mode 100644 index fad41ce0e1..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/SimulationMovement_isDeliveryMovement.xml +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>"""Tests if this simulation movement is not related to a Tax Movement\n -"""\n -def testSimulationMovement(movement):\n - real_movement = movement.getDeliveryValue()\n - if real_movement is None:\n - real_movement = movement.getOrderValue()\n - if real_movement is None:\n - return testSimulationMovement(movement.getParentValue().getParentValue())\n - return real_movement.getPortalType() not in context.getPortalTaxMovementTypeList()\n -\n -return testSimulationMovement(context)\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>predicate</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>SimulationMovement_isDeliveryMovement</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/SimulationMovement_isTaxMovement.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/SimulationMovement_isTaxMovement.xml deleted file mode 100644 index ba1b5373d7..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/SimulationMovement_isTaxMovement.xml +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>"""Tests if this simulation movement is related to a Tax Movement\n -"""\n -def testSimulationMovement(movement):\n - real_movement = movement.getDeliveryValue()\n - if real_movement is None:\n - real_movement = movement.getOrderValue()\n - if real_movement is None:\n - return testSimulationMovement(movement.getParentValue().getParentValue())\n - return real_movement.getPortalType() == "Tax Line"\n -\n -return testSimulationMovement(context)\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>predicate</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>SimulationMovement_isTaxMovement</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/SimulationMovement_testTaxRule.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/SimulationMovement_testTaxRule.xml deleted file mode 100644 index 2508a8a8c0..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/SimulationMovement_testTaxRule.xml +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>movement = context\n -\n -parent = movement.getParentValue()\n -if parent.getPortalType() == \'Applied Rule\':\n - parent_rule = parent.getSpecialiseValue()\n - if parent_rule.getPortalType() not in [\'Delivery Rule\', \'Order Rule\']:\n - return False\n -\n -return True\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>rule</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>SimulationMovement_testTaxRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view.xml deleted file mode 100644 index 683227bdb3..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view.xml +++ /dev/null @@ -1,157 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>edit_order</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list> - <string>my_title</string> - <string>my_float_index</string> - <string>my_reference</string> - <string>my_resource_title</string> - <string>my_base_application_list</string> - </list> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list> - <string>my_calculation_script_id</string> - <string>my_price</string> - <string>my_quantity</string> - <string>my_base_contribution_list</string> - </list> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>TaxLine_view</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>TaxLine_view</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Tax Line</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_base_application_list.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_base_application_list.xml deleted file mode 100644 index f9a506b456..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_base_application_list.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_base_application_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_base_application_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_base_contribution_list.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_base_contribution_list.xml deleted file mode 100644 index 77287550ad..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_base_contribution_list.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_base_contribution_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_base_contribution_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_calculation_script_id.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_calculation_script_id.xml deleted file mode 100644 index 5d80e548b1..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_calculation_script_id.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_calculation_script_id</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>script used to do localized calculs</string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_calculation_script_id</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Calculation Script</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_float_index.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_float_index.xml deleted file mode 100644 index 3fe1bb612d..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_float_index.xml +++ /dev/null @@ -1,105 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>input_style</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_float_index</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>index use to sort document</string> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_float_index</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>input_style</string> </key> - <value> <string>-1234.5</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Calculation Order</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_price.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_price.xml deleted file mode 100644 index 37809d6b51..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_price.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_price</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>The unit price at which a product or service is traded. This price is a net price which has been applied all pricing conditions defined in supply documents.</string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_efficiency</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Price</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_quantity.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_quantity.xml deleted file mode 100644 index c238cbe411..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_quantity.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_quantity</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Default quantity</string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_quantity</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Quantity</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_reference.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_reference.xml deleted file mode 100644 index f8a20eaf28..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_reference.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_reference</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>The internal reference.</string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_reference</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Reference</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_resource_title.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_resource_title.xml deleted file mode 100644 index 3eb00c2cd0..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_resource_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_resource_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_resource_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_title.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_title.xml deleted file mode 100644 index c5bf384370..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxLine_view/my_title.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>display_width</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view.xml deleted file mode 100644 index 202d9d616c..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view.xml +++ /dev/null @@ -1,157 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>edit_order</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list> - <string>my_title</string> - <string>my_float_index</string> - <string>my_reference</string> - <string>my_resource_title</string> - <string>my_base_application_list</string> - </list> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list> - <string>my_calculation_script_id</string> - <string>my_efficiency</string> - <string>my_quantity</string> - <string>my_base_contribution_list</string> - </list> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>TaxModelLine_view</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>TaxModelLine_view</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Tax Model Line</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_base_application_list.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_base_application_list.xml deleted file mode 100644 index 54e6e872d6..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_base_application_list.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_base_application_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_base_application_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_base_contribution_list.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_base_contribution_list.xml deleted file mode 100644 index 77287550ad..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_base_contribution_list.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_base_contribution_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_base_contribution_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_calculation_script_id.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_calculation_script_id.xml deleted file mode 100644 index 5d80e548b1..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_calculation_script_id.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_calculation_script_id</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>script used to do localized calculs</string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_calculation_script_id</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Calculation Script</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_efficiency.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_efficiency.xml deleted file mode 100644 index 32d550246a..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_efficiency.xml +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_efficiency</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>The percentage of the total price.</string> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_efficiency</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Percentage of Total</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_float_index.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_float_index.xml deleted file mode 100644 index 3fe1bb612d..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_float_index.xml +++ /dev/null @@ -1,105 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>input_style</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_float_index</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>index use to sort document</string> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_float_index</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>input_style</string> </key> - <value> <string>-1234.5</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Calculation Order</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_quantity.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_quantity.xml deleted file mode 100644 index c238cbe411..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_quantity.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_quantity</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Default quantity</string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_quantity</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Quantity</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_reference.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_reference.xml deleted file mode 100644 index 0bf7dfe7f0..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_reference.xml +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_reference</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>The internal reference.</string> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_reference</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Reference</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_resource_title.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_resource_title.xml deleted file mode 100644 index 3eb00c2cd0..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_resource_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_resource_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_resource_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_title.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_title.xml deleted file mode 100644 index c5bf384370..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TaxModelLine_view/my_title.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>display_width</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount.xml deleted file mode 100644 index 9ee41abdfb..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount.xml +++ /dev/null @@ -1,147 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list> - <string>listbox</string> - </list> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list> - <string>my_title</string> - </list> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list> - <string>listbox_efficiency</string> - <string>listbox_base_application_title_list</string> - </list> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list/> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>TradeCondition_viewDiscount</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>TradeCondition_viewDiscount</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Discount</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount/listbox.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount/listbox.xml deleted file mode 100644 index e7a8af84e3..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount/listbox.xml +++ /dev/null @@ -1,153 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>columns</string> - <string>selection_name</string> - <string>portal_types</string> - <string>editable_columns</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>columns</string> </key> - <value> - <list> - <tuple> - <string>title</string> - <string>Title</string> - </tuple> - <tuple> - <string>resource_title</string> - <string>Discount</string> - </tuple> - <tuple> - <string>efficiency</string> - <string>Ratio</string> - </tuple> - <tuple> - <string>float_index</string> - <string>Calculation Order</string> - </tuple> - <tuple> - <string>base_application_title_list</string> - <string>Base Application</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> - <list> - <tuple> - <string>efficiency</string> - <string>Ratio</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> - <list> - <tuple> - <string>Discount Model Line</string> - <string>Discount Model Line</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string>trade_condition_discount_selection</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Discount Lines</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount/listbox_base_application_title_list.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount/listbox_base_application_title_list.xml deleted file mode 100644 index 3a3925a293..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount/listbox_base_application_title_list.xml +++ /dev/null @@ -1,129 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>editable</string> - <string>display_width</string> - <string>default</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_base_application_title_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>default</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_string_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Base Applications</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python:\', \'.join(cell.getBaseApplicationTitleList())</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount/listbox_efficiency.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount/listbox_efficiency.xml deleted file mode 100644 index ca922f5ed1..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount/listbox_efficiency.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_efficiency</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_efficiency</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount/my_title.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount/my_title.xml deleted file mode 100644 index cd79cbba0c..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewDiscount/my_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewLegacyTaxSystemFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax.xml deleted file mode 100644 index 03e6187c79..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax.xml +++ /dev/null @@ -1,153 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>edit_order</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list> - <string>listbox</string> - </list> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list> - <string>my_title</string> - </list> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list> - <string>listbox_efficiency</string> - <string>listbox_base_application_title_list</string> - </list> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list/> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>TradeCondition_viewTax</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Tax</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax/listbox.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax/listbox.xml deleted file mode 100644 index 87dc3055a7..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax/listbox.xml +++ /dev/null @@ -1,153 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>columns</string> - <string>selection_name</string> - <string>portal_types</string> - <string>editable_columns</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>columns</string> </key> - <value> - <list> - <tuple> - <string>title</string> - <string>Title</string> - </tuple> - <tuple> - <string>resource_title</string> - <string>Tax</string> - </tuple> - <tuple> - <string>efficiency</string> - <string>Ratio</string> - </tuple> - <tuple> - <string>float_index</string> - <string>Calculation Order</string> - </tuple> - <tuple> - <string>base_application_title_list</string> - <string>Base Application</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> - <list> - <tuple> - <string>efficiency</string> - <string>Ratio</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> - <list> - <tuple> - <string>Tax Model Line</string> - <string>Tax Model Line</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string>discount_tax_model_selection</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Tax Model Lines</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax/listbox_base_application_title_list.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax/listbox_base_application_title_list.xml deleted file mode 100644 index 3a3925a293..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax/listbox_base_application_title_list.xml +++ /dev/null @@ -1,129 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>editable</string> - <string>display_width</string> - <string>default</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_base_application_title_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>default</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_string_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Base Applications</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python:\', \'.join(cell.getBaseApplicationTitleList())</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax/listbox_efficiency.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax/listbox_efficiency.xml deleted file mode 100644 index ca922f5ed1..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax/listbox_efficiency.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_efficiency</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_efficiency</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Tax_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax/my_title.xml b/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax/my_title.xml deleted file mode 100644 index 3c76733945..0000000000 --- a/bt5/erp5_legacy_tax_system/SkinTemplateItem/portal_skins/erp5_legacy_tax_system/TradeCondition_viewTax/my_title.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow.xml b/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow.xml deleted file mode 100644 index db952df9b5..0000000000 --- a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow.xml +++ /dev/null @@ -1,46 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="InteractionWorkflowDefinition" module="Products.ERP5.InteractionWorkflow"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>creation_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>delivery_tax_interaction_workflow</string> </value> - </item> - <item> - <key> <string>manager_bypass</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Delivery Tax Interaction Workflow</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/interactions.xml b/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/interactions.xml deleted file mode 100644 index e18bf8cbf7..0000000000 --- a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/interactions.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Interaction" module="Products.ERP5.Interaction"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>interactions</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/interactions/TaxableMovement_clone.xml b/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/interactions/TaxableMovement_clone.xml deleted file mode 100644 index b98cee2365..0000000000 --- a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/interactions/TaxableMovement_clone.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="InteractionDefinition" module="Products.ERP5.Interaction"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>activate_script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> - <list> - <string>Delivery_updateTaxLineList</string> - </list> - </value> - </item> - <item> - <key> <string>before_commit_script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>TaxableMovement_clone</string> </value> - </item> - <item> - <key> <string>method_id</string> </key> - <value> - <list> - <string>manage_pasteObjects</string> - </list> - </value> - </item> - <item> - <key> <string>once_per_transaction</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>portal_type_filter</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Updates tax line when a taxable movement is cloned</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/interactions/TaxableMovement_delete.xml b/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/interactions/TaxableMovement_delete.xml deleted file mode 100644 index abeb392d0e..0000000000 --- a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/interactions/TaxableMovement_delete.xml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="InteractionDefinition" module="Products.ERP5.Interaction"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>activate_script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> - <list> - <string>Delivery_updateTaxLineList</string> - </list> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>TaxableMovement_delete</string> </value> - </item> - <item> - <key> <string>method_id</string> </key> - <value> - <list> - <string>_delObject</string> - </list> - </value> - </item> - <item> - <key> <string>once_per_transaction</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>portal_type_filter</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Updates tax line when a taxable movement is deleted</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/interactions/afterSolve.xml b/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/interactions/afterSolve.xml deleted file mode 100644 index 4f8964e568..0000000000 --- a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/interactions/afterSolve.xml +++ /dev/null @@ -1,91 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="InteractionDefinition" module="Products.ERP5.Interaction"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>activate_script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> - <list> - <string>Delivery_updateTaxLineList</string> - </list> - </value> - </item> - <item> - <key> <string>before_commit_script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>After solving a divergence, we update again tax lines, this way if the user choose inconsistent solving, the delivery will become divergent again.\r\n -(for example accepting divergence on an invoice line and adopting divergence on corresponding tax lines)</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>afterSolve</string> </value> - </item> - <item> - <key> <string>method_id</string> </key> - <value> - <list> - <string>converge</string> - </list> - </value> - </item> - <item> - <key> <string>once_per_transaction</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>portal_type_filter</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/scripts.xml b/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/scripts.xml deleted file mode 100644 index 072c8f6540..0000000000 --- a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/scripts.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Scripts" module="Products.DCWorkflow.Scripts"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>scripts</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/scripts/Delivery_updateTaxLineList.xml b/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/scripts/Delivery_updateTaxLineList.xml deleted file mode 100644 index c2d5789487..0000000000 --- a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/scripts/Delivery_updateTaxLineList.xml +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>delivery = state_change[\'object\']\n -delivery.Delivery_updateTaxLineList()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Delivery_updateTaxLineList</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/variables.xml b/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/variables.xml deleted file mode 100644 index 6ae03699d1..0000000000 --- a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/variables.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Variables" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>variables</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/worklists.xml b/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/worklists.xml deleted file mode 100644 index c3432aa051..0000000000 --- a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/delivery_tax_interaction_workflow/worklists.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Worklists" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>worklists</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow.xml b/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow.xml deleted file mode 100644 index 66ec6f3e9e..0000000000 --- a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow.xml +++ /dev/null @@ -1,46 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="InteractionWorkflowDefinition" module="Products.ERP5.InteractionWorkflow"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>creation_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>tax_interaction_workflow</string> </value> - </item> - <item> - <key> <string>manager_bypass</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Tax Interaction Workflow</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/interactions.xml b/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/interactions.xml deleted file mode 100644 index e18bf8cbf7..0000000000 --- a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/interactions.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Interaction" module="Products.ERP5.Interaction"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>interactions</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/interactions/TaxableMovement_edit.xml b/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/interactions/TaxableMovement_edit.xml deleted file mode 100644 index 03e9439fc9..0000000000 --- a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/interactions/TaxableMovement_edit.xml +++ /dev/null @@ -1,91 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="InteractionDefinition" module="Products.ERP5.Interaction"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>activate_script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>before_commit_script_name</string> </key> - <value> - <list> - <string>Delivery_updateTaxLineList</string> - </list> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>When a Taxable Movement is edited, Tax Line inside the corresponding delivery have to be updated.\r\n -</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>TaxableMovement_edit</string> </value> - </item> - <item> - <key> <string>method_id</string> </key> - <value> - <list> - <string>_set.*</string> - </list> - </value> - </item> - <item> - <key> <string>once_per_transaction</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type_filter</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/interactions/TaxableMovement_setResource.xml b/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/interactions/TaxableMovement_setResource.xml deleted file mode 100644 index a37178147f..0000000000 --- a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/interactions/TaxableMovement_setResource.xml +++ /dev/null @@ -1,91 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="InteractionDefinition" module="Products.ERP5.Interaction"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>activate_script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> - <list> - <string>Movement_copyBaseContributionFromResource</string> - </list> - </value> - </item> - <item> - <key> <string>before_commit_script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Setting the resource will copy the base contribution from this resource.\r\n -We don\'t use acquistion, because we want to be able to set no base contribution on a movement even if set on the resource.</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>TaxableMovement_setResource</string> </value> - </item> - <item> - <key> <string>method_id</string> </key> - <value> - <list> - <string>_setResource.*</string> - </list> - </value> - </item> - <item> - <key> <string>once_per_transaction</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>portal_type_filter</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/scripts.xml b/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/scripts.xml deleted file mode 100644 index 072c8f6540..0000000000 --- a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/scripts.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Scripts" module="Products.DCWorkflow.Scripts"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>scripts</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/scripts/Delivery_updateTaxLineList.xml b/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/scripts/Delivery_updateTaxLineList.xml deleted file mode 100644 index aa77e5363c..0000000000 --- a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/scripts/Delivery_updateTaxLineList.xml +++ /dev/null @@ -1,71 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>movement = state_change[\'object\']\n -delivery = movement.getExplanationValue()\n -# if we are already solving a divergence, don\'t update\n -if delivery.getProperty(\'causality_state\') not in (\'solving\',):\n - delivery.Delivery_updateTaxLineList()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Delivery_updateTaxLineList</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/scripts/Movement_copyBaseContributionFromResource.xml b/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/scripts/Movement_copyBaseContributionFromResource.xml deleted file mode 100644 index 12bd78d4ca..0000000000 --- a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/scripts/Movement_copyBaseContributionFromResource.xml +++ /dev/null @@ -1,83 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>movement = state_change[\'object\']\n -\n -# XXX this is very dirty, but there\'s no better way for now\n -if \'Cell\' in movement.getPortalType():\n - return\n -\n -resource = movement.getResourceValue()\n -if resource is not None:\n - movement.setBaseContributionList(resource.getBaseContributionList())\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change</string> </value> - </item> - <item> - <key> <string>_proxy_roles</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Movement_copyBaseContributionFromResource</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/variables.xml b/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/variables.xml deleted file mode 100644 index 6ae03699d1..0000000000 --- a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/variables.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Variables" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>variables</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/worklists.xml b/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/worklists.xml deleted file mode 100644 index c3432aa051..0000000000 --- a/bt5/erp5_legacy_tax_system/WorkflowTemplateItem/portal_workflow/tax_interaction_workflow/worklists.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Worklists" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>worklists</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_legacy_tax_system/bt/change_log b/bt5/erp5_legacy_tax_system/bt/change_log deleted file mode 100644 index bbaa67b172..0000000000 --- a/bt5/erp5_legacy_tax_system/bt/change_log +++ /dev/null @@ -1,5 +0,0 @@ -2009-10-16 rafael -* Update for the changes of new portal types of portal types. - -2009-08-20 Jérome -* Creation \ No newline at end of file diff --git a/bt5/erp5_legacy_tax_system/bt/copyright_list b/bt5/erp5_legacy_tax_system/bt/copyright_list deleted file mode 100644 index 739ce2512e..0000000000 --- a/bt5/erp5_legacy_tax_system/bt/copyright_list +++ /dev/null @@ -1 +0,0 @@ -Copyright (c) 2009 Nexedi SA \ No newline at end of file diff --git a/bt5/erp5_legacy_tax_system/bt/dependency_list b/bt5/erp5_legacy_tax_system/bt/dependency_list deleted file mode 100644 index 607f379549..0000000000 --- a/bt5/erp5_legacy_tax_system/bt/dependency_list +++ /dev/null @@ -1 +0,0 @@ -erp5_simplified_invoicing \ No newline at end of file diff --git a/bt5/erp5_legacy_tax_system/bt/description b/bt5/erp5_legacy_tax_system/bt/description deleted file mode 100644 index 6416e39022..0000000000 --- a/bt5/erp5_legacy_tax_system/bt/description +++ /dev/null @@ -1 +0,0 @@ -Contains Tax Lines and Tax Model Line for backward compatibility \ No newline at end of file diff --git a/bt5/erp5_legacy_tax_system/bt/license b/bt5/erp5_legacy_tax_system/bt/license deleted file mode 100644 index 3a3e12bcad..0000000000 --- a/bt5/erp5_legacy_tax_system/bt/license +++ /dev/null @@ -1 +0,0 @@ -GPL \ No newline at end of file diff --git a/bt5/erp5_legacy_tax_system/bt/revision b/bt5/erp5_legacy_tax_system/bt/revision deleted file mode 100644 index 8fdd954df9..0000000000 --- a/bt5/erp5_legacy_tax_system/bt/revision +++ /dev/null @@ -1 +0,0 @@ -22 \ No newline at end of file diff --git a/bt5/erp5_legacy_tax_system/bt/template_action_path_list b/bt5/erp5_legacy_tax_system/bt/template_action_path_list deleted file mode 100644 index 23073023fe..0000000000 --- a/bt5/erp5_legacy_tax_system/bt/template_action_path_list +++ /dev/null @@ -1,17 +0,0 @@ -Discount Line | view -Discount Model Line | view -Purchase Invoice Transaction | view_discount -Purchase Invoice Transaction | view_tax -Purchase Order | view_discount -Purchase Order | view_tax -Purchase Trade Condition | view_discount -Purchase Trade Condition | view_tax -Sale Invoice Transaction | view_discount -Sale Invoice Transaction | view_tax -Sale Order | view_discount -Sale Order | view_tax -Sale Trade Condition | view_discount -Sale Trade Condition | view_tax -Tax Line | view -Tax Model Line | view -Tax Rule | view \ No newline at end of file diff --git a/bt5/erp5_legacy_tax_system/bt/template_format_version b/bt5/erp5_legacy_tax_system/bt/template_format_version deleted file mode 100644 index 56a6051ca2..0000000000 --- a/bt5/erp5_legacy_tax_system/bt/template_format_version +++ /dev/null @@ -1 +0,0 @@ -1 \ No newline at end of file diff --git a/bt5/erp5_legacy_tax_system/bt/template_path_list b/bt5/erp5_legacy_tax_system/bt/template_path_list deleted file mode 100644 index b7bcf735e0..0000000000 --- a/bt5/erp5_legacy_tax_system/bt/template_path_list +++ /dev/null @@ -1,6 +0,0 @@ -portal_deliveries/purchase_invoice_tax_builder -portal_deliveries/purchase_invoice_tax_builder/** -portal_deliveries/sale_invoice_tax_builder -portal_deliveries/sale_invoice_tax_builder/** -portal_rules/default_tax_rule -portal_rules/default_tax_rule/** \ No newline at end of file diff --git a/bt5/erp5_legacy_tax_system/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_legacy_tax_system/bt/template_portal_type_allowed_content_type_list deleted file mode 100644 index 8f6a630a48..0000000000 --- a/bt5/erp5_legacy_tax_system/bt/template_portal_type_allowed_content_type_list +++ /dev/null @@ -1,16 +0,0 @@ -Purchase Invoice Transaction | Discount Line -Purchase Invoice Transaction | Tax Line -Purchase Order | Discount Line -Purchase Order | Tax Line -Purchase Trade Condition | Discount Model Line -Purchase Trade Condition | Tax Model Line -Rule Tool | Tax Rule -Sale Invoice Transaction | Discount Line -Sale Invoice Transaction | Tax Line -Sale Order | Discount Line -Sale Order | Tax Line -Sale Trade Condition | Discount Model Line -Sale Trade Condition | Tax Model Line -Tax Rule | Category Divergence Tester -Tax Rule | Property Divergence Tester -Tax Rule | Quantity Divergence Tester \ No newline at end of file diff --git a/bt5/erp5_legacy_tax_system/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_legacy_tax_system/bt/template_portal_type_hidden_content_type_list deleted file mode 100644 index 305e05440d..0000000000 --- a/bt5/erp5_legacy_tax_system/bt/template_portal_type_hidden_content_type_list +++ /dev/null @@ -1,8 +0,0 @@ -Purchase Invoice Transaction | Discount Line -Purchase Invoice Transaction | Tax Line -Purchase Order | Discount Line -Purchase Order | Tax Line -Sale Invoice Transaction | Discount Line -Sale Invoice Transaction | Tax Line -Sale Order | Discount Line -Sale Order | Tax Line \ No newline at end of file diff --git a/bt5/erp5_legacy_tax_system/bt/template_portal_type_id_list b/bt5/erp5_legacy_tax_system/bt/template_portal_type_id_list deleted file mode 100644 index 97c9b46c63..0000000000 --- a/bt5/erp5_legacy_tax_system/bt/template_portal_type_id_list +++ /dev/null @@ -1,5 +0,0 @@ -Discount Line -Discount Model Line -Tax Line -Tax Model Line -Tax Rule \ No newline at end of file diff --git a/bt5/erp5_legacy_tax_system/bt/template_portal_type_workflow_chain_list b/bt5/erp5_legacy_tax_system/bt/template_portal_type_workflow_chain_list deleted file mode 100644 index 9ce8f27257..0000000000 --- a/bt5/erp5_legacy_tax_system/bt/template_portal_type_workflow_chain_list +++ /dev/null @@ -1,12 +0,0 @@ -Invoice Cell | tax_interaction_workflow -Invoice Line | tax_interaction_workflow -Purchase Invoice Transaction | delivery_tax_interaction_workflow -Purchase Order Cell | tax_interaction_workflow -Purchase Order Line | tax_interaction_workflow -Purchase Order | delivery_tax_interaction_workflow -Sale Invoice Transaction | delivery_tax_interaction_workflow -Sale Order Cell | tax_interaction_workflow -Sale Order Line | tax_interaction_workflow -Sale Order | delivery_tax_interaction_workflow -Tax Rule | edit_workflow -Tax Rule | rule_validation_workflow \ No newline at end of file diff --git a/bt5/erp5_legacy_tax_system/bt/template_skin_id_list b/bt5/erp5_legacy_tax_system/bt/template_skin_id_list deleted file mode 100644 index 065f084643..0000000000 --- a/bt5/erp5_legacy_tax_system/bt/template_skin_id_list +++ /dev/null @@ -1 +0,0 @@ -erp5_legacy_tax_system \ No newline at end of file diff --git a/bt5/erp5_legacy_tax_system/bt/template_workflow_id_list b/bt5/erp5_legacy_tax_system/bt/template_workflow_id_list deleted file mode 100644 index 43f007947e..0000000000 --- a/bt5/erp5_legacy_tax_system/bt/template_workflow_id_list +++ /dev/null @@ -1,2 +0,0 @@ -delivery_tax_interaction_workflow -tax_interaction_workflow \ No newline at end of file diff --git a/bt5/erp5_legacy_tax_system/bt/title b/bt5/erp5_legacy_tax_system/bt/title deleted file mode 100644 index 065f084643..0000000000 --- a/bt5/erp5_legacy_tax_system/bt/title +++ /dev/null @@ -1 +0,0 @@ -erp5_legacy_tax_system \ No newline at end of file diff --git a/bt5/erp5_legacy_tax_system/bt/version b/bt5/erp5_legacy_tax_system/bt/version deleted file mode 100644 index 48360de846..0000000000 --- a/bt5/erp5_legacy_tax_system/bt/version +++ /dev/null @@ -1 +0,0 @@ -5.4.7 \ No newline at end of file diff --git a/bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Internal%20Order/view_discount.xml b/bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Internal%20Order/view_discount.xml deleted file mode 100644 index 170a3254a9..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Internal%20Order/view_discount.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_discount</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>4.0</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Discount</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/Delivery_viewDiscount</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Internal%20Order/view_tax.xml b/bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Internal%20Order/view_tax.xml deleted file mode 100644 index 362e64923d..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Internal%20Order/view_tax.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_tax</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>3.5</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Tax</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/Delivery_viewTax</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Purchase%20Order/view_discount.xml b/bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Purchase%20Order/view_discount.xml deleted file mode 100644 index 170a3254a9..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Purchase%20Order/view_discount.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_discount</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>4.0</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Discount</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/Delivery_viewDiscount</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Purchase%20Order/view_tax.xml b/bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Purchase%20Order/view_tax.xml deleted file mode 100644 index 362e64923d..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Purchase%20Order/view_tax.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_tax</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>3.5</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Tax</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/Delivery_viewTax</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Sale%20Order/view_discount.xml b/bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Sale%20Order/view_discount.xml deleted file mode 100644 index 170a3254a9..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Sale%20Order/view_discount.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_discount</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>4.0</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Discount</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/Delivery_viewDiscount</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Sale%20Order/view_tax.xml b/bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Sale%20Order/view_tax.xml deleted file mode 100644 index 362e64923d..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/ActionTemplateItem/portal_types/Open%20Sale%20Order/view_tax.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_tax</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>3.5</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Tax</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/Delivery_viewTax</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_open_trade_legacy_tax_system/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml b/bt5/erp5_open_trade_legacy_tax_system/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml deleted file mode 100644 index e344b35a4c..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml +++ /dev/null @@ -1,17 +0,0 @@ -<allowed_content_type_list> - <portal_type id="Open Internal Order"> - <item>Discount</item> - <item>Discount Line</item> - <item>Tax Line</item> - </portal_type> - <portal_type id="Open Purchase Order"> - <item>Discount</item> - <item>Discount Line</item> - <item>Tax Line</item> - </portal_type> - <portal_type id="Open Sale Order"> - <item>Discount</item> - <item>Discount Line</item> - <item>Tax Line</item> - </portal_type> -</allowed_content_type_list> \ No newline at end of file diff --git a/bt5/erp5_open_trade_legacy_tax_system/PortalTypeHiddenContentTypeTemplateItem/hidden_content_type_list.xml b/bt5/erp5_open_trade_legacy_tax_system/PortalTypeHiddenContentTypeTemplateItem/hidden_content_type_list.xml deleted file mode 100644 index ef3e178253..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/PortalTypeHiddenContentTypeTemplateItem/hidden_content_type_list.xml +++ /dev/null @@ -1,14 +0,0 @@ -<hidden_content_type_list> - <portal_type id="Open Internal Order"> - <item>Discount Line</item> - <item>Tax Line</item> - </portal_type> - <portal_type id="Open Purchase Order"> - <item>Discount Line</item> - <item>Tax Line</item> - </portal_type> - <portal_type id="Open Sale Order"> - <item>Discount Line</item> - <item>Tax Line</item> - </portal_type> -</hidden_content_type_list> \ No newline at end of file diff --git a/bt5/erp5_open_trade_legacy_tax_system/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_open_trade_legacy_tax_system/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml deleted file mode 100644 index 5ba1e9964d..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml +++ /dev/null @@ -1,10 +0,0 @@ -<workflow_chain> - <chain> - <type>Open Sale Order</type> - <workflow>delivery_tax_interaction_workflow</workflow> - </chain> - <chain> - <type>Open Sale Order Line</type> - <workflow>tax_interaction_workflow</workflow> - </chain> -</workflow_chain> \ No newline at end of file diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/change_log b/bt5/erp5_open_trade_legacy_tax_system/bt/change_log deleted file mode 100644 index 92a00e97bb..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/bt/change_log +++ /dev/null @@ -1,2 +0,0 @@ -2009-08-24 Jérome -* Creation \ No newline at end of file diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/dependency_list b/bt5/erp5_open_trade_legacy_tax_system/bt/dependency_list deleted file mode 100644 index c4611cc49d..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/bt/dependency_list +++ /dev/null @@ -1,2 +0,0 @@ -erp5_open_trade -erp5_legacy_tax_system \ No newline at end of file diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/description b/bt5/erp5_open_trade_legacy_tax_system/bt/description deleted file mode 100644 index 80f79d1128..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/bt/description +++ /dev/null @@ -1 +0,0 @@ -Old tax system compatibility for erp5_open_trade \ No newline at end of file diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/license b/bt5/erp5_open_trade_legacy_tax_system/bt/license deleted file mode 100644 index 3a3e12bcad..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/bt/license +++ /dev/null @@ -1 +0,0 @@ -GPL \ No newline at end of file diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/revision b/bt5/erp5_open_trade_legacy_tax_system/bt/revision deleted file mode 100644 index c7930257df..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/bt/revision +++ /dev/null @@ -1 +0,0 @@ -7 \ No newline at end of file diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_action_path_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_action_path_list deleted file mode 100644 index 8fb10cbd1b..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/bt/template_action_path_list +++ /dev/null @@ -1,6 +0,0 @@ -Open Internal Order | view_discount -Open Internal Order | view_tax -Open Purchase Order | view_discount -Open Purchase Order | view_tax -Open Sale Order | view_discount -Open Sale Order | view_tax \ No newline at end of file diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_format_version b/bt5/erp5_open_trade_legacy_tax_system/bt/template_format_version deleted file mode 100644 index 56a6051ca2..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/bt/template_format_version +++ /dev/null @@ -1 +0,0 @@ -1 \ No newline at end of file diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_allowed_content_type_list deleted file mode 100644 index 6c2f416747..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_allowed_content_type_list +++ /dev/null @@ -1,9 +0,0 @@ -Open Internal Order | Discount -Open Internal Order | Discount Line -Open Internal Order | Tax Line -Open Purchase Order | Discount -Open Purchase Order | Discount Line -Open Purchase Order | Tax Line -Open Sale Order | Discount -Open Sale Order | Discount Line -Open Sale Order | Tax Line \ No newline at end of file diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_hidden_content_type_list deleted file mode 100644 index 52fa564a9e..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_hidden_content_type_list +++ /dev/null @@ -1,6 +0,0 @@ -Open Internal Order | Discount Line -Open Internal Order | Tax Line -Open Purchase Order | Discount Line -Open Purchase Order | Tax Line -Open Sale Order | Discount Line -Open Sale Order | Tax Line \ No newline at end of file diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_workflow_chain_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_workflow_chain_list deleted file mode 100644 index 188f085b65..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_workflow_chain_list +++ /dev/null @@ -1,2 +0,0 @@ -Open Sale Order Line | tax_interaction_workflow -Open Sale Order | delivery_tax_interaction_workflow \ No newline at end of file diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/title b/bt5/erp5_open_trade_legacy_tax_system/bt/title deleted file mode 100644 index 293b55d225..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/bt/title +++ /dev/null @@ -1 +0,0 @@ -erp5_open_trade_legacy_tax_system \ No newline at end of file diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/version b/bt5/erp5_open_trade_legacy_tax_system/bt/version deleted file mode 100644 index ceab6e11ec..0000000000 --- a/bt5/erp5_open_trade_legacy_tax_system/bt/version +++ /dev/null @@ -1 +0,0 @@ -0.1 \ No newline at end of file diff --git a/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/ERP5Site_getUpgraderSignature.xml b/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/ERP5Site_getUpgraderSignature.xml index 0a5ee45248..d055257af7 100644 --- a/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/ERP5Site_getUpgraderSignature.xml +++ b/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/ERP5Site_getUpgraderSignature.xml @@ -94,7 +94,6 @@ UPGRADABLE_BT5_ID_LIST = (\n "tiolive_base",\n "erp5_tax_resource",\n "erp5_discount_resource",\n - "erp5_legacy_tax_system",\n "erp5_ooo_import",\n "erp5_l10n_fr",\n "erp5_l10n_ja",\n diff --git a/product/ERP5/Document/TaxLineDeliveryMovementGroup.py b/product/ERP5/Document/TaxLineDeliveryMovementGroup.py deleted file mode 100644 index 50f2a9e3c7..0000000000 --- a/product/ERP5/Document/TaxLineDeliveryMovementGroup.py +++ /dev/null @@ -1,118 +0,0 @@ -############################################################################## -# -# Copyright (c) 2008 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 Products.ERP5.Document.MovementGroup import MovementGroup - -class TaxLineDeliveryMovementGroup(MovementGroup): - """ - This movement group is used to group movements for tax lines, they should end - up in the same invoice than the corresponding invoice line. - """ - meta_type = 'ERP5 Tax Line Delivery Movement Group' - portal_type = 'Tax Line Delivery Movement Group' - - def _getPropertyDict(self, movement, **kw): - return dict(tax_line_delivery=self._getTaxLineDelivery(movement)) - - def test(self, movement, property_dict, **kw): - tax_line_delivery = self._getTaxLineDelivery(movement) - if tax_line_delivery == property_dict['tax_line_delivery'] or None in ( - tax_line_delivery, property_dict['tax_line_delivery']): - return True, property_dict - return False, property_dict - - def _getTaxLineDelivery(self, movement): - # computes the delivery that should be used for this tax line - if movement.getPortalType() == 'Simulation Movement': - delivery_line = None - applied_rule = movement.getParentValue() - - for other_rule in applied_rule.getParentValue().contentValues(): - if other_rule.getSpecialiseValue().getPortalType() == 'Tax Rule': - continue - - invoice_simulation_movement_list = other_rule.contentValues() - # if there is only one movement, it's easy. - if len(invoice_simulation_movement_list) == 1: - delivery_line = \ - invoice_simulation_movement_list[0].getDeliveryValue() - - # unless it has been splitted, then it might be from another line .. - if 'split' in movement.getId(): - original_movement_id = movement.getId().split('_')[0] - original_movement = applied_rule._getOb(original_movement_id) - other_movement_list = [x for x in - original_movement.getDeliveryValue().getDeliveryRelatedValueList() - if x != original_movement] - if other_movement_list: - other_movement = other_movement_list[0] - other_movement_applied_rule = [ar for ar in - other_movement.getParentValue().getParentValue().contentValues() - if ar.getSpecialiseValue().getPortalType() != 'Tax Rule'][0] - for other_movement_applied_rule_simulation_movement in\ - other_movement_applied_rule.contentValues(): - if 'split' in \ - other_movement_applied_rule_simulation_movement.getId(): - delivery_line =\ - other_movement_applied_rule_simulation_movement.getDeliveryValue() - else: - # otherwise, it might be a split, then we do dirty heuristics to find - # the corresponding invoice simulation movement and delivery. - # Once again, this will only work if invoice lines are built before - # tax lines. - if 'split' in movement.getId(): - invoice_simulation_movement_list = [m for m in - invoice_simulation_movement_list if 'split' in m.getId()] - if len(invoice_simulation_movement_list) == 1: - delivery_line = \ - invoice_simulation_movement_list[0].getDeliveryValue() - else: - invoice_simulation_movement_list = [m for m in - invoice_simulation_movement_list if 'split' not in m.getId()] - if len(invoice_simulation_movement_list) == 1: - delivery_line = \ - invoice_simulation_movement_list[0].getDeliveryValue() - - # in case of invoice rule (ie. starting from Invoice) - if delivery_line is None: - # 'order' category is deprecated. it is kept for compatibility. - delivery_line = applied_rule.getParentValue().getOrderValue() - if delivery_line is not None: - delivery_line = applied_rule.getParentValue().getDeliveryValue() - - # in case of invoicing rule (ie. starting from Order) - if delivery_line is None: - delivery_line = movement.getParentValue().getParentValue().getDeliveryValue() - - if delivery_line is not None: - return delivery_line.getExplanationValue().getRelativeUrl() - - elif movement.getPortalType() in self.getPortalDeliveryTypeList(): - # "movement" is actually a delivery here, we're trying to update - return movement.getRelativeUrl() - return None - diff --git a/product/ERP5/tests/testERP5Interfaces.py b/product/ERP5/tests/testERP5Interfaces.py index 5d5d7cf507..db0e19b005 100644 --- a/product/ERP5/tests/testERP5Interfaces.py +++ b/product/ERP5/tests/testERP5Interfaces.py @@ -71,7 +71,7 @@ for movement_group_class_name in ['MovementGroup', 'BaseVariantMovementGroup', 'PropertyAssignmentMovementGroup', 'PropertyMovementGroup', 'QuantitySignMovementGroup', 'RequirementMovementGroup', 'RootAppliedRuleCausalityMovementGroup', 'SplitMovementGroup', - 'TaxLineDeliveryMovementGroup', 'TitleMovementGroup', + 'TitleMovementGroup', 'VariantMovementGroup', 'VariationPropertyMovementGroup']: implements_tuple_list.append((('Products.ERP5Type.Document.%s' % \ movement_group_class_name, movement_group_class_name), diff --git a/product/ERP5Legacy/tests/testLegacyTaxLineTradeCondition.py b/product/ERP5Legacy/tests/testLegacyTaxLineTradeCondition.py deleted file mode 100644 index 85e1326d57..0000000000 --- a/product/ERP5Legacy/tests/testLegacyTaxLineTradeCondition.py +++ /dev/null @@ -1,1269 +0,0 @@ -import unittest -from DateTime import DateTime -from testLegacyTradeCondition import TestWithSaleOrder, \ - TestWithPurchaseOrder, TestWithSaleInvoice, TestWithPurchaseInvoice, \ - TradeConditionTestCase, AccountingBuildTestCase - -class TestTaxLineCalculation(TradeConditionTestCase): - """Test calculating Tax Lines. - """ - def test_apply_trade_condition_twice_and_tax_lines(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - - # this creates a tax line, with quantity 0, and it will be updated when - # needed - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(0, tax_line.getQuantity()) - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals(0.2, tax_line.getPrice()) - - # if we apply twice, we don't have the tax lines twice - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - - def test_apply_trade_condition_after_line_creation(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - - order_line = self.order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource, - quantity=10, - price=10,) - - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - - self.commit() - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(100, tax_line.getQuantity()) - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals(0.2, tax_line.getPrice()) - - def test_simple_tax_model_line_calculation(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - - # this creates a tax line, with quantity 0, and it will be updated when - # needed - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(0, tax_line.getQuantity()) - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals(0.2, tax_line.getPrice()) - - order_line = self.order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource, - quantity=10, - price=10,) - - self.commit() - # at the end of transaction, tax lines are updated - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(100, tax_line.getQuantity()) - self.assertEquals(0.2, tax_line.getPrice()) - self.assertEquals(20, tax_line.getTotalPrice()) - - def test_tax_model_line_calculation_with_two_lines(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - - # this creates a tax line, with quantity 0, and it will be updated when - # needed - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(0, tax_line.getQuantity()) - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals(0.2, tax_line.getPrice()) - - order_line_1 = self.order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource, - quantity=3, - price=10,) - order_line_2 = self.order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource, - quantity=7, - price=10,) - - self.commit() - # at the end of transaction, tax lines are updated - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(100, tax_line.getQuantity()) - self.assertEquals(0.2, tax_line.getPrice()) - self.assertEquals(20, tax_line.getTotalPrice()) - - order_line_1_tax_line_list = \ - order_line_1.DeliveryMovement_getCorrespondingTaxLineList() - self.assertEquals(1, len(order_line_1_tax_line_list)) - tax_line = order_line_1_tax_line_list[0] - self.assertEquals(30, tax_line.getQuantity()) - self.assertEquals(0.2, tax_line.getPrice()) - self.assertEquals(6, tax_line.getTotalPrice()) - - order_line_2_tax_line_list = \ - order_line_2.DeliveryMovement_getCorrespondingTaxLineList() - self.assertEquals(1, len(order_line_2_tax_line_list)) - tax_line = order_line_2_tax_line_list[0] - self.assertEquals(70, tax_line.getQuantity()) - self.assertEquals(0.2, tax_line.getPrice()) - self.assertEquals(14, tax_line.getTotalPrice()) - - def test_tax_on_tax(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - base_2 = self.base_amount.newContent( - portal_type='Category', - title='Base 2') - tax2 = self.portal.tax_module.newContent( - portal_type='Tax', - title='Tax 2') - self.resource.setBaseContributionValue(base_1) - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - base_contribution_value=base_2, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_2, - float_index=2, - efficiency=0.5, - resource_value=tax2) - - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - - self.commit() - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(2, len(tax_line_list)) - tax_line1 = [tl for tl in tax_line_list if - tl.getResourceValue() == self.tax][0] - self.assertEquals(0, tax_line1.getQuantity()) - self.assertEquals(0.2, tax_line1.getPrice()) - self.assertEquals(1, tax_line1.getFloatIndex()) - self.assertEquals([base_1], tax_line1.getBaseApplicationValueList()) - self.assertEquals([base_2], tax_line1.getBaseContributionValueList()) - - tax_line2 = [tl for tl in tax_line_list if - tl.getResourceValue() == tax2][0] - self.assertEquals(0, tax_line2.getQuantity()) - self.assertEquals(0.5, tax_line2.getPrice()) - self.assertEquals(2, tax_line2.getFloatIndex()) - self.assertEquals([base_2], tax_line2.getBaseApplicationValueList()) - - order_line = self.order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource, - quantity=3, - price=10,) - self.commit() - self.assertEquals(30, tax_line1.getQuantity()) - self.assertEquals((30*0.2), tax_line2.getQuantity()) - - order_line.setQuantity(5) - self.commit() - self.assertEquals(50, tax_line1.getQuantity()) - self.assertEquals((50*0.2), tax_line2.getQuantity()) - - tax_movement_list = order_line.DeliveryMovement_getCorrespondingTaxLineList() - self.assertEquals(2, len(tax_movement_list)) - tax_1_movement = [m for m in tax_movement_list if m.getPrice() == 0.2][0] - self.assertEquals(tax_1_movement.getQuantity(), 50) - tax_2_movement = [m for m in tax_movement_list if m.getPrice() == 0.5][0] - self.assertEquals(tax_2_movement.getQuantity(), 50*0.2) - - - def test_update_order_line_quantity_update_tax_line(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - - # this creates a tax line, with quantity 0, and it will be updated when - # needed - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(0, tax_line.getQuantity()) - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals(0.2, tax_line.getPrice()) - - order_line = self.order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource, - quantity=10, - price=10,) - - self.commit() - # tax lines are updated - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(100, tax_line.getQuantity()) - self.assertEquals(0.2, tax_line.getPrice()) - self.assertEquals(20, tax_line.getTotalPrice()) - - # change the quantity on order_line, - order_line.setQuantity(20) - self.commit() - # the tax line is updated (by an interraction workflow at the end of - # transaction) - self.assertEquals(200, tax_line.getQuantity()) - self.assertEquals(40, tax_line.getTotalPrice()) - - def test_delete_order_line_quantity_update_tax_line(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - - # this creates a tax line, with quantity 0, and it will be updated when - # needed - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(0, tax_line.getQuantity()) - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals(0.2, tax_line.getPrice()) - - order_line = self.order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource, - quantity=10, - price=10,) - - self.commit() - # tax lines are updated - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(100, tax_line.getQuantity()) - self.assertEquals(0.2, tax_line.getPrice()) - self.assertEquals(20, tax_line.getTotalPrice()) - - # delete the order line - self.order.manage_delObjects([order_line.getId()]) - # the tax line is updated - self.assertEquals(0, tax_line.getQuantity()) - self.assertEquals(0, tax_line.getTotalPrice()) - - def test_clone_order_line_quantity_update_tax_line(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - - # this creates a tax line, with quantity 0, and it will be updated when - # needed - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(0, tax_line.getQuantity()) - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals(0.2, tax_line.getPrice()) - - order_line = self.order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource, - quantity=10, - price=10,) - - self.commit() - # tax lines are updated - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(100, tax_line.getQuantity()) - self.assertEquals(0.2, tax_line.getPrice()) - self.assertEquals(20, tax_line.getTotalPrice()) - - # clone the order line - cloned_order_line = order_line.Base_createCloneDocument(batch_mode=1) - # the tax line is updated - self.assertEquals(200, tax_line.getQuantity()) - self.assertEquals(40, tax_line.getTotalPrice()) - - def test_order_cell_and_tax_line(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - # make a resource with size variation - self.resource.setVariationBaseCategoryList(('size',)) - self.resource.setVariationCategoryList(('size/big', 'size/small')) - - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - - # this creates a tax line, with quantity 0, and it will be updated when - # needed - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(0, tax_line.getQuantity()) - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals(0.2, tax_line.getPrice()) - - order_line = self.order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource,) - order_line.setVariationCategoryList(('size/big', 'size/small')) - order_line.updateCellRange(base_id='movement') - cell_red = order_line.newCell('size/big', - portal_type=self.order_cell_type, - base_id='movement') - cell_red.setMappedValuePropertyList(['quantity', 'price']) - cell_red.setPrice(5) - cell_red.setQuantity(10) - cell_blue = order_line.newCell('size/small', - portal_type=self.order_cell_type, - base_id='movement') - cell_blue.setMappedValuePropertyList(['quantity', 'price']) - cell_blue.setPrice(2) - cell_blue.setQuantity(25) - self.assertEquals(100, order_line.getTotalPrice(fast=0)) - - self.commit() - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(100, tax_line.getQuantity()) - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals(0.2, tax_line.getPrice()) - - self.assertEquals(100, self.order.getTotalPrice(fast=0)) - self.assertEquals(120, self.order.getTotalNetPrice(fast=0)) - - - def test_hierarchical_order_line_and_tax_line(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - - # this creates a tax line, with quantity 0, and it will be updated when - # needed - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(0, tax_line.getQuantity()) - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals(0.2, tax_line.getPrice()) - - order_line = self.order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource,) - suborder_line1 = order_line.newContent( - portal_type=self.order_line_type, - quantity=4, - price=5) - suborder_line2 = order_line.newContent( - portal_type=self.order_line_type, - quantity=2, - price=40) - - self.commit() - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(100, tax_line.getQuantity()) - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals(0.2, tax_line.getPrice()) - - def test_base_contribution_pseudo_acquisition(self): - base_1 = self.base_amount.newContent(portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValueList((base_1,)) - line = self.order.newContent(portal_type=self.order_line_type) - self.assertEquals([], line.getBaseContributionValueList()) - line.setResourceValue(self.resource) - self.assertEquals([base_1], line.getBaseContributionValueList()) - line.setBaseContributionValueList([]) - self.assertEquals([], line.getBaseContributionValueList()) - - def test_multiple_order_line_multiple_tax_line(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - base_2 = self.base_amount.newContent( - portal_type='Category', - title='Base 2') - self.resource.setBaseContributionValueList((base_1, base_2)) - tax_model_line_1 = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.1, - resource_value=self.tax) - tax_model_line_2 = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_2, - float_index=2, - efficiency=0.2, - resource_value=self.tax) - tax_model_line_1_2 = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value_list=(base_1, base_2), - float_index=3, - efficiency=0.3, - resource_value=self.tax) - - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - line_1 = self.order.newContent( - portal_type=self.order_line_type, - quantity=1, price=1, - resource_value=self.resource, - base_contribution_value_list=(base_1,)) - # -> tax_model_line_1 and tax_model_line_1_2 are applicable - line_2 = self.order.newContent( - portal_type=self.order_line_type, - quantity=2, price=2, - resource_value=self.resource, - base_contribution_value_list=(base_2,)) - # -> tax_model_line_2 and tax_model_line_1_2 are applicable - line_3 = self.order.newContent( - portal_type=self.order_line_type, - quantity=3, price=3, - resource_value=self.resource, - base_contribution_value_list=(base_1, base_2)) - # -> tax_model_line_1, tax_model_line_2 and tax_model_line_1_2 are applicable - # (but they are not applied twice) - - self.commit() - tax_line_list = self.order.contentValues(portal_type='Tax Line') - self.assertEquals(3, len(tax_line_list)) - tax_line_1 = [x for x in tax_line_list if x.getPrice() == 0.1][0] - tax_line_2 = [x for x in tax_line_list if x.getPrice() == 0.2][0] - tax_line_3 = [x for x in tax_line_list if x.getPrice() == 0.3][0] - - self.assertEquals(sum([line_1.getTotalPrice(), - line_3.getTotalPrice()]), tax_line_1.getQuantity()) - self.assertEquals(sum([line_2.getTotalPrice(), - line_3.getTotalPrice()]), tax_line_2.getQuantity()) - self.assertEquals(sum([line_1.getTotalPrice(), - line_2.getTotalPrice(), - line_3.getTotalPrice()]), tax_line_3.getQuantity()) - - tax_movement_list = line_1.DeliveryMovement_getCorrespondingTaxLineList() - self.assertEquals(2, len(tax_movement_list)) - tax_1_movement = [m for m in tax_movement_list if m.getPrice() == 0.1][0] - self.assertEquals(tax_1_movement.getQuantity(), 1) - tax_3_movement = [m for m in tax_movement_list if m.getPrice() == 0.3][0] - self.assertEquals(tax_3_movement.getQuantity(), 1) - - tax_movement_list = line_2.DeliveryMovement_getCorrespondingTaxLineList() - self.assertEquals(2, len(tax_movement_list)) - tax_2_movement = [m for m in tax_movement_list if m.getPrice() == 0.2][0] - self.assertEquals(tax_2_movement.getQuantity(), 4) - tax_3_movement = [m for m in tax_movement_list if m.getPrice() == 0.3][0] - self.assertEquals(tax_3_movement.getQuantity(), 4) - - tax_movement_list = line_3.DeliveryMovement_getCorrespondingTaxLineList() - self.assertEquals(3, len(tax_movement_list)) - tax_1_movement = [m for m in tax_movement_list if m.getPrice() == 0.1][0] - self.assertEquals(tax_1_movement.getQuantity(), 9) - tax_2_movement = [m for m in tax_movement_list if m.getPrice() == 0.2][0] - self.assertEquals(tax_2_movement.getQuantity(), 9) - tax_3_movement = [m for m in tax_movement_list if m.getPrice() == 0.3][0] - self.assertEquals(tax_3_movement.getQuantity(), 9) - - def test_temp_order(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - - order = self.portal.getDefaultModule(self.order_type).newContent( - portal_type=self.order_type, - temp_object=1) - order.Order_applyTradeCondition(self.trade_condition, force=1) - - tax_line_list = order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(0, tax_line.getQuantity()) - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals(0.2, tax_line.getPrice()) - - order_line = order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource, - quantity=10, - price=40) - self.commit() - - tax_line_list = order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(400, tax_line.getQuantity()) - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals(0.2, tax_line.getPrice()) - - def test_temp_order_hierarchical(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - - order = self.portal.getDefaultModule(self.order_type).newContent( - portal_type=self.order_type, - temp_object=1) - order.Order_applyTradeCondition(self.trade_condition, force=1) - - tax_line_list = order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(0, tax_line.getQuantity()) - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals(0.2, tax_line.getPrice()) - - order_line = order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource,) - suborder_line1 = order_line.newContent( - portal_type=self.order_line_type, - quantity=4, - price=5) - suborder_line2 = order_line.newContent( - portal_type=self.order_line_type, - quantity=2, - price=40) - - self.commit() - tax_line_list = order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(100, tax_line.getQuantity()) - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals(0.2, tax_line.getPrice()) - - -class TestTaxLineOrderSimulation(AccountingBuildTestCase): - """Test Simulation of Tax Lines on Orders - """ - def test_tax_line_simulation(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - - order = self.order - order.Order_applyTradeCondition(self.trade_condition, force=1) - order.setSourceSectionValue(self.vendor) - order.setSourceValue(self.vendor) - order.setDestinationSectionValue(self.client) - order.setDestinationValue(self.client) - order.setStartDate(DateTime(2001, 1, 1)) - order_line = order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource, - quantity=10, - price=10,) - order.plan() - order.confirm() - self.assertEquals('confirmed', order.getSimulationState()) - self.tic() - related_applied_rule_list = order.getCausalityRelatedValueList( - portal_type='Applied Rule') - self.assertEquals(1, len(related_applied_rule_list)) - root_applied_rule = related_applied_rule_list[0] - simulation_movement_list = root_applied_rule.contentValues( - portal_type='Simulation Movement') - self.assertEquals(1, len(simulation_movement_list)) - level2_applied_rule_list = simulation_movement_list[0].contentValues() - self.assertEquals(2, len(level2_applied_rule_list)) - # first test the invoice movement, they should have base_contribution set - # correctly - invoice_rule_list = [ar for ar in level2_applied_rule_list if - ar.getSpecialiseValue().getPortalType() == 'Invoicing Rule'] - self.assertEquals(1, len(invoice_rule_list)) - invoice_simulation_movement_list = invoice_rule_list[0].contentValues() - self.assertEquals(1, len(invoice_simulation_movement_list)) - invoice_simulation_movement = invoice_simulation_movement_list[0] - self.assertEquals(self.resource, - invoice_simulation_movement.getResourceValue()) - self.assertEquals([base_1], - invoice_simulation_movement.getBaseContributionValueList()) - - # now test the tax movement - applied_tax_rule_list = [ar for ar in level2_applied_rule_list if - ar.getSpecialiseValue().getPortalType() == 'Tax Rule'] - self.assertEquals(1, len(applied_tax_rule_list)) - tax_simulation_movement_list = applied_tax_rule_list[0].contentValues() - self.assertEquals(1, len(tax_simulation_movement_list)) - tax_simulation_movement = tax_simulation_movement_list[0] - - self.assertEquals(self.tax, tax_simulation_movement.getResourceValue()) - self.assertEquals([base_1], - tax_simulation_movement.getBaseApplicationValueList()) - self.assertEquals(100, tax_simulation_movement.getQuantity()) - self.assertEquals(0.2, tax_simulation_movement.getPrice()) - - # reexpand and check nothing changed - root_applied_rule.expand() - applied_tax_rule_list = [ar for ar in level2_applied_rule_list if - ar.getSpecialiseValue().getPortalType() == 'Tax Rule'] - self.assertEquals(1, len(applied_tax_rule_list)) - tax_simulation_movement_list = applied_tax_rule_list[0].contentValues() - self.assertEquals(1, len(tax_simulation_movement_list)) - tax_simulation_movement = tax_simulation_movement_list[0] - - self.assertEquals(self.tax, tax_simulation_movement.getResourceValue()) - self.assertEquals([base_1], - tax_simulation_movement.getBaseApplicationValueList()) - self.assertEquals(100, tax_simulation_movement.getQuantity()) - self.assertEquals(0.2, tax_simulation_movement.getPrice()) - - def test_2_tax_lines_simulation(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - - order = self.order - order.Order_applyTradeCondition(self.trade_condition, force=1) - order.setSourceSectionValue(self.vendor) - order.setSourceValue(self.vendor) - order.setDestinationSectionValue(self.client) - order.setDestinationValue(self.client) - order.setStartDate(DateTime(2001, 1, 1)) - order_line1 = order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource, - quantity=2, - price=15,) - order_line2 = order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource, - quantity=7, - price=10,) - order.plan() - order.confirm() - self.assertEquals('confirmed', order.getSimulationState()) - self.tic() - related_applied_rule_list = order.getCausalityRelatedValueList( - portal_type='Applied Rule') - self.assertEquals(1, len(related_applied_rule_list)) - root_applied_rule = related_applied_rule_list[0] - simulation_movement_list = root_applied_rule.contentValues( - portal_type='Simulation Movement') - self.assertEquals(2, len(simulation_movement_list)) - # line 1 - line1_simulation_movement_list = [sm for sm in simulation_movement_list - if sm.getOrderValue() == order_line1] - self.assertEquals(1, len(line1_simulation_movement_list)) - simulation_movement = line1_simulation_movement_list[0] - self.assertEquals(2.0, simulation_movement.getQuantity()) - applied_tax_rule_list = [ar for ar in simulation_movement.objectValues() - if ar.getSpecialiseValue().getPortalType() == 'Tax Rule'] - self.assertEquals(1, len(applied_tax_rule_list)) - tax_simulation_movement_list = applied_tax_rule_list[0].contentValues() - self.assertEquals(1, len(tax_simulation_movement_list)) - tax_simulation_movement = tax_simulation_movement_list[0] - self.assertEquals(self.tax, tax_simulation_movement.getResourceValue()) - self.assertEquals([base_1], - tax_simulation_movement.getBaseApplicationValueList()) - self.assertEquals(30, tax_simulation_movement.getQuantity()) - self.assertEquals(0.2, tax_simulation_movement.getPrice()) - - # line 2 - line2_simulation_movement_list = [sm for sm in simulation_movement_list - if sm.getOrderValue() == order_line2] - self.assertEquals(1, len(line2_simulation_movement_list)) - simulation_movement = line2_simulation_movement_list[0] - self.assertEquals(7., simulation_movement.getQuantity()) - applied_tax_rule_list = [ar for ar in simulation_movement.objectValues() - if ar.getSpecialiseValue().getPortalType() == 'Tax Rule'] - self.assertEquals(1, len(applied_tax_rule_list)) - tax_simulation_movement_list = applied_tax_rule_list[0].contentValues() - self.assertEquals(1, len(tax_simulation_movement_list)) - tax_simulation_movement = tax_simulation_movement_list[0] - self.assertEquals(self.tax, tax_simulation_movement.getResourceValue()) - self.assertEquals([base_1], - tax_simulation_movement.getBaseApplicationValueList()) - self.assertEquals(70, tax_simulation_movement.getQuantity()) - self.assertEquals(0.2, tax_simulation_movement.getPrice()) - - - def test_tax_line_build(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - - order = self.order - order.Order_applyTradeCondition(self.trade_condition, force=1) - order.setSourceSectionValue(self.vendor) - order.setSourceValue(self.vendor) - order.setDestinationSectionValue(self.client) - order.setDestinationValue(self.client) - order.setPriceCurrencyValue(self.currency) - order.setStartDate(DateTime(2001, 1, 1)) - order_line = order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource, - quantity=2, - price=15,) - order.plan() - order.confirm() - self.assertEquals('confirmed', order.getSimulationState()) - self.tic() - related_delivery = order.getCausalityRelatedValue( - portal_type=('Purchase Packing List', 'Sale Packing List')) - self.assertNotEquals(related_delivery, None) - related_delivery.setReady() - related_delivery.start() - related_delivery.stop() - related_delivery.deliver() - self.assertEquals('delivered', related_delivery.getSimulationState()) - self.tic() - - related_invoice = related_delivery.getCausalityRelatedValue( - portal_type=('Purchase Invoice Transaction', - 'Sale Invoice Transaction')) - self.assertNotEquals(related_invoice, None) - invoice_line_list = related_invoice.contentValues( - portal_type='Invoice Line') - tax_line_list = related_invoice.contentValues( - portal_type='Tax Line') - - self.assertEquals(1, len(invoice_line_list)) - invoice_line = invoice_line_list[0] - self.assertEquals(2, invoice_line.getQuantity()) - self.assertEquals(15, invoice_line.getPrice()) - self.assertEquals(self.resource, invoice_line.getResourceValue()) - self.assertEquals([base_1], invoice_line.getBaseContributionValueList()) - - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(30, tax_line.getQuantity()) - self.assertEquals(0.2, tax_line.getPrice()) - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals([base_1], tax_line.getBaseApplicationValueList()) - self.assertEquals([], tax_line.getBaseContributionValueList()) - - self.assertEquals('solved', related_invoice.getCausalityState()) - - # Of course, this invoice does not generate simulation again. New - # applied rule is not created. - related_applied_rule = related_invoice.getCausalityRelatedValue( - portal_type='Applied Rule') - self.assertEquals(None, related_applied_rule) - - def test_tax_line_build_accounting(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - - order = self.order - order.Order_applyTradeCondition(self.trade_condition, force=1) - order.setSourceSectionValue(self.vendor) - order.setSourceValue(self.vendor) - order.setDestinationSectionValue(self.client) - order.setDestinationValue(self.client) - order.setPriceCurrencyValue(self.currency) - order.setStartDate(DateTime(2001, 1, 1)) - order_line = order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource, - quantity=2, - price=15,) - order.plan() - order.confirm() - self.assertEquals('confirmed', order.getSimulationState()) - self.tic() - related_delivery = order.getCausalityRelatedValue( - portal_type=('Purchase Packing List', 'Sale Packing List')) - self.assertNotEquals(related_delivery, None) - related_delivery.setReady() - related_delivery.start() - related_delivery.stop() - related_delivery.deliver() - self.assertEquals('delivered', related_delivery.getSimulationState()) - self.tic() - - related_invoice = related_delivery.getCausalityRelatedValue( - portal_type=('Purchase Invoice Transaction', - 'Sale Invoice Transaction')) - self.assertNotEquals(related_invoice, None) - self.assertEquals('confirmed', related_invoice.getSimulationState()) - self.assertEquals('solved', related_invoice.getCausalityState()) - accounting_line_list = related_invoice.getMovementList( - portal_type=self.portal.getPortalAccountingMovementTypeList()) - self.assertEquals(0, len(accounting_line_list)) - - related_invoice.start() - self.tic() - self.assertEquals('started', related_invoice.getSimulationState()) - self.assertEquals('solved', related_invoice.getCausalityState()) - - accounting_line_list = related_invoice.getMovementList( - portal_type=self.portal.getPortalAccountingMovementTypeList()) - self.assertEquals(3, len(accounting_line_list)) - receivable_line = [l for l in accounting_line_list if - l.getSourceValue() == self.receivable_account][0] - self.assertEquals(self.payable_account, - receivable_line.getDestinationValue()) - self.assertEquals(36, receivable_line.getSourceDebit()) - - tax_line = [l for l in accounting_line_list if - l.getSourceValue() == self.collected_tax_account][0] - self.assertEquals(self.refundable_tax_account, - tax_line.getDestinationValue()) - self.assertEquals(6, tax_line.getSourceCredit()) - - income_line = [l for l in accounting_line_list if - l.getSourceValue() == self.income_account][0] - self.assertEquals(self.expense_account, - income_line.getDestinationValue()) - self.assertEquals(30, income_line.getSourceCredit()) - - # Of course, this invoice does not generate simulation again. New - # applied rule is not created. - related_applied_rule = related_invoice.getCausalityRelatedValue( - portal_type='Applied Rule') - self.assertEquals(None, related_applied_rule) - - # and there's no other invoices - self.assertEquals(1, len(self.portal.accounting_module.contentValues())) - - - def test_tax_line_merged_build(self): - # an order with 2 lines and 1 tax line will later be built in an invoice - # with 2 lines and 1 tax line - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - resource2 = self.portal.product_module.newContent( - portal_type='Product', - title='Resource 2', - base_contribution_value_list=[base_1]) - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - - order = self.order - order.Order_applyTradeCondition(self.trade_condition, force=1) - order.setSourceSectionValue(self.vendor) - order.setSourceValue(self.vendor) - order.setDestinationSectionValue(self.client) - order.setDestinationValue(self.client) - order.setPriceCurrencyValue(self.currency) - order.setStartDate(DateTime(2001, 1, 1)) - order_line1 = order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource, - quantity=2, - price=15,) - order_line2 = order.newContent( - portal_type=self.order_line_type, - resource_value=resource2, - quantity=7, - price=10,) - self.commit() - # check existing tax line - tax_line_list = order.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals(2*15 + 7*10, tax_line.getQuantity()) - self.assertEquals(0.2, tax_line.getPrice()) - - order.plan() - order.confirm() - self.assertEquals('confirmed', order.getSimulationState()) - self.tic() - related_delivery = order.getCausalityRelatedValue( - portal_type=('Purchase Packing List', 'Sale Packing List')) - self.assertNotEquals(related_delivery, None) - related_delivery.setReady() - related_delivery.start() - related_delivery.stop() - related_delivery.deliver() - self.assertEquals('delivered', related_delivery.getSimulationState()) - self.tic() - - related_invoice = related_delivery.getCausalityRelatedValue( - portal_type=('Purchase Invoice Transaction', - 'Sale Invoice Transaction')) - self.assertNotEquals(related_invoice, None) - invoice_line_list = related_invoice.contentValues( - portal_type='Invoice Line') - tax_line_list = related_invoice.contentValues( - portal_type='Tax Line') - - self.assertEquals(2, len(invoice_line_list)) - - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(100, tax_line.getQuantity()) - self.assertEquals(0.2, tax_line.getPrice()) - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals([base_1], tax_line.getBaseApplicationValueList()) - self.assertEquals([], tax_line.getBaseContributionValueList()) - - self.assertEquals('solved', related_invoice.getCausalityState()) - - def test_tax_line_updated_on_invoice_line_change(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - - order = self.order - order.Order_applyTradeCondition(self.trade_condition, force=1) - order.setSourceSectionValue(self.vendor) - order.setSourceValue(self.vendor) - order.setDestinationSectionValue(self.client) - order.setDestinationValue(self.client) - order.setPriceCurrencyValue(self.currency) - order.setStartDate(DateTime(2001, 1, 1)) - order_line = order.newContent( - portal_type=self.order_line_type, - resource_value=self.resource, - quantity=2, - price=15,) - order.plan() - order.confirm() - self.assertEquals('confirmed', order.getSimulationState()) - self.tic() - related_delivery = order.getCausalityRelatedValue( - portal_type=('Purchase Packing List', 'Sale Packing List')) - self.assertNotEquals(related_delivery, None) - related_delivery.setReady() - related_delivery.start() - related_delivery.stop() - related_delivery.deliver() - self.assertEquals('delivered', related_delivery.getSimulationState()) - self.tic() - - related_invoice = related_delivery.getCausalityRelatedValue( - portal_type=('Purchase Invoice Transaction', - 'Sale Invoice Transaction')) - self.assertNotEquals(related_invoice, None) - self.assertEquals('solved', related_invoice.getCausalityState()) - invoice_line_list = related_invoice.contentValues( - portal_type='Invoice Line') - tax_line_list = related_invoice.contentValues( - portal_type='Tax Line') - - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - self.assertEquals(30, tax_line.getQuantity()) - self.assertEquals(0.2, tax_line.getPrice()) - self.assertEquals(self.tax, tax_line.getResourceValue()) - self.assertEquals([base_1], tax_line.getBaseApplicationValueList()) - self.assertEquals([], tax_line.getBaseContributionValueList()) - - self.assertEquals(1, len(invoice_line_list)) - invoice_line = invoice_line_list[0] - # change a total price on the invoice_line, - invoice_line.setQuantity(3) - self.tic() - # it will be reflected on the tax line - self.assertEquals(45, tax_line.getQuantity()) - self.assertTrue(tax_line.isDivergent()) - # and the invoice is diverged - self.assertEquals('diverged', related_invoice.getCausalityState()) - - -class TestTaxLineInvoiceSimulation(AccountingBuildTestCase): - """Test Simulation of Tax Lines on Invoices - """ - def test_tax_line_simulation(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - - invoice = self.order - invoice.Order_applyTradeCondition(self.trade_condition, force=1) - invoice.setSourceSectionValue(self.vendor) - invoice.setSourceValue(self.vendor) - invoice.setDestinationSectionValue(self.client) - invoice.setDestinationValue(self.client) - invoice.setStartDate(DateTime(2001, 1, 1)) - invoice.setPriceCurrencyValue(self.currency) - invoice_line = invoice.newContent( - portal_type=self.order_line_type, - resource_value=self.resource, - quantity=10, - price=10,) - tax_line_list = invoice.contentValues(portal_type='Tax Line') - self.assertEquals(1, len(tax_line_list)) - tax_line = tax_line_list[0] - - invoice.plan() - invoice.confirm() - invoice.start() - self.assertEquals('started', invoice.getSimulationState()) - self.tic() - related_applied_rule_list = invoice.getCausalityRelatedValueList( - portal_type='Applied Rule') - self.assertEquals(1, len(related_applied_rule_list)) - root_applied_rule = related_applied_rule_list[0] - simulation_movement_list = root_applied_rule.contentValues( - portal_type='Simulation Movement') - self.assertEquals(2, len(simulation_movement_list)) - tax_simulation_movement_list = [m for m in simulation_movement_list - if m.getOrderValue() == tax_line] - self.assertEquals(1, len(tax_simulation_movement_list)) - tax_simulation_movement = tax_simulation_movement_list[0] - self.assertEquals([base_1], - tax_simulation_movement.getBaseApplicationValueList()) - self.assertEquals(100, tax_simulation_movement.getQuantity()) - self.assertEquals(0.2, tax_simulation_movement.getPrice()) - self.assertEquals(self.currency, - tax_simulation_movement.getPriceCurrencyValue()) - - invoice_simulation_movement_list = [m for m in simulation_movement_list - if m.getOrderValue() == invoice_line] - self.assertEquals(1, len(invoice_simulation_movement_list)) - invoice_simulation_movement = invoice_simulation_movement_list[0] - self.assertEquals([base_1], - invoice_simulation_movement.getBaseContributionValueList()) - self.assertEquals(10, invoice_simulation_movement.getQuantity()) - self.assertEquals(10, invoice_simulation_movement.getPrice()) - self.assertEquals(self.currency, - invoice_simulation_movement.getPriceCurrencyValue()) - self.assertEquals(self.resource, - invoice_simulation_movement.getResourceValue()) - - accounting_line_list = invoice.getMovementList( - portal_type=('Sale Invoice Transaction Line', - 'Purchase Invoice Transaction Line')) - self.assertEquals(3, len(accounting_line_list)) - receivable_line = [l for l in accounting_line_list if - l.getSourceValue() == self.receivable_account][0] - self.assertEquals(self.payable_account, - receivable_line.getDestinationValue()) - self.assertEquals(120, receivable_line.getSourceDebit()) - - tax_line = [l for l in accounting_line_list if - l.getSourceValue() == self.collected_tax_account][0] - self.assertEquals(self.refundable_tax_account, - tax_line.getDestinationValue()) - self.assertEquals(20, tax_line.getSourceCredit()) - - income_line = [l for l in accounting_line_list if - l.getSourceValue() == self.income_account][0] - self.assertEquals(self.expense_account, - income_line.getDestinationValue()) - self.assertEquals(100, income_line.getSourceCredit()) - - self.assertEquals('solved', invoice.getCausalityState()) - - -class DiscountCalculation: - """Test Discount Calculations - """ - def test_simple_discount_model_line_calculation(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - self.resource.setBaseContributionValue(base_1) - discount_model_line =self.trade_condition.newContent( - portal_type='Discount Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.discount) - - -class TestTaxLineCalculationSaleOrder( - TestTaxLineCalculation, TestWithSaleOrder): - pass - -class TestTaxLineCalculationPurchaseOrder( - TestTaxLineCalculation, TestWithPurchaseOrder): - pass - -class TestTaxLineCalculationSaleInvoice( - TestTaxLineCalculation, TestWithSaleInvoice): - def not_available(self): - pass - test_hierarchical_order_line_and_tax_line = not_available - test_temp_order_hierarchical = not_available - -class TestTaxLineCalculationPurchaseInvoice( - TestTaxLineCalculation, TestWithPurchaseInvoice): - def not_available(self): - pass - test_hierarchical_order_line_and_tax_line = not_available - test_temp_order_hierarchical = not_available - -class TestTaxLineOrderSimulationSaleOrder( - TestTaxLineOrderSimulation, TestWithSaleOrder): - pass - -class TestTaxLineOrderSimulationPurchaseOrder( - TestTaxLineOrderSimulation, TestWithPurchaseOrder): - pass - -class TestTaxLineInvoiceSimulationPurchaseInvoice( - TestTaxLineInvoiceSimulation, TestWithPurchaseInvoice): - pass - -class TestTaxLineInvoiceSimulationSaleInvoice( - TestTaxLineInvoiceSimulation, TestWithSaleInvoice): - pass - -def test_suite(): - suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(TestTaxLineCalculationSaleOrder)) - suite.addTest(unittest.makeSuite(TestTaxLineCalculationPurchaseOrder)) - suite.addTest(unittest.makeSuite(TestTaxLineCalculationSaleInvoice)) - suite.addTest(unittest.makeSuite(TestTaxLineCalculationPurchaseInvoice)) - suite.addTest(unittest.makeSuite(TestTaxLineOrderSimulationSaleOrder)) - suite.addTest(unittest.makeSuite(TestTaxLineOrderSimulationPurchaseOrder)) - suite.addTest(unittest.makeSuite(TestTaxLineInvoiceSimulationPurchaseInvoice)) - suite.addTest(unittest.makeSuite(TestTaxLineInvoiceSimulationSaleInvoice)) - return suite diff --git a/product/ERP5Legacy/tests/testLegacyTradeCondition.py b/product/ERP5Legacy/tests/testLegacyTradeCondition.py deleted file mode 100644 index e86aa26daf..0000000000 --- a/product/ERP5Legacy/tests/testLegacyTradeCondition.py +++ /dev/null @@ -1,720 +0,0 @@ -############################################################################## -# -# Copyright (c) 2008 Nexedi SA and Contributors. All Rights Reserved. -# Jerome Perrin <jerome@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import unittest - -from DateTime import DateTime - -from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase - -class TradeConditionTestCase(ERP5TypeTestCase): - """Tests for Trade Conditions and Tax - """ - def getBusinessTemplateList(self): - return ('erp5_base', 'erp5_simulation', 'erp5_simulation_legacy', - 'erp5_pdm', 'erp5_trade', 'erp5_accounting', - 'erp5_invoicing', 'erp5_tax_resource', 'erp5_discount_resource', - 'erp5_legacy_tax_system', 'erp5_simplified_invoicing', - 'erp5_trade_simulation_legacy', - 'erp5_accounting_simulation_legacy', - 'erp5_invoicing_simulation_legacy') - - def validateRules(self): - """ - try to validate all rules in rule_tool. - """ - rule_tool = self.getRuleTool() - for rule in rule_tool.contentValues( - portal_type=rule_tool.getPortalRuleTypeList()): - if rule.getValidationState() != 'validated': - rule.validate() - # do not use new 'XXX Simulation Rule' in legacy tests. - if 'Simulation Rule' in rule.getPortalType(): - rule.invalidate() - - size_category_list = ['small', 'big'] - def afterSetUp(self): - self.validateRules() - for category_id in self.size_category_list: - self.portal.portal_categories.size.newContent(id=category_id, - title=category_id) - self.base_amount = self.portal.portal_categories.base_amount - self.tax = self.portal.tax_module.newContent( - portal_type='Tax', - title='Tax') - self.discount = self.portal.discount_module.newContent( - portal_type='Discount', - title='Discount') - self.client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client') - self.vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor') - self.resource = self.portal.product_module.newContent( - portal_type='Product', - title='Resource') - self.currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='Currency') - self.trade_condition_module = self.portal.getDefaultModule( - self.trade_condition_type) - self.trade_condition = self.trade_condition_module.newContent( - portal_type=self.trade_condition_type, - title='Trade Condition') - self.order_module = self.portal.getDefaultModule( - self.order_type) - self.order = self.order_module.newContent( - portal_type=self.order_type, - created_by_builder=1, - title='Order') - - def beforeTearDown(self): - self.abort() - for module in (self.portal.tax_module, - self.portal.organisation_module, - self.portal.currency_module, - self.portal.product_module, - self.portal.accounting_module, - self.portal.account_module, - self.portal.portal_simulation, - self.trade_condition_module, - self.order_module, - self.portal.portal_categories.base_amount, - self.portal.portal_categories.size, - ): - module.manage_delObjects(list(module.objectIds())) - self.tic() - - -class AccountingBuildTestCase(TradeConditionTestCase): - """Same as TradeConditionTestCase, but with a rule to generate - accounting. - """ - def afterSetUp(self): - TradeConditionTestCase.afterSetUp(self) - self.receivable_account = self.portal.account_module.newContent( - id='receivable', - title='Receivable', - account_type='asset/receivable') - self.payable_account = self.portal.account_module.newContent( - id='payable', - title='Payable', - account_type='liability/payable') - self.income_account = self.portal.account_module.newContent( - id='income', - title='Income', - account_type='income') - self.expense_account = self.portal.account_module.newContent( - id='expense', - title='Expense', - account_type='expense') - self.collected_tax_account = self.portal.account_module.newContent( - id='collected_tax', - title='Collected Tax', - account_type='liability/payable/collected_vat') - self.refundable_tax_account = self.portal.account_module.newContent( - id='refundable_tax', - title='Refundable Tax', - account_type='asset/receivable/refundable_vat') - - for account in self.portal.account_module.contentValues(): - self.assertNotEquals(account.getAccountTypeValue(), None) - account.validate() - - itr = self.portal.portal_rules.newContent( - portal_type='Invoice Transaction Rule', - reference='default_invoice_transaction_rule', - id='test_invoice_transaction_rule', - title='Transaction Rule', - test_method_id='SimulationMovement_testInvoiceTransactionRule', - version=100) - predicate = itr.newContent(portal_type='Predicate',) - predicate.edit( - string_index='resource_type', - title='Resource Product', - int_index=1, - test_method_id='SimulationMovement_isDeliveryMovement' ) - predicate = itr.newContent(portal_type='Predicate') - predicate.edit( - string_index='resource_type', - title='Resource Tax', - int_index=2, - test_method_id='SimulationMovement_isTaxMovement' ) - self.tic() - accounting_rule_cell_list = itr.contentValues( - portal_type='Accounting Rule Cell') - self.assertEquals(2, len(accounting_rule_cell_list)) - product_rule_cell = itr._getOb("movement_0") - self.assertEquals(product_rule_cell.getTitle(), 'Resource Product') - product_rule_cell.newContent( - portal_type='Accounting Transaction Line', - source_value=self.receivable_account, - destination_value=self.payable_account, - quantity=-1) - product_rule_cell.newContent( - portal_type='Accounting Transaction Line', - source_value=self.income_account, - destination_value=self.expense_account, - quantity=1) - - tax_rule_cell = itr._getOb("movement_1") - self.assertEquals(tax_rule_cell.getTitle(), 'Resource Tax') - tax_rule_cell.newContent( - portal_type='Accounting Transaction Line', - source_value=self.receivable_account, - destination_value=self.payable_account, - quantity=-1) - tax_rule_cell.newContent( - portal_type='Accounting Transaction Line', - source_value=self.collected_tax_account, - destination_value=self.refundable_tax_account, - quantity=1) - itr.validate() - self.tic() - - def beforeTearDown(self): - TradeConditionTestCase.beforeTearDown(self) - self.portal.portal_rules.manage_delObjects('test_invoice_transaction_rule') - self.tic() - -class TestApplyTradeCondition(TradeConditionTestCase): - """Tests Applying Trade Conditions - """ - def test_apply_trade_condition_set_categories(self): - self.trade_condition.setSourceSectionValue(self.vendor) - self.trade_condition.setDestinationSectionValue(self.client) - self.trade_condition.setSourceValue(self.vendor) - self.trade_condition.setDestinationValue(self.client) - self.trade_condition.setPriceCurrencyValue(self.currency) - self.order.setSpecialiseValue(self.trade_condition) - - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - - self.assertEquals(self.vendor, self.order.getSourceSectionValue()) - self.assertEquals(self.vendor, self.order.getSourceValue()) - self.assertEquals(self.client, self.order.getDestinationSectionValue()) - self.assertEquals(self.client, self.order.getDestinationValue()) - self.assertEquals(self.currency, self.order.getPriceCurrencyValue()) - - def test_apply_trade_condition_keep_categories(self): - # source section & source are set on the order, not on the TC - self.order.setSourceSectionValue(self.vendor) - self.order.setSourceValue(self.vendor) - - self.trade_condition.setSourceSectionValue(None) - self.trade_condition.setSourceValue(None) - self.trade_condition.setDestinationSectionValue(self.client) - self.trade_condition.setDestinationValue(self.client) - self.trade_condition.setPriceCurrencyValue(self.currency) - self.order.setSpecialiseValue(self.trade_condition) - - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - - # Applying the TC keeps values on the order - self.assertEquals(self.vendor, self.order.getSourceSectionValue()) - self.assertEquals(self.vendor, self.order.getSourceValue()) - self.assertEquals(self.client, self.order.getDestinationSectionValue()) - self.assertEquals(self.client, self.order.getDestinationValue()) - self.assertEquals(self.currency, self.order.getPriceCurrencyValue()) - - def test_apply_trade_condition_set_categories_with_hierarchy(self): - trade_condition_source = self.trade_condition_module.newContent( - portal_type=self.trade_condition.getPortalType(), - title='Trade Condition Source', - source_value=self.vendor, - source_section_value=self.vendor) - trade_condition_dest = self.trade_condition_module.newContent( - portal_type=self.trade_condition.getPortalType(), - title='Trade Condition Destination', - destination_value=self.client, - destination_section_value=self.client, - price_currency_value=self.currency, - # also set a source, it should not be used - source_value=self.client) - self.trade_condition.setSpecialiseValueList( - (trade_condition_source, trade_condition_dest)) - - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - - self.assertEquals(self.vendor, self.order.getSourceSectionValue()) - self.assertEquals(self.vendor, self.order.getSourceValue()) - self.assertEquals(self.client, self.order.getDestinationSectionValue()) - self.assertEquals(self.client, self.order.getDestinationValue()) - self.assertEquals(self.currency, self.order.getPriceCurrencyValue()) - - def test_apply_trade_condition_copy_subobjects(self): - self.trade_condition.setPaymentConditionTradeDate('custom') - self.trade_condition.setPaymentConditionPaymentDate(DateTime(2001, 01, 01)) - self.order.setSpecialiseValue(self.trade_condition) - - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - - self.assertEquals('custom', self.order.getPaymentConditionTradeDate()) - self.assertEquals(DateTime(2001, 01, 01), - self.order.getPaymentConditionPaymentDate()) - - def test_apply_twice_trade_condition_copy_subobjects(self): - self.trade_condition.setPaymentConditionTradeDate('custom') - self.trade_condition.setPaymentConditionPaymentDate(DateTime(2001, 01, 01)) - self.order.setSpecialiseValue(self.trade_condition) - - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - self.assertEquals(1, len(self.order.contentValues( - portal_type='Payment Condition'))) - self.assertEquals('custom', self.order.getPaymentConditionTradeDate()) - self.assertEquals(DateTime(2001, 01, 01), - self.order.getPaymentConditionPaymentDate()) - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - self.assertEquals(1, len(self.order.contentValues( - portal_type='Payment Condition'))) - - def test_apply_trade_condition_copy_subobjects_with_hierarchy(self): - other_trade_condition = self.trade_condition_module.newContent( - portal_type=self.trade_condition.getPortalType(), - title='Other Trade Condition') - other_trade_condition.setPaymentConditionTradeDate('custom') - other_trade_condition.setPaymentConditionPaymentDate( - DateTime(2001, 01, 01)) - - self.trade_condition.setSpecialiseValue(other_trade_condition) - self.order.setSpecialiseValue(self.trade_condition) - - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - - self.assertEquals('custom', self.order.getPaymentConditionTradeDate()) - self.assertEquals(DateTime(2001, 01, 01), - self.order.getPaymentConditionPaymentDate()) - - def test_apply_trade_condition_twice_update_order(self): - self.trade_condition.setSourceSectionValue(self.vendor) - self.trade_condition.setDestinationSectionValue(self.client) - self.trade_condition.setSourceValue(self.vendor) - self.trade_condition.setDestinationValue(self.client) - self.trade_condition.setPriceCurrencyValue(self.currency) - self.trade_condition.setPaymentConditionTradeDate('custom') - self.trade_condition.setPaymentConditionPaymentDate(DateTime(2001, 01, 01)) - self.order.setSpecialiseValue(self.trade_condition) - - self.order.Order_applyTradeCondition(self.trade_condition, force=1) - - self.assertEquals(self.vendor, self.order.getSourceSectionValue()) - self.assertEquals(self.vendor, self.order.getSourceValue()) - self.assertEquals(self.client, self.order.getDestinationSectionValue()) - self.assertEquals(self.client, self.order.getDestinationValue()) - self.assertEquals(self.currency, self.order.getPriceCurrencyValue()) - self.assertEquals('custom', self.order.getPaymentConditionTradeDate()) - self.assertEquals(DateTime(2001, 01, 01), - self.order.getPaymentConditionPaymentDate()) - - new_vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='New vendor') - new_trade_condition = self.trade_condition_module.newContent( - portal_type=self.trade_condition_type, - source_section_value=new_vendor, - payment_condition_trade_date='custom', - payment_condition_payment_date=DateTime(2002, 2, 2)) - - self.order.Order_applyTradeCondition(new_trade_condition, force=1) - self.assertEquals(new_vendor, self.order.getSourceSectionValue()) - self.assertEquals(self.vendor, self.order.getSourceValue()) - self.assertEquals(self.client, self.order.getDestinationSectionValue()) - self.assertEquals(self.client, self.order.getDestinationValue()) - self.assertEquals(self.currency, self.order.getPriceCurrencyValue()) - self.assertEquals('custom', self.order.getPaymentConditionTradeDate()) - self.assertEquals(DateTime(2002, 02, 02), - self.order.getPaymentConditionPaymentDate()) - - - def test_tax_model_line_consistency(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - self.assertEquals([], tax_model_line.checkConsistency()) - self.assertEquals([], self.trade_condition.checkConsistency()) - - def test_discount_model_line_consistency(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - discount_model_line = self.trade_condition.newContent( - portal_type='Discount Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.discount) - self.assertEquals([], discount_model_line.checkConsistency()) - self.assertEquals([], self.trade_condition.checkConsistency()) - - def test_view_tax_model_line(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - tax_model_line = self.trade_condition.newContent( - portal_type='Tax Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.tax) - # TODO: fail if a field has an error - tax_model_line.view() - self.trade_condition.TradeCondition_viewTax() - - def test_view_discount_model_line(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - discount_model_line = self.trade_condition.newContent( - portal_type='Discount Model Line', - base_application_value=base_1, - float_index=1, - efficiency=0.2, - resource_value=self.discount) - # TODO: fail if a field has an error - discount_model_line.view() - self.trade_condition.TradeCondition_viewDiscount() - - def test_tax_line_consistency(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - tax_line = self.order.newContent( - portal_type='Tax Line', - resource_value=self.tax, - base_application_value=base_1, - quantity=0, - efficiency=5.5) - self.assertEquals([], tax_line.checkConsistency()) - - def test_view_tax_line(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - tax_line = self.order.newContent( - portal_type='Tax Line', - resource_value=self.tax, - base_application_value=base_1, - quantity=0, - efficiency=5.5) - # TODO: fail if a field has an error - tax_line.view() - self.order.Delivery_viewTax() - - def test_discount_line_consistency(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - discount_line = self.order.newContent( - portal_type='Discount Line', - resource_value=self.discount, - base_application_value=base_1, - quantity=0, - efficiency=5.5) - self.assertEquals([], discount_line.checkConsistency()) - - def test_view_discount_line(self): - base_1 = self.base_amount.newContent( - portal_type='Category', - title='Base 1') - discount_line = self.order.newContent( - portal_type='Discount Line', - resource_value=self.discount, - base_application_value=base_1, - quantity=0, - efficiency=5.5) - # TODO: fail if a field has an error - discount_line.view() - self.order.Delivery_viewDiscount() - - -class TestTradeConditionSupplyLine(TradeConditionTestCase): - """A trade condition can contain supply line and those supply lines are used - in priority, for example to calculate the price - """ - def test_category_acquisition(self): - self.trade_condition.setSourceValue(self.vendor) - self.trade_condition.setSourceSectionValue(self.vendor) - self.trade_condition.setDestinationValue(self.client) - self.trade_condition.setDestinationSectionValue(self.client) - self.trade_condition.setPriceCurrencyValue(self.currency) - - supply_line = self.trade_condition.newContent( - portal_type=self.supply_line_type) - - self.assertEquals(self.vendor, supply_line.getSourceValue()) - self.assertEquals(self.vendor, supply_line.getSourceSectionValue()) - self.assertEquals(self.client, supply_line.getDestinationValue()) - self.assertEquals(self.client, supply_line.getDestinationSectionValue()) - self.assertEquals(self.currency, supply_line.getPriceCurrencyValue()) - - def test_movement_price_assignment(self): - # supply line from the trade condition apply to the movements in order - # where this trade condition is used - supply_line = self.trade_condition.newContent( - portal_type=self.supply_line_type, - resource_value=self.resource, - base_price=123) - - self.order.setSpecialiseValue(self.trade_condition) - self.tic() - - line = self.order.newContent(portal_type=self.order_line_type, - resource_value=self.resource, - quantity=1) - self.assertEquals(123, line.getPrice()) - - def test_supply_line_priority(self): - # supply lines from related trade condition should have priority over - # supply lines from supply modules - other_supply = self.portal.getDefaultModule(self.supply_type - ).newContent(portal_type=self.supply_type, - resource_value=self.resource, - source_section_value=self.vendor, - destination_section_value=self.client) - other_supply_line = other_supply.newContent( - portal_type=self.supply_line_type, - base_price=1) - supply_line = self.trade_condition.newContent( - portal_type=self.supply_line_type, - resource_value=self.resource, - base_price=2) - self.order.setSpecialiseValue(self.trade_condition) - self.order.setSourceSectionValue(self.vendor) - self.order.setDestinationSectionValue(self.vendor) - self.tic() - - line = self.order.newContent(portal_type=self.order_line_type, - resource_value=self.resource, - quantity=1) - # using the supply line inside trade condition - self.assertEquals(2, line.getPrice()) - - # TODO: move to testSupplyLine ! (which does not exist yet) - def test_supply_line_section(self): - # if a supply lines defines a section, it has priority over supply lines - # not defining sections - other_entity = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Other') - supply = self.portal.getDefaultModule(self.supply_type - ).newContent(portal_type=self.supply_type, - resource_value=self.resource,) - supply_line = supply.newContent( - portal_type=self.supply_line_type, - base_price=1) - - other_supply = self.portal.getDefaultModule(self.supply_type - ).newContent(portal_type=self.supply_type, - resource_value=self.resource, - destination_section_value=self.client, - source_section_value=self.vendor) - other_supply_line = other_supply.newContent( - portal_type=self.supply_line_type, - base_price=2) - - self.order.setSourceSectionValue(self.vendor) - self.order.setDestinationSectionValue(self.client) - self.tic() - - line = self.order.newContent(portal_type=self.order_line_type, - resource_value=self.resource, - quantity=1) - # using the supply line with section defined - self.assertEquals(2, line.getPrice()) - - -class TestEffectiveTradeCondition(TradeConditionTestCase): - """Tests for getEffectiveModel - - XXX open questions: - - should getEffectiveModel take validation state into account ? if yes, how - to do it in generic/customizable way ? - - would getEffectiveModel(at_date) be enough ? - """ - def test_getEffectiveModel(self): - # getEffectiveModel returns the model with highest version - reference = self.id() - self.trade_condition.setReference(reference) - self.trade_condition.setVersion('001') - self.trade_condition.setEffectiveDate('2009/01/01') - self.trade_condition.setExpirationDate('2009/12/31') - other_trade_condition = self.trade_condition_module.newContent( - portal_type=self.trade_condition.getPortalType(), - title='Other Trade Condition', - reference=reference, - effective_date='2009/01/01', - expiration_date='2009/12/31', - version='002') - self.tic() - - self.assertEquals(other_trade_condition, - self.trade_condition.getEffectiveModel( - start_date=DateTime('2009/06/01'), - stop_date=DateTime('2009/06/01'))) - - # outside date range: should it raise or return nothing ? - self.assertRaises(Exception, - self.trade_condition.getEffectiveModel, - start_date=DateTime('2008/06/01'), - stop_date=DateTime('2008/06/01')) - self.assertRaises(Exception, - self.trade_condition.getEffectiveModel, - start_date=DateTime('2010/06/01'), - stop_date=DateTime('2010/06/01')) - - def test_getEffectiveModel_return_self(self): - # getEffectiveModel returns the trade condition if it's effective - self.trade_condition.setReference(self.id()) - self.trade_condition.setEffectiveDate('2009/01/01') - self.trade_condition.setExpirationDate('2009/12/31') - self.tic() - self.assertEquals(self.trade_condition, - self.trade_condition.getEffectiveModel( - start_date=DateTime('2009/06/01'), - stop_date=DateTime('2009/06/01'))) - - def test_getEffectiveModel_without_dates(self): - # a trade condition without effective / expiration date is effective - self.trade_condition.setReference(self.id()) - self.trade_condition.setEffectiveDate(None) - self.trade_condition.setExpirationDate(None) - self.tic() - self.assertEquals(self.trade_condition, - self.trade_condition.getEffectiveModel( - start_date=DateTime('2009/06/01'), - stop_date=DateTime('2009/06/01'))) - - self.trade_condition.setEffectiveDate(None) - self.trade_condition.setExpirationDate('2009/12/31') - self.tic() - self.assertEquals(self.trade_condition, - self.trade_condition.getEffectiveModel( - start_date=DateTime('2009/06/01'), - stop_date=DateTime('2009/06/01'))) - - self.trade_condition.setEffectiveDate('2009/01/01') - self.trade_condition.setExpirationDate(None) - self.tic() - self.assertEquals(self.trade_condition, - self.trade_condition.getEffectiveModel( - start_date=DateTime('2009/06/01'), - stop_date=DateTime('2009/06/01'))) - - - def test_getEffectiveModel_return_self_when_no_reference(self): - # when no reference defined, getEffectiveModel returns the trade condition. - self.trade_condition.setReference(None) - self.assertEquals(self.trade_condition, - self.trade_condition.getEffectiveModel()) - self.assertEquals(self.trade_condition, - self.trade_condition.getEffectiveModel(start_date=DateTime(), - stop_date=DateTime())) - - - -class TestWithSaleOrder: - order_type = 'Sale Order' - order_line_type = 'Sale Order Line' - order_cell_type = 'Sale Order Cell' - trade_condition_type = 'Sale Trade Condition' - supply_type = 'Sale Supply' - supply_line_type = 'Sale Supply Line' - -class TestWithPurchaseOrder: - order_type = 'Purchase Order' - order_line_type = 'Purchase Order Line' - order_cell_type = 'Purchase Order Cell' - trade_condition_type = 'Purchase Trade Condition' - supply_type = 'Purchase Supply' - supply_line_type = 'Purchase Supply Line' - -class TestWithSaleInvoice: - order_type = 'Sale Invoice Transaction' - order_line_type = 'Invoice Line' - order_cell_type = 'Invoice Cell' - trade_condition_type = 'Sale Trade Condition' - supply_type = 'Sale Supply' - supply_line_type = 'Sale Supply Line' - -class TestWithPurchaseInvoice: - order_type = 'Purchase Invoice Transaction' - order_line_type = 'Invoice Line' - order_cell_type = 'Invoice Cell' - trade_condition_type = 'Purchase Trade Condition' - supply_type = 'Purchase Supply' - supply_line_type = 'Purchase Supply Line' - - -class TestApplyTradeConditionSaleOrder( - TestApplyTradeCondition, TestWithSaleOrder): - pass -class TestApplyTradeConditionPurchaseOrder( - TestApplyTradeCondition, TestWithPurchaseOrder): - pass - -class TestTradeConditionSupplyLineSaleOrder( - TestTradeConditionSupplyLine, TestWithSaleOrder): - pass -class TestTradeConditionSupplyLinePurchaseOrder( - TestTradeConditionSupplyLine, TestWithPurchaseOrder): - pass -class TestTradeConditionSupplyLineSaleInvoice( - TestTradeConditionSupplyLine, TestWithSaleInvoice): - pass -class TestTradeConditionSupplyLinePurchaseInvoice( - TestTradeConditionSupplyLine, TestWithPurchaseInvoice): - pass - -class TestEffectiveSaleTradeCondition( - TestEffectiveTradeCondition, - TestWithSaleOrder): - pass -class TestEffectivePurchaseTradeCondition( - TestEffectiveTradeCondition, - TestWithPurchaseOrder): - pass - -def test_suite(): - suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(TestApplyTradeConditionSaleOrder)) - suite.addTest(unittest.makeSuite(TestApplyTradeConditionPurchaseOrder)) - suite.addTest(unittest.makeSuite(TestTradeConditionSupplyLineSaleOrder)) - suite.addTest(unittest.makeSuite(TestTradeConditionSupplyLinePurchaseOrder)) - suite.addTest(unittest.makeSuite(TestTradeConditionSupplyLineSaleInvoice)) - suite.addTest(unittest.makeSuite(TestTradeConditionSupplyLinePurchaseInvoice)) - suite.addTest(unittest.makeSuite(TestEffectiveSaleTradeCondition)) - suite.addTest(unittest.makeSuite(TestEffectivePurchaseTradeCondition)) - return suite - -- 2.30.9 From 2138aee56064f36e040b0f4640d74bc422f7e852 Mon Sep 17 00:00:00 2001 From: Julien Muchembled <jm@nexedi.com> Date: Wed, 16 May 2012 15:51:23 +0200 Subject: [PATCH 04/10] Remove references to legacy simulation --- .../SimulationMovement_testPaymentRule.xml | 3 +- .../SaleInvoice_postGeneration.xml | 6 ---- .../SaleInvoice_selectInvoiceMovement.xml | 2 +- .../portal_types/Delivery%20Builder.xml | 2 +- ...kinsTool_getDuplicateSelectionNameDict.xml | 4 --- .../InvoiceTransaction_postGeneration.xml | 20 ------------- .../InvoiceTransaction_selectDelivery.xml | 2 +- ...eTransaction_selectPackingListMovement.xml | 2 +- ...seInvoice_selectTradeModelMovementList.xml | 2 +- ...eTransaction_selectPackingListMovement.xml | 2 +- ...leInvoice_selectTradeModelMovementList.xml | 2 +- .../PaySheetTransaction_selectMovement.xml | 3 +- ...ceTransaction_selectTaskReportMovement.xml | 3 +- .../erp5_project/Task_selectMovement.xml | 14 ++------- .../InternalOrder_selectMovement.xml | 15 ++-------- .../PurchaseOrder_selectMovement.xml | 15 ++-------- .../erp5_trade/SaleOrder_selectMovement.xml | 14 ++------- product/ERP5/Extensions/CheckPortalTypes.py | 15 ---------- product/ERP5/MovementGroup.py | 29 ------------------- product/ERP5/mixin/composition.py | 9 ------ product/ERP5/tests/testAccountingRules.py | 2 -- product/ERP5/tests/testERP5Interfaces.py | 6 ---- tests/__init__.py | 2 +- 23 files changed, 23 insertions(+), 151 deletions(-) diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SimulationMovement_testPaymentRule.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SimulationMovement_testPaymentRule.xml index bc248b9816..b04de4366d 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SimulationMovement_testPaymentRule.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SimulationMovement_testPaymentRule.xml @@ -57,8 +57,7 @@ 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 - \'Invoice Transaction Rule\'):\n +if parent_rule.getPortalType() != \'Invoice Transaction Simulation Rule\':\n return False\n \n receivable_account_type_list = (\'asset/receivable\',)\n diff --git a/bt5/erp5_advanced_invoicing/SkinTemplateItem/portal_skins/erp5_advanced_invoicing/SaleInvoice_postGeneration.xml b/bt5/erp5_advanced_invoicing/SkinTemplateItem/portal_skins/erp5_advanced_invoicing/SaleInvoice_postGeneration.xml index 670fb884d0..4decaee925 100644 --- a/bt5/erp5_advanced_invoicing/SkinTemplateItem/portal_skins/erp5_advanced_invoicing/SaleInvoice_postGeneration.xml +++ b/bt5/erp5_advanced_invoicing/SkinTemplateItem/portal_skins/erp5_advanced_invoicing/SaleInvoice_postGeneration.xml @@ -74,12 +74,6 @@ invoice = context\n \n related_packing_list = invoice.getDefaultCausalityValue()\n \n -# copy trade condition:\n -if not context.getSpecialise() and context.portal_skins.hasObject(\'erp5_simulation_legacy\'):\n - related_order = related_packing_list.getDefaultCausalityValue()\n - if related_order is not None:\n - context.edit(specialise=related_order.getSpecialise())\n -\n # copy title, if not updating a new delivery\n if not invoice.hasTitle() and related_packing_list.hasTitle():\n invoice.setTitle(related_packing_list.getTitle())\n diff --git a/bt5/erp5_advanced_invoicing/SkinTemplateItem/portal_skins/erp5_advanced_invoicing/SaleInvoice_selectInvoiceMovement.xml b/bt5/erp5_advanced_invoicing/SkinTemplateItem/portal_skins/erp5_advanced_invoicing/SaleInvoice_selectInvoiceMovement.xml index 6b08d467ab..47b7d7807c 100644 --- a/bt5/erp5_advanced_invoicing/SkinTemplateItem/portal_skins/erp5_advanced_invoicing/SaleInvoice_selectInvoiceMovement.xml +++ b/bt5/erp5_advanced_invoicing/SkinTemplateItem/portal_skins/erp5_advanced_invoicing/SaleInvoice_selectInvoiceMovement.xml @@ -50,7 +50,7 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>kw[\'parent_specialise_portal_type\'] = \'Invoice Transaction Rule\', \'Invoice Transaction Simulation Rule\'\n + <value> <string>kw[\'parent_specialise_portal_type\'] = \'Invoice Transaction Simulation Rule\'\n kw[\'explanation_portal_type\'] = \'Sale Order\', \'Sale Invoice\', \'Sale Packing List\'\n kw[\'grand_parent_simulation_state\'] = \'started\'\n \n diff --git a/bt5/erp5_base/PortalTypeTemplateItem/portal_types/Delivery%20Builder.xml b/bt5/erp5_base/PortalTypeTemplateItem/portal_types/Delivery%20Builder.xml index a7c0537799..915b2a5c60 100644 --- a/bt5/erp5_base/PortalTypeTemplateItem/portal_types/Delivery%20Builder.xml +++ b/bt5/erp5_base/PortalTypeTemplateItem/portal_types/Delivery%20Builder.xml @@ -39,7 +39,7 @@ </item> <item> <key> <string>description</string> </key> - <value> <string>XXX Deprecated. It must be moved to erp5_simulation_legacy BT. 2 new portal types will replace it: Generated Delivery Builder and Simulated Delivery Builder, which will be in erp5_simulation BT.\n + <value> <string>XXX Deprecated. It must be deleted. 2 new portal types replace it: Generated Delivery Builder and Simulated Delivery Builder\n \n Delivery Builder objects allow to gather multiple Simulation Movements into\n a single Delivery. The initial quantity property of the Delivery Line is\n diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getDuplicateSelectionNameDict.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getDuplicateSelectionNameDict.xml index 2098c41d9d..191090a228 100644 --- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getDuplicateSelectionNameDict.xml +++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getDuplicateSelectionNameDict.xml @@ -60,7 +60,6 @@ skins_tool = context.portal_skins\n selection_name_dict = {}\n \n ok_to_share_selection_form_list = [\'Resource_viewInventory\', \'Resource_viewMovementHistory\']\n -legacy_skin_folders = [\'erp5_simulation_legacy\']\n \n for field_path, field in skins_tool.ZopeFind(\n skins_tool, obj_metatypes=[\'ProxyField\', \'ListBox\'], search_sub=1):\n @@ -85,9 +84,6 @@ for field_path, field in skins_tool.ZopeFind(\n if selection_name == \'\':\n continue\n skin_folder, field_path = field_path.split(\'/\', 1)\n - if skin_folder in legacy_skin_folders:\n - # we don\'t care about selection duplication in legacy fields\n - continue\n field_path_map = selection_name_dict.setdefault(selection_name, {})\n field_path_map.setdefault(field_path, []).append(skin_folder)\n \n diff --git a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_postGeneration.xml b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_postGeneration.xml index 5d89978cdf..acf0dab929 100644 --- a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_postGeneration.xml +++ b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_postGeneration.xml @@ -95,26 +95,6 @@ if not invoice.contentValues(portal_type=\'Payment Condition\'):\n clipboard = related_order.manage_copyObjects(ids=payment_condition_copy_id_list)\n invoice.manage_pasteObjects(clipboard)\n \n -if related_order is not None and context.portal_skins.hasObject(\'erp5_simulation_legacy\'):\n - # copy trade condition:\n - if not context.getSpecialise():\n - context.edit(specialise=related_order.getSpecialise())\n - \n - # copy order\'s trade model lines\n - invoice_trade_model_line_reference_list = [document.getReference() \\\n - for document in context.contentValues(portal_type=\'Trade Model Line\')]\n - order_trade_model_line_copy_id_list = []\n - for order_trade_model_line in related_order.contentValues(\n - portal_type=\'Trade Model Line\'):\n - if order_trade_model_line.getReference() not in \\\n - invoice_trade_model_line_reference_list:\n - order_trade_model_line_copy_id_list.append(order_trade_model_line.getId())\n - \n - if order_trade_model_line_copy_id_list:\n - clipboard = related_order.manage_copyObjects(\n - ids=order_trade_model_line_copy_id_list)\n - context.manage_pasteObjects(clipboard)\n - \n # copy title, if not updating a new delivery\n if not invoice.hasTitle() and related_packing_list is not None and \\\n related_packing_list.hasTitle():\n 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 1cb8de89f8..71cdf63e0e 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 @@ -62,7 +62,7 @@ for movement in movement_list:\n line = None\n \n # case of trade model movement\n - if ar.getParentValue().getParentValue().getSpecialiseValue().getPortalType() in (\'Trade Model Rule\', \'Trade Model Simulation Rule\'):\n + if ar.getParentValue().getParentValue().getSpecialiseValue().getPortalType() == \'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/PurchaseInvoiceTransaction_selectPackingListMovement.xml b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/PurchaseInvoiceTransaction_selectPackingListMovement.xml index 753cd179f1..25c917905c 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 @@ -50,7 +50,7 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>kw[\'parent_specialise_portal_type\'] = \'Invoicing Rule\', \'Invoice Simulation Rule\'\n + <value> <string>kw[\'parent_specialise_portal_type\'] = \'Invoice Simulation Rule\'\n kw[\'explanation_portal_type\'] = \'Purchase Order\', \'Purchase Packing List\', \'Returned Purchase Packing List\'\n kw[\'grand_parent_simulation_state\'] = \'started\', \'stopped\', \'delivered\'\n \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 2c58b89b05..dcd8c39d11 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 @@ -50,7 +50,7 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>kw[\'parent_specialise_portal_type\'] = \'Trade Model Rule\', \'Trade Model Simulation Rule\'\n + <value> <string>kw[\'parent_specialise_portal_type\'] = \'Trade Model Simulation Rule\'\n kw[\'explanation_portal_type\'] = (\'Purchase Order\', \'Purchase Packing List\', \'Returned Purchase Packing List\',\n \'Purchase Invoice Transaction\', \'Purchase Invoice\')\n kw[\'grand_parent_simulation_state\'] = \'started\', \'stopped\', \'delivered\', \'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 2066e8d857..258e68a608 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 @@ -50,7 +50,7 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>kw[\'parent_specialise_portal_type\'] = \'Invoicing Rule\', \'Invoice Simulation Rule\'\n + <value> <string>kw[\'parent_specialise_portal_type\'] = \'Invoice Simulation Rule\'\n kw[\'explanation_portal_type\'] = \'Sale Order\', \'Sale Packing List\', \'Returned Sale Packing List\'\n kw[\'grand_parent_simulation_state\'] = \'started\', \'stopped\', \'delivered\'\n \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 28f8fc8223..2a6ce254cf 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 @@ -50,7 +50,7 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>kw[\'parent_specialise_portal_type\'] = \'Trade Model Rule\', \'Trade Model Simulation Rule\'\n + <value> <string>kw[\'parent_specialise_portal_type\'] = \'Trade Model Simulation Rule\'\n kw[\'explanation_portal_type\'] = (\'Sale Order\', \'Sale Packing List\', \'Returned Sale Packing List\',\n \'Sale Invoice Transaction\', \'Sale Invoice\')\n kw[\'grand_parent_simulation_state\'] = \'started\', \'stopped\', \'delivered\', \'confirmed\'\n diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_selectMovement.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_selectMovement.xml index 0d1bb2b83c..965c172c23 100644 --- a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_selectMovement.xml +++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_selectMovement.xml @@ -50,8 +50,7 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>kw[\'parent_specialise_portal_type\'] = (\'Invoice Transaction Rule\',\n - \'Invoice Transaction Simulation Rule\')\n + <value> <string>kw[\'parent_specialise_portal_type\'] = \'Invoice Transaction Simulation Rule\'\n kw[\'explanation_portal_type\'] = \'Pay Sheet Transaction\'\n kw[\'grand_parent_simulation_state\'] = \'confirmed\', \'started\'\n \n diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/SaleInvoiceTransaction_selectTaskReportMovement.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/SaleInvoiceTransaction_selectTaskReportMovement.xml index 4a24177295..83f2a8c863 100644 --- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/SaleInvoiceTransaction_selectTaskReportMovement.xml +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/SaleInvoiceTransaction_selectTaskReportMovement.xml @@ -50,8 +50,7 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>kw[\'parent_specialise_portal_type\'] = (\'Invoicing Rule\',\n - \'Invoice Simulation Rule\')\n + <value> <string>kw[\'parent_specialise_portal_type\'] = \'Invoice Simulation Rule\'\n kw[\'explanation_portal_type\'] = \'Task\', \'Task Report\'\n kw[\'grand_parent_simulation_state\'] = \'started\', \'stopped\', \'delivered\'\n \n diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Task_selectMovement.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Task_selectMovement.xml index 39a7282838..24cc9528e3 100644 --- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Task_selectMovement.xml +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Task_selectMovement.xml @@ -50,17 +50,9 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>from Products.ZSQLCatalog.SQLCatalog import Query, ComplexQuery\n -\n -kw[\'query\'] = ComplexQuery(\n - Query(portal_type=\'Simulation Movement\', explanation_portal_type=\'Task\'),\n - ComplexQuery(\n - Query(parent_specialise_portal_type=[\'Order Rule\', \'Delivery Rule\', \'Delivery Root Simulation Rule\'],\n - simulation_state=\'confirmed\'),\n - Query(parent_specialise_portal_type=\'Delivery Simulation Rule\',\n - grand_parent_simulation_state=\'confirmed\'),\n - operator=\'or\'),\n - operator=\'and\')\n + <value> <string>kw[\'explanation_portal_type\'] = \'Task\'\n +kw[\'parent_specialise_portal_type\'] = \'Delivery Simulation Rule\'\n +kw[\'grand_parent_simulation_state\'] = \'confirmed\'\n \n kw.update(context.portal_catalog.buildSQLQuery(**kw))\n return context.Order_zSelectMovement(src__=src__, **kw)\n diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalOrder_selectMovement.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalOrder_selectMovement.xml index c8d61d13c6..debda45e43 100644 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalOrder_selectMovement.xml +++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalOrder_selectMovement.xml @@ -50,20 +50,11 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>from Products.ZSQLCatalog.SQLCatalog import Query, ComplexQuery\n -\n -kw[\'query\'] = ComplexQuery(\n - Query(portal_type=\'Simulation Movement\', explanation_portal_type=\'Internal Order\'),\n - ComplexQuery(\n - Query(parent_specialise_portal_type=[\'Order Rule\', \'Delivery Rule\', \'Delivery Root Simulation Rule\'],\n - simulation_state=\'confirmed\'),\n - Query(parent_specialise_portal_type=\'Delivery Simulation Rule\',\n - grand_parent_simulation_state=\'confirmed\'),\n - operator=\'or\'),\n - operator=\'and\')\n + <value> <string>kw[\'explanation_portal_type\'] = \'Internal Order\'\n +kw[\'parent_specialise_portal_type\'] = \'Delivery Simulation Rule\'\n +kw[\'grand_parent_simulation_state\'] = \'confirmed\'\n \n kw.update(context.portal_catalog.buildSQLQuery(**kw))\n -\n return context.Order_zSelectMovement(src__=src__, **kw)\n </string> </value> </item> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchaseOrder_selectMovement.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchaseOrder_selectMovement.xml index b96d52f062..e5e78de9bd 100644 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchaseOrder_selectMovement.xml +++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchaseOrder_selectMovement.xml @@ -50,20 +50,11 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>from Products.ZSQLCatalog.SQLCatalog import Query, ComplexQuery\n -\n -kw[\'query\'] = ComplexQuery(\n - Query(portal_type=\'Simulation Movement\', explanation_portal_type=\'Purchase Order\'),\n - ComplexQuery(\n - Query(parent_specialise_portal_type=[\'Order Rule\', \'Delivery Rule\', \'Delivery Root Simulation Rule\'],\n - simulation_state=\'confirmed\'),\n - Query(parent_specialise_portal_type=\'Delivery Simulation Rule\',\n - grand_parent_simulation_state=\'confirmed\'),\n - operator=\'or\'),\n - operator=\'and\')\n + <value> <string>kw[\'explanation_portal_type\'] = \'Purchase Order\'\n +kw[\'parent_specialise_portal_type\'] = \'Delivery Simulation Rule\'\n +kw[\'grand_parent_simulation_state\'] = \'confirmed\'\n \n kw.update(context.portal_catalog.buildSQLQuery(**kw))\n -\n return context.Order_zSelectMovement(src__=src__, **kw)\n </string> </value> </item> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_selectMovement.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_selectMovement.xml index f5d63963f1..e502d7b53f 100644 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_selectMovement.xml +++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_selectMovement.xml @@ -50,17 +50,9 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>from Products.ZSQLCatalog.SQLCatalog import Query, ComplexQuery\n -\n -kw[\'query\'] = ComplexQuery(\n - Query(portal_type=\'Simulation Movement\', explanation_portal_type=\'Sale Order\'),\n - ComplexQuery(\n - Query(parent_specialise_portal_type=[\'Order Rule\', \'Delivery Rule\', \'Delivery Root Simulation Rule\'],\n - simulation_state=\'confirmed\'),\n - Query(parent_specialise_portal_type=\'Delivery Simulation Rule\',\n - grand_parent_simulation_state=\'confirmed\'),\n - operator=\'or\'),\n - operator=\'and\')\n + <value> <string>kw[\'explanation_portal_type\'] = \'Sale Order\'\n +kw[\'parent_specialise_portal_type\'] = \'Delivery Simulation Rule\'\n +kw[\'grand_parent_simulation_state\'] = \'confirmed\'\n \n kw.update(context.portal_catalog.buildSQLQuery(**kw))\n return context.Order_zSelectMovement(src__=src__, **kw)\n diff --git a/product/ERP5/Extensions/CheckPortalTypes.py b/product/ERP5/Extensions/CheckPortalTypes.py index 2385b17f49..ce72f843a9 100644 --- a/product/ERP5/Extensions/CheckPortalTypes.py +++ b/product/ERP5/Extensions/CheckPortalTypes.py @@ -122,18 +122,3 @@ def updateCareerValidationState(self): line['validation_state'] = line.pop('state') career.workflow_history._p_changed = 1 career.reindexObject() - -def updateInvoiceTransactionRule(self): - """Invoice Transaction Rule now uses ID instead of relative urls for cell - coordinates (r20475) - """ - assert self.getPortalType() == 'Invoice Transaction Rule' - movement_index = aq_base(self).index['movement'] - for index, coordinate_dict in movement_index.items(): - fixed_coordinate_list = [] - for coord, index in coordinate_dict.items(): - new_coord = coord.split('/')[-1] - coordinate_dict[new_coord] = coordinate_dict.pop(coord) - # ( coordinate_dict is a persistent mapping, so no need to mark the - # object as _p_changed ) - diff --git a/product/ERP5/MovementGroup.py b/product/ERP5/MovementGroup.py index 49b6a6efde..6f8e1e7e93 100644 --- a/product/ERP5/MovementGroup.py +++ b/product/ERP5/MovementGroup.py @@ -600,35 +600,6 @@ class IntIndexMovementGroup(RootMovementGroup): allow_class(IntIndexMovementGroup) -class TransformationAppliedRuleCausalityMovementGroup(RootMovementGroup): - """ - Groups movement that comes from simulation movement that shares the - same Production Applied Rule. - """ - def __init__(self, movement, **kw): - RootMovementGroup.__init__(self, movement=movement, **kw) - explanation_relative_url = self._getExplanationRelativeUrl(movement) - self.explanation = explanation_relative_url - explanation_value = movement.getPortalObject().restrictedTraverse( - explanation_relative_url) - self.setGroupEdit(causality_value=explanation_value) - - def _getExplanationRelativeUrl(self, movement): - """ Get the order value for a movement """ - transformation_applied_rule = movement.getParentValue() - transformation_rule = transformation_applied_rule.getSpecialiseValue() - if transformation_rule.getPortalType() != 'Transformation Rule': - raise MovementGroupError, 'movement! %s' % movement.getPath() - # XXX Dirty hardcoded - production_movement = transformation_applied_rule.pr - production_packing_list = production_movement.getExplanationValue() - return production_packing_list.getRelativeUrl() - - def test(self,movement): - return self._getExplanationRelativeUrl(movement) == self.explanation - -allow_class(TransformationAppliedRuleCausalityMovementGroup) - class ParentExplanationMovementGroup(RootMovementGroup): pass class ParentExplanationCausalityMovementGroup(ParentExplanationMovementGroup): diff --git a/product/ERP5/mixin/composition.py b/product/ERP5/mixin/composition.py index 904b806750..dab087d632 100644 --- a/product/ERP5/mixin/composition.py +++ b/product/ERP5/mixin/composition.py @@ -168,9 +168,6 @@ class asComposedDocument(object): object_list) return sortValueList(object_list, sort_on, sort_order, **kw) -# XXX Legacy simulation allows model lines on deliveries. -# Enabled if erp5_simulation_legacy BT is installed. -_LEGACY_SIMULATION = False class CompositionMixin: """ @@ -212,12 +209,6 @@ class CompositionMixin: # we don't use getSpecialiseValueList to avoid acquisition on the parent model_list = effective_list[effective_index].getValueList('specialise', portal_type=specialise_type_list or ()) - elif _LEGACY_SIMULATION: - parent = self - while isinstance(parent, CompositionMixin): - effective_list.append(parent) - parent = parent.getParentValue() - effective_index += len(effective_list) effective_index += 1 for model in model_list: model = _getEffectiveModel(model, start_date, stop_date) diff --git a/product/ERP5/tests/testAccountingRules.py b/product/ERP5/tests/testAccountingRules.py index 697418f387..b75a8ae2e2 100644 --- a/product/ERP5/tests/testAccountingRules.py +++ b/product/ERP5/tests/testAccountingRules.py @@ -84,8 +84,6 @@ class TestAccountingRulesMixin: applied_rule_portal_type = "Applied Rule" simulation_movement_portal_type = "Simulation Movement" accounting_rule_cell_portal_type = "Accounting Rule Cell" - invoice_transaction_rule_portal_type \ - = "Invoice Transaction Rule" payment_transaction_portal_type = "Payment Transaction" payment_transaction_line_definition_list = ( diff --git a/product/ERP5/tests/testERP5Interfaces.py b/product/ERP5/tests/testERP5Interfaces.py index db0e19b005..30a089f1c3 100644 --- a/product/ERP5/tests/testERP5Interfaces.py +++ b/product/ERP5/tests/testERP5Interfaces.py @@ -43,12 +43,8 @@ implements_tuple_list = [ (('Products.ERP5.Document.TradeModelLine','TradeModelLine'), 'IAmountGenerator'), (('Products.ERP5.Document.TradeModelLine','TradeModelLine'), 'IVariated'), (('Products.ERP5.Document.TradeModelPath','TradeModelPath'), 'IArrowBase'), - (('Products.ERP5Legacy.Document.TradeModelRule','TradeModelRule'), 'IPredicate'), - (('Products.ERP5Legacy.Document.TradeModelRule','TradeModelRule'), 'IRule'), (('Products.ERP5.Document.Transformation','Transformation'), 'IAmountGenerator'), (('Products.ERP5.Document.Transformation','Transformation'), 'IVariated'), - (('Products.ERP5Legacy.Document.TransformationRule','TransformationRule'), 'IPredicate'), - (('Products.ERP5Legacy.Document.TransformationRule','TransformationRule'), 'IRule'), (('Products.ERP5.Document.TransformedResource','TransformedResource'), 'IVariated'), #IDocument (('Products.ERP5.Document.Document', 'Document'), 'IDocument'), @@ -88,8 +84,6 @@ for failing_method in [ 'test_Products.ERP5.Document.BusinessLink_BusinessLink_implements_ICategoryAccessProvider', 'test_Products.ERP5.Document.TradeModelCell_TradeModelCell_implements_IVariated', 'test_Products.ERP5.Document.TradeModelLine_TradeModelLine_implements_IVariated', - 'test_Products.ERP5Legacy.Document.TradeModelRule_TradeModelRule_implements_IRule', - 'test_Products.ERP5Legacy.Document.TransformationRule_TransformationRule_implements_IRule', 'test_Products.ERP5.Document.Transformation_Transformation_implements_IVariated', 'test_Products.ERP5.Document.TransformedResource_TransformedResource_implements_IVariated', ]: diff --git a/tests/__init__.py b/tests/__init__.py index 8637beadf3..a85a900b21 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -6,7 +6,7 @@ import sys class _ERP5(ERP5TypeTestSuite): realtime_output = False enabled_product_list = ('CMFActivity', 'CMFCategory', 'ERP5', 'ERP5Catalog', - 'ERP5eGovSecurity', 'ERP5Form', 'ERP5Legacy', + 'ERP5eGovSecurity', 'ERP5Form', 'ERP5OOo', 'ERP5Security', 'ERP5SyncML', 'ERP5Type', 'ERP5VCS', 'ERP5Wizard', 'Formulator', 'ERP5Workflow', 'ERP5Configurator','HBTreeFolder2', 'MailTemplates', -- 2.30.9 From 6f24ae5d131377fca24ec359afe4cc3e578f203d Mon Sep 17 00:00:00 2001 From: Julien Muchembled <jm@nexedi.com> Date: Mon, 28 May 2012 16:23:17 +0200 Subject: [PATCH 05/10] Remove legacy simulation code --- .../portal_types/Invoice%20Rule/view.xml | 79 - .../portal_types/Payment%20Rule/view.xml | 79 - .../Payment%20Simulation%20Rule/cell_view.xml | 79 - ...nting_transaction_root_simulation_rule.xml | 136 - .../default_invoice_root_simulation_rule.xml | 145 - .../default_category_tester.xml | 105 - .../default_property_tester.xml | 112 - .../default_quantity_tester.xml | 91 - .../portal_rules/default_invoice_rule.xml | 145 - .../default_category_tester.xml | 105 - .../default_property_tester.xml | 112 - .../default_quantity_tester.xml | 91 - .../portal_rules/default_payment_rule.xml | 149 - .../default_payment_simulation_rule.xml | 192 - .../default_category_tester.xml | 32 - .../default_property_tester.xml | 29 - .../default_quantity_tester.xml | 38 - .../mirror_mapping.xml | 64 - .../allowed_content_types.xml | 36 - .../portal_types/Invoice%20Rule.xml | 64 - .../portal_types/Payment%20Rule.xml | 64 - .../workflow_chain_type.xml | 10 - .../erp5_accounting_simulation_legacy.xml | 47 - ...AccountingTransaction_getRuleReference.xml | 67 - .../InvoiceRule_asPredicate.xml | 67 - .../InvoiceTransactionRule_view.xml | 152 - .../InvoiceTransactionRule_view/listbox.xml | 190 - ...box_membership_criterion_category_list.xml | 271 -- .../InvoiceTransactionRule_view/matrixbox.xml | 338 -- .../matrixbox_title.xml | 330 -- .../my_reference.xml | 90 - .../my_start_date_range_max.xml | 90 - .../my_start_date_range_min.xml | 90 - .../my_test_method_id.xml | 90 - .../InvoiceTransactionRule_view/my_title.xml | 90 - .../my_translated_validation_state_title.xml | 96 - .../my_version.xml | 90 - .../PaymentRule_asPredicate.xml | 67 - .../portal_workflow/accounting_workflow.xml | 66 - .../accounting_workflow/scripts.xml | 28 - .../scripts/Delivery_Build.xml | 162 - .../scripts/Delivery_updateSimulation.xml | 67 - .../scripts/buildTradeModelLineList.xml | 115 - .../scripts/guessGroupingReference.xml | 75 - .../scripts/resetGroupingReference.xml | 75 - .../scripts/setReferences.xml | 138 - .../scripts/validateTransaction.xml | 208 - .../scripts/validateTransactionLines.xml | 185 - .../accounting_workflow/states.xml | 28 - .../states/auto_planned.xml | 43 - .../accounting_workflow/states/cancelled.xml | 107 - .../accounting_workflow/states/confirmed.xml | 123 - .../accounting_workflow/states/deleted.xml | 98 - .../accounting_workflow/states/delivered.xml | 107 - .../accounting_workflow/states/draft.xml | 133 - .../accounting_workflow/states/planned.xml | 125 - .../accounting_workflow/states/started.xml | 118 - .../accounting_workflow/states/stopped.xml | 114 - .../accounting_workflow/transitions.xml | 28 - .../transitions/auto_plan.xml | 58 - .../transitions/cancel.xml | 58 - .../transitions/cancel_accounting_action.xml | 76 - .../transitions/cancel_action.xml | 77 - .../transitions/confirm.xml | 58 - .../transitions/confirm_action.xml | 77 - .../transitions/delete.xml | 58 - .../transitions/delete_action.xml | 78 - .../transitions/deliver.xml | 58 - .../transitions/deliver_action.xml | 94 - .../accounting_workflow/transitions/plan.xml | 58 - .../transitions/plan_action.xml | 78 - .../transitions/restart.xml | 58 - .../transitions/restart_action.xml | 76 - .../accounting_workflow/transitions/start.xml | 58 - .../transitions/start_action.xml | 96 - .../accounting_workflow/transitions/stop.xml | 58 - .../transitions/stop_action.xml | 95 - .../accounting_workflow/variables.xml | 28 - .../accounting_workflow/variables/action.xml | 67 - .../accounting_workflow/variables/actor.xml | 67 - .../variables/causality_state.xml | 48 - .../accounting_workflow/variables/comment.xml | 67 - .../variables/error_message.xml | 48 - .../accounting_workflow/variables/history.xml | 67 - .../variables/portal_type.xml | 48 - .../accounting_workflow/variables/time.xml | 67 - .../accounting_workflow/worklists.xml | 28 - .../worklists/1_draft_transaction_list.xml | 89 - .../2_planned_confirmed_transaction_list.xml | 90 - .../worklists/4_started_transaction_list.xml | 89 - .../worklists/5_stopped_transaction_list.xml | 89 - .../99a_diverged_sale_invoice_list.xml | 111 - .../99b_diverged_purchase_invoice_list.xml | 111 - .../bt/copyright_list | 1 - .../bt/dependency_list | 2 - .../bt/license | 1 - .../bt/revision | 1 - .../bt/template_action_path_list | 3 - .../bt/template_format_version | 1 - .../bt/template_path_list | 10 - ...late_portal_type_allowed_content_type_list | 22 - .../bt/template_portal_type_id_list | 2 - .../template_portal_type_workflow_chain_list | 4 - .../bt/template_skin_id_list | 1 - .../bt/template_workflow_id_list | 1 - .../bt/title | 1 - .../bt/version | 1 - .../divergence.xml | 79 - .../Invoice%20Transaction%20Rule/view.xml | 79 - .../cell_view.xml | 79 - .../portal_types/Invoicing%20Rule/view.xml | 79 - .../Trade%20Model%20Rule/view.xml | 79 - .../payment_transaction_builder.xml | 143 - .../category_movement_group_on_cell.xml | 52 - .../category_movement_group_on_delivery.xml | 56 - .../category_movement_group_on_line.xml | 54 - ...assignement_movement_group_on_delivery.xml | 42 - .../mirror_movement_group_on_delivery.xml | 48 - .../property_movement_group_on_delivery.xml | 52 - .../purchase_invoice_builder.xml | 184 - .../base_variant_movement_group_in_line.xml | 42 - .../category_movement_group_on_delivery.xml | 65 - .../category_movement_group_on_line.xml | 59 - .../causality_movement_group_on_delivery.xml | 42 - ...assignement_movement_group_on_delivery.xml | 42 - .../property_movement_group_on_delivery.xml | 52 - .../property_movement_group_on_line.xml | 53 - .../variant_movement_group_on_cell.xml | 43 - .../purchase_invoice_transaction_builder.xml | 177 - .../category_movement_group_on_cell.xml | 51 - .../category_movement_group_on_delivery.xml | 54 - .../category_movement_group_on_line.xml | 58 - .../causality_movement_group_on_delivery.xml | 40 - .../property_movement_group_on_delivery.xml | 52 - .../property_movement_group_on_line.xml | 52 - ...nvoice_transaction_trade_model_builder.xml | 175 - .../base_variant_movement_group_in_line.xml | 42 - .../category_movement_group_on_delivery.xml | 65 - .../category_movement_group_on_line.xml | 59 - .../causality_movement_group_on_delivery.xml | 42 - .../property_movement_group_on_delivery.xml | 52 - .../property_movement_group_on_line.xml | 53 - .../variant_movement_group_on_cell.xml | 43 - .../sale_invoice_builder.xml | 184 - .../base_variant_movement_group_in_line.xml | 42 - .../category_movement_group_on_delivery.xml | 65 - .../category_movement_group_on_line.xml | 59 - .../causality_movement_group_on_delivery.xml | 42 - ...assignement_movement_group_on_delivery.xml | 42 - .../property_movement_group_on_delivery.xml | 52 - .../property_movement_group_on_line.xml | 53 - .../variant_movement_group_on_cell.xml | 43 - .../sale_invoice_transaction_builder.xml | 177 - .../category_movement_group_on_cell.xml | 51 - .../category_movement_group_on_delivery.xml | 54 - .../category_movement_group_on_line.xml | 58 - .../causality_movement_group_on_delivery.xml | 40 - .../property_movement_group_on_delivery.xml | 52 - .../property_movement_group_on_line.xml | 52 - ...nvoice_transaction_trade_model_builder.xml | 175 - .../base_variant_movement_group_in_line.xml | 42 - .../category_movement_group_on_delivery.xml | 65 - .../category_movement_group_on_line.xml | 59 - .../causality_movement_group_on_delivery.xml | 42 - .../property_movement_group_on_delivery.xml | 52 - .../property_movement_group_on_line.xml | 53 - .../variant_movement_group_on_cell.xml | 43 - .../default_invoice_simulation_rule.xml | 179 - .../default_category_tester.xml | 106 - .../default_property_tester.xml | 113 - .../default_quantity_tester.xml | 91 - .../default_invoice_transaction_rule.xml | 309 -- ...lt_invoice_transaction_simulation_rule.xml | 309 -- .../portal_rules/default_invoicing_rule.xml | 179 - .../default_category_tester.xml | 106 - .../default_property_tester.xml | 113 - .../default_quantity_tester.xml | 91 - .../portal_rules/default_trade_model_rule.xml | 183 - .../default_category_tester.xml | 52 - .../default_property_tester.xml | 40 - .../default_quantity_tester.xml | 42 - .../default_trade_model_simulation_rule.xml | 183 - .../default_category_tester.xml | 52 - .../default_property_tester.xml | 40 - .../default_quantity_tester.xml | 42 - .../allowed_content_types.xml | 45 - .../hidden_content_type_list.xml | 5 - .../Invoice%20Transaction%20Rule.xml | 68 - .../portal_types/Invoicing%20Rule.xml | 66 - .../portal_types/Trade%20Model%20Rule.xml | 121 - .../workflow_chain_type.xml | 14 - .../erp5_invoicing_simulation_legacy.xml | 47 - .../InvoiceTransactionRule_asCellRange.xml | 100 - .../InvoiceTransactionRule_asPredicate.xml | 67 - ...nsactionRule_destinationRegionHasNoVat.xml | 67 - ...ransactionRule_destinationRegionHasVat.xml | 74 - .../InvoicingRule_asPredicate.xml | 67 - ...ionMovement_testInvoiceTransactionRule.xml | 86 - ...t_testInvoiceTransactionSimulationRule.xml | 85 - .../SimulationMovement_testInvoicingRule.xml | 82 - .../SimulationMovement_testTradeModelRule.xml | 78 - .../bt/copyright_list | 1 - .../bt/dependency_list | 2 - .../bt/license | 1 - .../bt/revision | 1 - .../bt/template_action_path_list | 5 - .../bt/template_format_version | 1 - .../bt/template_path_list | 26 - ...late_portal_type_allowed_content_type_list | 29 - ...plate_portal_type_hidden_content_type_list | 1 - .../bt/template_portal_type_id_list | 3 - .../template_portal_type_workflow_chain_list | 7 - .../bt/template_skin_id_list | 1 - bt5/erp5_invoicing_simulation_legacy/bt/title | 1 - .../bt/version | 1 - .../view.xml | 79 - .../view.xml | 79 - .../view.xml | 79 - .../Production%20Order%20Rule/view.xml | 79 - .../Transformation%20Model%20Rule/view.xml | 79 - .../Transformation%20Rule/view.xml | 79 - .../view.xml | 79 - .../Transformation%20Sourcing%20Rule/view.xml | 79 - ...ction_order_model_root_simulation_rule.xml | 127 - .../default_category_tester.xml | 122 - .../default_property_tester.xml | 112 - .../default_quantity_tester.xml | 103 - .../default_production_order_model_rule.xml | 127 - .../default_category_tester.xml | 122 - .../default_property_tester.xml | 112 - .../default_quantity_tester.xml | 103 - ..._production_order_root_simulation_rule.xml | 151 - .../default_category_tester.xml | 122 - .../default_property_tester.xml | 112 - .../default_quantity_tester.xml | 103 - .../default_production_order_rule.xml | 151 - .../default_category_tester.xml | 122 - .../default_property_tester.xml | 112 - .../default_quantity_tester.xml | 103 - .../default_transformation_model_rule.xml | 156 - .../default_category_tester.xml | 122 - .../default_property_tester.xml | 112 - .../default_quantity_tester.xml | 103 - .../default_transformation_rule.xml | 143 - .../default_category_tester.xml | 122 - .../default_property_tester.xml | 112 - .../default_quantity_tester.xml | 103 - ...ult_transformation_sourcing_model_rule.xml | 156 - .../default_category_tester.xml | 122 - .../default_property_tester.xml | 112 - .../default_quantity_tester.xml | 103 - .../default_transformation_sourcing_rule.xml | 143 - .../default_category_tester.xml | 122 - .../default_property_tester.xml | 112 - .../default_quantity_tester.xml | 103 - .../allowed_content_types.xml | 60 - ...der%20Model%20Root%20Simulation%20Rule.xml | 136 - .../Production%20Order%20Model%20Rule.xml | 136 - ...ion%20Order%20Root%20Simulation%20Rule.xml | 73 - .../Production%20Order%20Rule.xml | 73 - .../Transformation%20Model%20Rule.xml | 74 - .../portal_types/Transformation%20Rule.xml | 74 - ...ansformation%20Sourcing%20Model%20Rule.xml | 66 - .../Transformation%20Sourcing%20Rule.xml | 66 - .../workflow_chain_type.xml | 34 - .../erp5_mrp_simulation_legacy.xml | 47 - .../ProductionOrderRule_asPredicate.xml | 67 - ...onMovement_testTransformationModelRule.xml | 83 - ...ulationMovement_testTransformationRule.xml | 108 - ...nt_testTransformationSourcingModelRule.xml | 84 - ...ovement_testTransformationSourcingRule.xml | 92 - .../TransformationRule_asPredicate.xml | 67 - ...TransformationSourcingRule_asPredicate.xml | 67 - .../bt/copyright_list | 1 - .../bt/dependency_list | 2 - bt5/erp5_mrp_simulation_legacy/bt/license | 1 - bt5/erp5_mrp_simulation_legacy/bt/revision | 1 - .../bt/template_action_path_list | 8 - .../bt/template_format_version | 1 - .../bt/template_path_list | 16 - ...late_portal_type_allowed_content_type_list | 40 - .../bt/template_portal_type_id_list | 8 - .../template_portal_type_workflow_chain_list | 16 - .../bt/template_skin_id_list | 1 - bt5/erp5_mrp_simulation_legacy/bt/title | 1 - bt5/erp5_mrp_simulation_legacy/bt/version | 1 - .../task_invoice_builder.xml | 180 - .../base_variant_movement_group_in_line.xml | 42 - .../category_movement_group_on_delivery.xml | 55 - .../category_movement_group_on_line.xml | 53 - .../property_movement_group_on_line.xml | 52 - .../title_movement_group_on_line.xml | 42 - .../variant_movement_group_on_cell.xml | 42 - .../portal_deliveries/task_report_builder.xml | 141 - .../base_variant_movement_group_in_line.xml | 42 - .../category_movement_group_on_delivery.xml | 59 - .../category_movement_group_on_line.xml | 53 - .../order_movement_group_on_delivery.xml | 42 - .../property_movement_group_on_delivery.xml | 52 - .../property_movement_group_on_line.xml | 51 - .../requirement_movement_group_on_line.xml | 42 - .../split_movement_group_on_line.xml | 42 - .../title_movement_group_on_line.xml | 42 - .../variant_movement_group_on_cell.xml | 42 - .../bt/copyright_list | 1 - .../bt/dependency_list | 2 - bt5/erp5_project_simulation_legacy/bt/license | 1 - .../bt/revision | 1 - .../bt/template_format_version | 1 - .../bt/template_path_list | 4 - bt5/erp5_project_simulation_legacy/bt/title | 1 - bt5/erp5_project_simulation_legacy/bt/version | 1 - .../Category%20Divergence%20Tester/view.xml | 79 - .../Composed%20Divergence%20Tester/view.xml | 81 - .../Property%20Divergence%20Tester/view.xml | 79 - .../Quantity%20Divergence%20Tester/view.xml | 79 - ...AccountingTransactionRootSimulationRule.py | 66 - .../DocumentTemplateItem/BusinessProcess.py | 267 -- .../DeliveryRootSimulationRule.py | 52 - .../DeliverySimulationRule.py | 61 - .../InvoiceRootSimulationRule.py | 52 - .../InvoiceSimulationRule.py | 44 - .../InvoiceTransactionSimulationRule.py | 47 - .../DocumentTemplateItem/OrderBuilder.py | 27 - .../OrderRootSimulationRule.py | 55 - .../PaymentSimulationRule.py | 152 - .../ProductionOrderModelRootSimulationRule.py | 53 - .../ProductionOrderRootSimulationRule.py | 53 - .../RootAppliedRuleCausalityMovementGroup.py | 53 - .../SimulatedDeliveryBuilder.py | 27 - .../SimulationLegacyPatches.py | 142 - .../TradeModelSimulationRule.py | 43 - .../allowed_content_types.xml | 7 - .../Category%20Divergence%20Tester.xml | 61 - .../Composed%20Divergence%20Tester.xml | 113 - .../Property%20Divergence%20Tester.xml | 61 - .../Quantity%20Divergence%20Tester.xml | 61 - .../workflow_chain_type.xml | 18 - .../portal_property_sheets/BusinessPath.xml | 60 - .../BusinessPath/completed_state_property.xml | 61 - .../BusinessPath/deliverable_property.xml | 53 - .../delivery_builder_category.xml | 20 - .../destination_method_id_property.xml | 53 - .../BusinessPath/end_of_category.xml | 20 - .../BusinessPath/frozen_state_property.xml | 61 - .../BusinessPath/incoterm_category.xml | 20 - .../BusinessPath/lead_time_property.xml | 57 - .../BusinessPath/order_builder_category.xml | 20 - .../source_method_id_property.xml | 53 - .../BusinessPath/trade_phase_category.xml | 20 - .../BusinessPath/wait_time_property.xml | 57 - .../DivergenceTester.xml | 60 - .../tested_property_property.xml | 57 - .../portal_skins/erp5_simulation_legacy.xml | 47 - .../BusinessPath_build.xml | 106 - ...inessPath_zSelectBuildableMovementList.xml | 130 - .../ComposedDivergenceTester_view.xml | 146 - .../ComposedDivergenceTester_view/listbox.xml | 163 - .../listbox_tested_property_list.xml | 96 - .../my_description.xml | 101 - .../my_solver_list.xml | 126 - .../my_tested_property_list.xml | 116 - .../my_title.xml | 96 - .../Delivery_viewSolveDivergenceDialog.xml | 157 - .../cell_group_listbox.xml | 555 --- .../cell_group_listbox_choice.xml | 268 -- .../delivery_group_listbox.xml | 543 --- .../delivery_group_listbox_choice.xml | 268 -- .../line_group_listbox.xml | 561 --- .../line_group_listbox_choice.xml | 268 -- .../my_comment.xml | 301 -- .../your_workflow_action.xml | 275 -- .../PropertyDivergenceTester_view.xml | 136 - .../my_description.xml | 101 - .../my_solver_list.xml | 126 - .../my_tested_property_list.xml | 116 - .../my_title.xml | 96 - .../QuantityDivergenceTester_view.xml | 138 - .../my_decimal_alignment_enabled.xml | 96 - .../my_decimal_exponent.xml | 121 - .../my_decimal_rounding_option.xml | 157 - .../my_description.xml | 101 - .../my_solver_list.xml | 126 - .../my_title.xml | 96 - .../erp5_simulation_legacy/Rule_view.xml | 160 - .../Rule_view/listbox.xml | 163 - .../listbox_tested_property_list.xml | 96 - .../Rule_view/mapped_property_listbox.xml | 128 - ...property_listbox_mapping_property_list.xml | 96 - .../Rule_view/my_description.xml | 90 - .../Rule_view/my_expandable_property_list.xml | 84 - .../Rule_view/my_matching_property_list.xml | 90 - .../Rule_view/my_reference.xml | 104 - .../Rule_view/my_start_date_range_max.xml | 90 - .../Rule_view/my_start_date_range_min.xml | 90 - .../Rule_view/my_test_method_id.xml | 96 - .../Rule_view/my_title.xml | 104 - .../Rule_view/my_trade_phase_list.xml | 122 - .../my_translated_validation_state_title.xml | 90 - .../Rule_view/my_version.xml | 104 - bt5/erp5_simulation_legacy/bt/change_log | 2 - bt5/erp5_simulation_legacy/bt/copyright_list | 1 - bt5/erp5_simulation_legacy/bt/dependency_list | 1 - bt5/erp5_simulation_legacy/bt/license | 1 - bt5/erp5_simulation_legacy/bt/revision | 1 - .../bt/template_action_path_list | 4 - .../bt/template_document_id_list | 16 - .../bt/template_format_version | 1 - ...late_portal_type_allowed_content_type_list | 3 - .../bt/template_portal_type_id_list | 4 - .../template_portal_type_workflow_chain_list | 4 - .../bt/template_property_sheet_id_list | 2 - .../bt/template_skin_id_list | 1 - bt5/erp5_simulation_legacy/bt/title | 1 - bt5/erp5_simulation_legacy/bt/version | 1 - .../portal_types/Business%20Path/profile.xml | 79 - .../portal_types/Business%20Path/view.xml | 79 - .../Business%20Path/view_advanced.xml | 79 - .../view_supply_state_list.xml | 79 - .../portal_types/Business%20State/view.xml | 79 - .../portal_types/Delivery%20Rule/view.xml | 79 - .../portal_types/Order%20Rule/view.xml | 79 - .../view_trade_model_line_list.xml | 79 - .../view_trade_model_line_list.xml | 79 - .../internal_packing_list_builder.xml | 146 - .../base_variant_movement_group_in_line.xml | 42 - .../category_movement_group_on_delivery.xml | 65 - .../category_movement_group_on_line.xml | 57 - ...lity_assignment_movement_group_on_line.xml | 42 - .../order_movement_group_on_delivery.xml | 42 - .../property_movement_group_on_delivery.xml | 52 - .../property_movement_group_on_line.xml | 53 - .../variant_movement_group_on_cell.xml | 43 - .../purchase_packing_list_builder.xml | 146 - .../base_variant_movement_group_in_line.xml | 42 - .../category_movement_group_on_delivery.xml | 65 - .../category_movement_group_on_line.xml | 57 - ...lity_assignment_movement_group_on_line.xml | 42 - .../order_movement_group_on_delivery.xml | 42 - .../property_movement_group_on_delivery.xml | 52 - .../property_movement_group_on_line.xml | 53 - .../variant_movement_group_on_cell.xml | 43 - .../sale_packing_list_builder.xml | 186 - .../base_variant_movement_group_in_line.xml | 42 - .../category_movement_group_on_delivery.xml | 65 - .../category_movement_group_on_line.xml | 61 - ...lity_assignment_movement_group_on_cell.xml | 42 - ...lity_assignment_movement_group_on_line.xml | 42 - .../order_movement_group_on_delivery.xml | 42 - .../property_movement_group_on_delivery.xml | 52 - .../property_movement_group_on_line.xml | 53 - .../variant_movement_group_on_cell.xml | 43 - .../default_delivery_root_simulation_rule.xml | 136 - .../default_category_tester.xml | 103 - .../default_property_tester.xml | 112 - .../default_quantity_tester.xml | 91 - .../portal_rules/default_delivery_rule.xml | 135 - .../default_category_tester.xml | 103 - .../default_property_tester.xml | 112 - .../default_quantity_tester.xml | 91 - .../default_delivery_simulation_rule.xml | 175 - .../default_category_tester.xml | 106 - .../default_property_tester.xml | 113 - .../default_quantity_tester.xml | 91 - .../default_order_root_simulation_rule.xml | 157 - .../default_category_tester.xml | 103 - .../default_property_tester.xml | 112 - .../default_quantity_tester.xml | 103 - .../portal_rules/default_order_rule.xml | 156 - .../default_category_tester.xml | 103 - .../default_property_tester.xml | 112 - .../default_quantity_tester.xml | 103 - .../allowed_content_types.xml | 46 - .../property_sheet_list.xml | 5 - .../portal_types/Business%20Path.xml | 119 - .../portal_types/Business%20State.xml | 115 - .../portal_types/Delivery%20Rule.xml | 64 - .../portal_types/Order%20Rule.xml | 64 - .../workflow_chain_type.xml | 10 - .../erp5_trade_simulation_legacy.xml | 47 - ..._viewTradeSimulationLegacyFieldLibrary.xml | 158 - .../my_view_mode_deliverable.xml | 96 - .../my_view_mode_delivery_builder_list.xml | 119 - .../my_view_mode_lead_time.xml | 129 - .../my_view_mode_order_builder_list.xml | 119 - .../my_view_mode_predecessor_title.xml | 131 - .../my_view_mode_successor_title.xml | 131 - .../my_view_mode_wait_time.xml | 129 - ...BusinessPath_getDefaultDestinationList.xml | 73 - .../BusinessPath_getDefaultSourceList.xml | 73 - .../BusinessPath_view.xml | 164 - .../BusinessPath_view/my_delivery_mode.xml | 90 - .../BusinessPath_view/my_description.xml | 90 - .../BusinessPath_view/my_efficiency.xml | 90 - .../BusinessPath_view/my_end_of.xml | 90 - .../BusinessPath_view/my_incoterm.xml | 90 - .../BusinessPath_view/my_int_index.xml | 90 - .../BusinessPath_view/my_lead_time.xml | 90 - .../BusinessPath_view/my_payment_mode.xml | 90 - .../BusinessPath_view/my_quantity.xml | 90 - .../BusinessPath_view/my_reference.xml | 90 - .../BusinessPath_view/my_title.xml | 90 - .../BusinessPath_view/my_wait_time.xml | 90 - .../BusinessPath_viewAdvanced.xml | 163 - .../my_completed_state_list.xml | 90 - .../my_deliverable.xml | 90 - .../my_delivery_builder_list.xml | 90 - .../my_destination_method_id.xml | 90 - .../my_frozen_state_list.xml | 90 - .../my_order_builder_list.xml | 90 - .../my_predecessor_title.xml | 90 - .../my_source_method_id.xml | 90 - .../my_successor_title.xml | 90 - .../BusinessPath_viewAdvanced/my_title.xml | 90 - .../my_trade_phase.xml | 90 - .../BusinessPath_viewProfile.xml | 147 - .../my_destination_administration_title.xml | 90 - .../my_destination_carrier_title.xml | 90 - .../my_destination_decision_title.xml | 90 - .../my_destination_payment.xml | 90 - .../my_destination_project_title.xml | 90 - .../my_destination_reference.xml | 90 - .../my_destination_section_title.xml | 90 - .../my_destination_title.xml | 90 - .../my_source_administration_title.xml | 90 - .../my_source_carrier_title.xml | 90 - .../my_source_decision_title.xml | 90 - .../my_source_payment.xml | 90 - .../my_source_project_title.xml | 90 - .../my_source_reference.xml | 90 - .../my_source_section_title.xml | 90 - .../my_source_title.xml | 90 - .../BusinessProcess_view.xml | 163 - .../BusinessProcess_view/listbox.xml | 181 - .../listbox_deliverable.xml | 116 - .../listbox_delivery_builder_title_list.xml | 90 - .../listbox_int_index.xml | 90 - .../listbox_order_builder_title_list.xml | 90 - .../BusinessProcess_view/my_description.xml | 90 - .../BusinessProcess_view/my_reference.xml | 90 - .../my_referential_date.xml | 117 - .../my_specialise_title_list.xml | 90 - .../BusinessProcess_view/my_title.xml | 90 - .../my_translated_validation_state_title.xml | 90 - .../BusinessProcess_view/my_version.xml | 90 - .../BusinessProcess_viewBusinessStates.xml | 152 - .../listbox.xml | 161 - .../listbox_int_index.xml | 90 - .../my_title.xml | 90 - .../BusinessState_view.xml | 155 - .../BusinessState_view/my_description.xml | 90 - .../BusinessState_view/my_int_index.xml | 90 - .../BusinessState_view/my_reference.xml | 90 - .../BusinessState_view/my_title.xml | 90 - .../DeliveryRule_asPredicate.xml | 67 - .../Delivery_viewTradeModelLineList.xml | 155 - .../listbox.xml | 169 - .../listbox_base_application_title_list.xml | 90 - .../listbox_base_contribution_title_list.xml | 90 - .../listbox_price.xml | 90 - .../listbox_reference.xml | 90 - .../my_title.xml | 90 - .../OrderRule_asPredicate.xml | 67 - .../portal_workflow/order_workflow.xml | 66 - .../order_workflow/scripts.xml | 28 - .../Order_appliedToRelatedMovement.xml | 69 - .../scripts/Order_buildPackingList.xml | 94 - .../scripts/Order_createOrderRule.xml | 68 - .../scripts/Order_validateData.xml | 69 - .../portal_workflow/order_workflow/states.xml | 28 - .../order_workflow/states/auto_planned.xml | 122 - .../order_workflow/states/cancelled.xml | 108 - .../order_workflow/states/confirmed.xml | 100 - .../order_workflow/states/deleted.xml | 98 - .../order_workflow/states/draft.xml | 141 - .../order_workflow/states/offered.xml | 120 - .../order_workflow/states/ordered.xml | 123 - .../order_workflow/states/planned.xml | 125 - .../order_workflow/states/rejected.xml | 106 - .../order_workflow/transitions.xml | 28 - .../transitions/accept_offer_action.xml | 77 - .../order_workflow/transitions/auto_plan.xml | 58 - .../order_workflow/transitions/cancel.xml | 58 - .../transitions/cancel_action.xml | 77 - .../order_workflow/transitions/confirm.xml | 58 - .../transitions/confirm_action.xml | 76 - .../order_workflow/transitions/delete.xml | 58 - .../transitions/delete_action.xml | 78 - .../transitions/informDeliveryList.xml | 58 - .../order_workflow/transitions/offer.xml | 58 - .../transitions/offer_action.xml | 77 - .../order_workflow/transitions/order.xml | 58 - .../transitions/order_action.xml | 77 - .../order_workflow/transitions/plan.xml | 58 - .../transitions/plan_action.xml | 77 - .../order_workflow/transitions/reject.xml | 58 - .../transitions/reject_action.xml | 77 - .../order_workflow/variables.xml | 28 - .../order_workflow/variables/action.xml | 67 - .../order_workflow/variables/actor.xml | 67 - .../order_workflow/variables/comment.xml | 67 - .../variables/error_message.xml | 48 - .../order_workflow/variables/history.xml | 67 - .../order_workflow/variables/portal_type.xml | 48 - .../order_workflow/variables/time.xml | 67 - .../order_workflow/worklists.xml | 28 - .../worklists/1_draft_purchase_order_list.xml | 98 - .../2_auto_planned_purchase_order_list.xml | 97 - .../3_planned_purchase_order_list.xml | 97 - .../4_ordered_purchase_order_list.xml | 98 - .../4b_offered_purchase_order_list.xml | 98 - .../worklists/5_draft_sale_order_list.xml | 98 - .../6_auto_planned_sale_order_list.xml | 97 - .../worklists/7_planned_sale_order_list.xml | 97 - .../worklists/8_ordered_sale_order_list.xml | 98 - .../worklists/9_offered_sale_order_list.xml | 98 - .../portal_workflow/packing_list_workflow.xml | 66 - .../packing_list_workflow/scripts.xml | 28 - .../scripts/Delivery_checkConsistency.xml | 69 - .../scripts/PackingList_updateAppliedRule.xml | 101 - .../PurchasePackingList_buildInvoice.xml | 112 - .../scripts/SalePackingList_buildInvoice.xml | 112 - .../packing_list_workflow/states.xml | 28 - .../states/cancelled.xml | 106 - .../states/confirmed.xml | 127 - .../packing_list_workflow/states/deleted.xml | 98 - .../states/delivered.xml | 108 - .../packing_list_workflow/states/draft.xml | 127 - .../packing_list_workflow/states/ready.xml | 122 - .../packing_list_workflow/states/started.xml | 122 - .../packing_list_workflow/states/stopped.xml | 114 - .../packing_list_workflow/transitions.xml | 28 - .../transitions/cancel.xml | 58 - .../transitions/cancel_action.xml | 76 - .../transitions/confirm.xml | 58 - .../transitions/confirm_action.xml | 77 - .../transitions/delete.xml | 58 - .../transitions/delete_action.xml | 78 - .../transitions/deliver.xml | 58 - .../transitions/deliver_action.xml | 95 - .../transitions/set_ready.xml | 58 - .../transitions/set_ready_action.xml | 96 - .../transitions/start.xml | 58 - .../transitions/start_action.xml | 77 - .../transitions/stop.xml | 58 - .../transitions/stop_action.xml | 96 - .../packing_list_workflow/variables.xml | 28 - .../variables/action.xml | 67 - .../packing_list_workflow/variables/actor.xml | 67 - .../variables/causality_state.xml | 48 - .../variables/comment.xml | 67 - .../variables/error_message.xml | 48 - .../variables/history.xml | 67 - .../variables/portal_type.xml | 48 - .../packing_list_workflow/variables/time.xml | 67 - .../packing_list_workflow/worklists.xml | 28 - .../1_draft_purchase_packing_list_list.xml | 97 - ...2_confirmed_purchase_packing_list_list.xml | 98 - .../3_stopped_purchase_packing_list_list.xml | 97 - .../4_draft_sale_packing_list_list.xml | 97 - .../5_confirmed_sale_packing_list_list.xml | 98 - .../6_ready_sale_packing_list_list.xml | 98 - .../7_started_sale_packing_list_list.xml | 97 - .../99a_diverged_sale_packing_list_list.xml | 97 - .../99b_diverged_purchase_packing_list.xml | 97 - .../bt/copyright_list | 1 - .../bt/dependency_list | 2 - bt5/erp5_trade_simulation_legacy/bt/license | 1 - bt5/erp5_trade_simulation_legacy/bt/revision | 1 - .../bt/template_action_path_list | 9 - .../bt/template_format_version | 1 - .../bt/template_path_list | 16 - ...late_portal_type_allowed_content_type_list | 26 - .../bt/template_portal_type_id_list | 4 - .../template_portal_type_property_sheet_list | 1 - .../template_portal_type_workflow_chain_list | 4 - .../bt/template_skin_id_list | 1 - .../bt/template_workflow_id_list | 2 - bt5/erp5_trade_simulation_legacy/bt/title | 1 - bt5/erp5_trade_simulation_legacy/bt/version | 1 - .../ERP5Legacy/Document/AccountingRuleCell.py | 65 - product/ERP5Legacy/Document/BPMBuilder.py | 794 ---- product/ERP5Legacy/Document/BusinessPath.py | 885 ----- product/ERP5Legacy/Document/BusinessState.py | 189 - .../Document/CategoryDivergenceTester.py | 127 - .../Document/ComposedDivergenceTester.py | 79 - .../ERP5Legacy/Document/DeliveryBuilder.py | 426 -- product/ERP5Legacy/Document/DeliveryRule.py | 175 - product/ERP5Legacy/Document/InvoiceRule.py | 60 - .../Document/InvoiceTransactionRule.py | 284 -- product/ERP5Legacy/Document/InvoicingRule.py | 123 - product/ERP5Legacy/Document/OpenOrderRule.py | 191 - product/ERP5Legacy/Document/OrderRule.py | 160 - product/ERP5Legacy/Document/PaymentRule.py | 98 - .../Document/ProductionOrderModelRule.py | 99 - .../Document/ProductionOrderRule.py | 110 - .../Document/PropertyDivergenceTester.py | 117 - .../Document/QuantityDivergenceTester.py | 166 - product/ERP5Legacy/Document/Rule.py | 592 --- product/ERP5Legacy/Document/SupplyRule.py | 55 - product/ERP5Legacy/Document/TaxRule.py | 99 - product/ERP5Legacy/Document/TradeModelRule.py | 91 - .../Document/TransformationModelRule.py | 396 -- .../ERP5Legacy/Document/TransformationRule.py | 305 -- .../TransformationSourcingModelRule.py | 132 - .../Document/TransformationSourcingRule.py | 250 -- product/ERP5Legacy/Document/__init__.py | 0 product/ERP5Legacy/OrderBuilder.py | 833 ---- .../ERP5Legacy/PropertySheet/BusinessPath.py | 74 - .../PropertySheet/DivergenceTester.py | 42 - product/ERP5Legacy/VERSION.txt | 1 - product/ERP5Legacy/__init__.py | 9 - product/ERP5Legacy/tests/__init__.py | 51 - .../ERP5Legacy/tests/testLegacyAccounting.py | 38 - .../tests/testLegacyAccountingReports.py | 32 - .../tests/testLegacyAccountingRules.py | 31 - product/ERP5Legacy/tests/testLegacyBPMCore.py | 1348 ------- .../tests/testLegacyConversionInSimulation.py | 827 ---- ...cyDeliveryBuilderToSupportMultipleLines.py | 28 - .../tests/testLegacyDivergenceTester.py | 370 -- .../tests/testLegacyERP5Commerce.py | 33 - product/ERP5Legacy/tests/testLegacyICal.py | 31 - .../tests/testLegacyImmobilisation.py | 31 - product/ERP5Legacy/tests/testLegacyInvoice.py | 3427 ---------------- product/ERP5Legacy/tests/testLegacyMRP.py | 47 - product/ERP5Legacy/tests/testLegacyOrder.py | 2800 ------------- .../ERP5Legacy/tests/testLegacyPackingList.py | 1512 ------- .../tests/testLegacyProductionOrder.py | 1827 --------- .../tests/testLegacyProductionPackingList.py | 781 ---- .../tests/testLegacyProjectAndTask.py | 68 - .../testLegacyReturnedSalePackingList.py | 30 - .../testLegacySimulationAdvancedInvoicing.py | 37 - .../tests/testLegacySimulationInventory.py | 33 - .../tests/testLegacySimulationInventoryAPI.py | 33 - .../testLegacySimulationInventoryModule.py | 30 - .../tests/testLegacySimulationInvoice.py | 3481 ----------------- .../tests/testLegacySimulationItem.py | 41 - .../tests/testLegacySimulationOrder.py | 32 - .../tests/testLegacySimulationOrderBuilder.py | 29 - .../tests/testLegacySimulationPackingList.py | 1971 ---------- .../tests/testLegacySimulationProduction.py | 43 - .../testLegacySimulationProductionApparel.py | 47 - .../tests/testLegacySimulationRule.py | 38 - .../tests/testLegacyTradeModelLine.py | 153 - .../tests/testLegacyTransformation.py | 36 - .../tests/test_data/images/erp5_logo.bmp | Bin 320122 -> 0 bytes .../tests/test_data/images/erp5_logo.png | Bin 12588 -> 0 bytes .../test_data/images/erp5_logo_small.png | Bin 4414 -> 0 bytes 748 files changed, 81220 deletions(-) delete mode 100644 bt5/erp5_accounting_simulation_legacy/ActionTemplateItem/portal_types/Invoice%20Rule/view.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/ActionTemplateItem/portal_types/Payment%20Rule/view.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/ActionTemplateItem/portal_types/Payment%20Simulation%20Rule/cell_view.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_accounting_transaction_root_simulation_rule.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_root_simulation_rule.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_root_simulation_rule/default_category_tester.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_root_simulation_rule/default_property_tester.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_root_simulation_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_rule.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_rule/default_category_tester.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_rule/default_property_tester.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_rule.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule/default_category_tester.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule/default_property_tester.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule/mirror_mapping.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PortalTypeTemplateItem/portal_types/Invoice%20Rule.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PortalTypeTemplateItem/portal_types/Payment%20Rule.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/AccountingTransaction_getRuleReference.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceRule_asPredicate.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/listbox.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/listbox_membership_criterion_category_list.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/matrixbox.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/matrixbox_title.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_reference.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_start_date_range_max.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_start_date_range_min.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_test_method_id.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_title.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_translated_validation_state_title.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_version.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/PaymentRule_asPredicate.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_Build.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_updateSimulation.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/buildTradeModelLineList.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/guessGroupingReference.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/resetGroupingReference.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/setReferences.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/validateTransaction.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/validateTransactionLines.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/auto_planned.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/cancelled.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/confirmed.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/deleted.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/delivered.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/draft.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/planned.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/started.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/stopped.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/auto_plan.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/cancel.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/cancel_accounting_action.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/cancel_action.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/confirm.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/confirm_action.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/delete.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/delete_action.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/deliver.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/deliver_action.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/plan.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/plan_action.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/restart.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/restart_action.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/start.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/start_action.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/stop.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/stop_action.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/action.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/actor.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/causality_state.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/comment.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/error_message.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/history.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/portal_type.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/time.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/1_draft_transaction_list.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/2_planned_confirmed_transaction_list.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/4_started_transaction_list.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/5_stopped_transaction_list.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/99a_diverged_sale_invoice_list.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/99b_diverged_purchase_invoice_list.xml delete mode 100644 bt5/erp5_accounting_simulation_legacy/bt/copyright_list delete mode 100644 bt5/erp5_accounting_simulation_legacy/bt/dependency_list delete mode 100644 bt5/erp5_accounting_simulation_legacy/bt/license delete mode 100644 bt5/erp5_accounting_simulation_legacy/bt/revision delete mode 100644 bt5/erp5_accounting_simulation_legacy/bt/template_action_path_list delete mode 100644 bt5/erp5_accounting_simulation_legacy/bt/template_format_version delete mode 100644 bt5/erp5_accounting_simulation_legacy/bt/template_path_list delete mode 100644 bt5/erp5_accounting_simulation_legacy/bt/template_portal_type_allowed_content_type_list delete mode 100644 bt5/erp5_accounting_simulation_legacy/bt/template_portal_type_id_list delete mode 100644 bt5/erp5_accounting_simulation_legacy/bt/template_portal_type_workflow_chain_list delete mode 100644 bt5/erp5_accounting_simulation_legacy/bt/template_skin_id_list delete mode 100644 bt5/erp5_accounting_simulation_legacy/bt/template_workflow_id_list delete mode 100644 bt5/erp5_accounting_simulation_legacy/bt/title delete mode 100644 bt5/erp5_accounting_simulation_legacy/bt/version delete mode 100644 bt5/erp5_invoicing_simulation_legacy/ActionTemplateItem/portal_types/Invoice%20Transaction%20Rule/divergence.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/ActionTemplateItem/portal_types/Invoice%20Transaction%20Rule/view.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/ActionTemplateItem/portal_types/Invoice%20Transaction%20Simulation%20Rule/cell_view.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/ActionTemplateItem/portal_types/Invoicing%20Rule/view.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/ActionTemplateItem/portal_types/Trade%20Model%20Rule/view.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_cell.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_line.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/delivery_causality_assignement_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/mirror_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/property_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/base_variant_movement_group_in_line.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/category_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/category_movement_group_on_line.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/causality_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/delivery_causality_assignement_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/property_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/property_movement_group_on_line.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/variant_movement_group_on_cell.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/category_movement_group_on_cell.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/category_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/category_movement_group_on_line.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/causality_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/property_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/property_movement_group_on_line.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/base_variant_movement_group_in_line.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/category_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/category_movement_group_on_line.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/causality_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/property_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/property_movement_group_on_line.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/variant_movement_group_on_cell.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/base_variant_movement_group_in_line.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/category_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/category_movement_group_on_line.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/causality_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/delivery_causality_assignement_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/property_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/property_movement_group_on_line.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/variant_movement_group_on_cell.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/category_movement_group_on_cell.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/category_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/category_movement_group_on_line.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/causality_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/property_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/property_movement_group_on_line.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/base_variant_movement_group_in_line.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/category_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/category_movement_group_on_line.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/causality_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/property_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/property_movement_group_on_line.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/variant_movement_group_on_cell.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_simulation_rule.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_category_tester.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_property_tester.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_transaction_rule.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_transaction_simulation_rule.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoicing_rule.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoicing_rule/default_category_tester.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoicing_rule/default_property_tester.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoicing_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_rule.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_rule/default_category_tester.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_rule/default_property_tester.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_simulation_rule.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_category_tester.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_property_tester.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PortalTypeHiddenContentTypeTemplateItem/hidden_content_type_list.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PortalTypeTemplateItem/portal_types/Invoice%20Transaction%20Rule.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PortalTypeTemplateItem/portal_types/Invoicing%20Rule.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PortalTypeTemplateItem/portal_types/Trade%20Model%20Rule.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoiceTransactionRule_asCellRange.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoiceTransactionRule_asPredicate.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoiceTransactionRule_destinationRegionHasNoVat.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoiceTransactionRule_destinationRegionHasVat.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoicingRule_asPredicate.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/SimulationMovement_testInvoiceTransactionRule.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/SimulationMovement_testInvoiceTransactionSimulationRule.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/SimulationMovement_testInvoicingRule.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/SimulationMovement_testTradeModelRule.xml delete mode 100644 bt5/erp5_invoicing_simulation_legacy/bt/copyright_list delete mode 100644 bt5/erp5_invoicing_simulation_legacy/bt/dependency_list delete mode 100644 bt5/erp5_invoicing_simulation_legacy/bt/license delete mode 100644 bt5/erp5_invoicing_simulation_legacy/bt/revision delete mode 100644 bt5/erp5_invoicing_simulation_legacy/bt/template_action_path_list delete mode 100644 bt5/erp5_invoicing_simulation_legacy/bt/template_format_version delete mode 100644 bt5/erp5_invoicing_simulation_legacy/bt/template_path_list delete mode 100644 bt5/erp5_invoicing_simulation_legacy/bt/template_portal_type_allowed_content_type_list delete mode 100644 bt5/erp5_invoicing_simulation_legacy/bt/template_portal_type_hidden_content_type_list delete mode 100644 bt5/erp5_invoicing_simulation_legacy/bt/template_portal_type_id_list delete mode 100644 bt5/erp5_invoicing_simulation_legacy/bt/template_portal_type_workflow_chain_list delete mode 100644 bt5/erp5_invoicing_simulation_legacy/bt/template_skin_id_list delete mode 100644 bt5/erp5_invoicing_simulation_legacy/bt/title delete mode 100644 bt5/erp5_invoicing_simulation_legacy/bt/version delete mode 100644 bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Production%20Order%20Model%20Root%20Simulation%20Rule/view.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Production%20Order%20Model%20Rule/view.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Production%20Order%20Root%20Simulation%20Rule/view.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Production%20Order%20Rule/view.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Transformation%20Model%20Rule/view.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Transformation%20Rule/view.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Transformation%20Sourcing%20Model%20Rule/view.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Transformation%20Sourcing%20Rule/view.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_root_simulation_rule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_root_simulation_rule/default_category_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_root_simulation_rule/default_property_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_root_simulation_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_rule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_rule/default_category_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_rule/default_property_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_root_simulation_rule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_root_simulation_rule/default_category_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_root_simulation_rule/default_property_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_root_simulation_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_rule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_rule/default_category_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_rule/default_property_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_model_rule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_model_rule/default_category_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_model_rule/default_property_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_model_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_rule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_rule/default_category_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_rule/default_property_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_model_rule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_model_rule/default_category_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_model_rule/default_property_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_model_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_rule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_rule/default_category_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_rule/default_property_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Production%20Order%20Model%20Root%20Simulation%20Rule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Production%20Order%20Model%20Rule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Production%20Order%20Root%20Simulation%20Rule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Production%20Order%20Rule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Transformation%20Model%20Rule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Transformation%20Rule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Transformation%20Sourcing%20Model%20Rule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Transformation%20Sourcing%20Rule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/ProductionOrderRule_asPredicate.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/SimulationMovement_testTransformationModelRule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/SimulationMovement_testTransformationRule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/SimulationMovement_testTransformationSourcingModelRule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/SimulationMovement_testTransformationSourcingRule.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/TransformationRule_asPredicate.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/TransformationSourcingRule_asPredicate.xml delete mode 100644 bt5/erp5_mrp_simulation_legacy/bt/copyright_list delete mode 100644 bt5/erp5_mrp_simulation_legacy/bt/dependency_list delete mode 100644 bt5/erp5_mrp_simulation_legacy/bt/license delete mode 100644 bt5/erp5_mrp_simulation_legacy/bt/revision delete mode 100644 bt5/erp5_mrp_simulation_legacy/bt/template_action_path_list delete mode 100644 bt5/erp5_mrp_simulation_legacy/bt/template_format_version delete mode 100644 bt5/erp5_mrp_simulation_legacy/bt/template_path_list delete mode 100644 bt5/erp5_mrp_simulation_legacy/bt/template_portal_type_allowed_content_type_list delete mode 100644 bt5/erp5_mrp_simulation_legacy/bt/template_portal_type_id_list delete mode 100644 bt5/erp5_mrp_simulation_legacy/bt/template_portal_type_workflow_chain_list delete mode 100644 bt5/erp5_mrp_simulation_legacy/bt/template_skin_id_list delete mode 100644 bt5/erp5_mrp_simulation_legacy/bt/title delete mode 100644 bt5/erp5_mrp_simulation_legacy/bt/version delete mode 100644 bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder.xml delete mode 100644 bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/base_variant_movement_group_in_line.xml delete mode 100644 bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/category_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/category_movement_group_on_line.xml delete mode 100644 bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/property_movement_group_on_line.xml delete mode 100644 bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/title_movement_group_on_line.xml delete mode 100644 bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/variant_movement_group_on_cell.xml delete mode 100644 bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder.xml delete mode 100644 bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/base_variant_movement_group_in_line.xml delete mode 100644 bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/category_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/category_movement_group_on_line.xml delete mode 100644 bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/order_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/property_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/property_movement_group_on_line.xml delete mode 100644 bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/requirement_movement_group_on_line.xml delete mode 100644 bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/split_movement_group_on_line.xml delete mode 100644 bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/title_movement_group_on_line.xml delete mode 100644 bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/variant_movement_group_on_cell.xml delete mode 100644 bt5/erp5_project_simulation_legacy/bt/copyright_list delete mode 100644 bt5/erp5_project_simulation_legacy/bt/dependency_list delete mode 100644 bt5/erp5_project_simulation_legacy/bt/license delete mode 100644 bt5/erp5_project_simulation_legacy/bt/revision delete mode 100644 bt5/erp5_project_simulation_legacy/bt/template_format_version delete mode 100644 bt5/erp5_project_simulation_legacy/bt/template_path_list delete mode 100644 bt5/erp5_project_simulation_legacy/bt/title delete mode 100644 bt5/erp5_project_simulation_legacy/bt/version delete mode 100644 bt5/erp5_simulation_legacy/ActionTemplateItem/portal_types/Category%20Divergence%20Tester/view.xml delete mode 100644 bt5/erp5_simulation_legacy/ActionTemplateItem/portal_types/Composed%20Divergence%20Tester/view.xml delete mode 100644 bt5/erp5_simulation_legacy/ActionTemplateItem/portal_types/Property%20Divergence%20Tester/view.xml delete mode 100644 bt5/erp5_simulation_legacy/ActionTemplateItem/portal_types/Quantity%20Divergence%20Tester/view.xml delete mode 100644 bt5/erp5_simulation_legacy/DocumentTemplateItem/AccountingTransactionRootSimulationRule.py delete mode 100644 bt5/erp5_simulation_legacy/DocumentTemplateItem/BusinessProcess.py delete mode 100644 bt5/erp5_simulation_legacy/DocumentTemplateItem/DeliveryRootSimulationRule.py delete mode 100644 bt5/erp5_simulation_legacy/DocumentTemplateItem/DeliverySimulationRule.py delete mode 100644 bt5/erp5_simulation_legacy/DocumentTemplateItem/InvoiceRootSimulationRule.py delete mode 100644 bt5/erp5_simulation_legacy/DocumentTemplateItem/InvoiceSimulationRule.py delete mode 100644 bt5/erp5_simulation_legacy/DocumentTemplateItem/InvoiceTransactionSimulationRule.py delete mode 100644 bt5/erp5_simulation_legacy/DocumentTemplateItem/OrderBuilder.py delete mode 100644 bt5/erp5_simulation_legacy/DocumentTemplateItem/OrderRootSimulationRule.py delete mode 100644 bt5/erp5_simulation_legacy/DocumentTemplateItem/PaymentSimulationRule.py delete mode 100644 bt5/erp5_simulation_legacy/DocumentTemplateItem/ProductionOrderModelRootSimulationRule.py delete mode 100644 bt5/erp5_simulation_legacy/DocumentTemplateItem/ProductionOrderRootSimulationRule.py delete mode 100644 bt5/erp5_simulation_legacy/DocumentTemplateItem/RootAppliedRuleCausalityMovementGroup.py delete mode 100644 bt5/erp5_simulation_legacy/DocumentTemplateItem/SimulatedDeliveryBuilder.py delete mode 100644 bt5/erp5_simulation_legacy/DocumentTemplateItem/SimulationLegacyPatches.py delete mode 100644 bt5/erp5_simulation_legacy/DocumentTemplateItem/TradeModelSimulationRule.py delete mode 100644 bt5/erp5_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml delete mode 100644 bt5/erp5_simulation_legacy/PortalTypeTemplateItem/portal_types/Category%20Divergence%20Tester.xml delete mode 100644 bt5/erp5_simulation_legacy/PortalTypeTemplateItem/portal_types/Composed%20Divergence%20Tester.xml delete mode 100644 bt5/erp5_simulation_legacy/PortalTypeTemplateItem/portal_types/Property%20Divergence%20Tester.xml delete mode 100644 bt5/erp5_simulation_legacy/PortalTypeTemplateItem/portal_types/Quantity%20Divergence%20Tester.xml delete mode 100644 bt5/erp5_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml delete mode 100644 bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath.xml delete mode 100644 bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/completed_state_property.xml delete mode 100644 bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/deliverable_property.xml delete mode 100644 bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/delivery_builder_category.xml delete mode 100644 bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/destination_method_id_property.xml delete mode 100644 bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/end_of_category.xml delete mode 100644 bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/frozen_state_property.xml delete mode 100644 bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/incoterm_category.xml delete mode 100644 bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/lead_time_property.xml delete mode 100644 bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/order_builder_category.xml delete mode 100644 bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/source_method_id_property.xml delete mode 100644 bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/trade_phase_category.xml delete mode 100644 bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/wait_time_property.xml delete mode 100644 bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/DivergenceTester.xml delete mode 100644 bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/DivergenceTester/tested_property_property.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/BusinessPath_build.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/BusinessPath_zSelectBuildableMovementList.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/listbox.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/listbox_tested_property_list.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/my_description.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/my_solver_list.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/my_tested_property_list.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/my_title.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/cell_group_listbox.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/cell_group_listbox_choice.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/delivery_group_listbox.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/delivery_group_listbox_choice.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/line_group_listbox.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/line_group_listbox_choice.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/my_comment.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/your_workflow_action.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view/my_description.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view/my_solver_list.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view/my_tested_property_list.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view/my_title.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_decimal_alignment_enabled.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_decimal_exponent.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_decimal_rounding_option.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_description.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_solver_list.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_title.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/listbox.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/listbox_tested_property_list.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/mapped_property_listbox.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/mapped_property_listbox_mapping_property_list.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_description.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_expandable_property_list.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_matching_property_list.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_reference.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_start_date_range_max.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_start_date_range_min.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_test_method_id.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_title.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_trade_phase_list.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_translated_validation_state_title.xml delete mode 100644 bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_version.xml delete mode 100644 bt5/erp5_simulation_legacy/bt/change_log delete mode 100644 bt5/erp5_simulation_legacy/bt/copyright_list delete mode 100644 bt5/erp5_simulation_legacy/bt/dependency_list delete mode 100644 bt5/erp5_simulation_legacy/bt/license delete mode 100644 bt5/erp5_simulation_legacy/bt/revision delete mode 100644 bt5/erp5_simulation_legacy/bt/template_action_path_list delete mode 100644 bt5/erp5_simulation_legacy/bt/template_document_id_list delete mode 100644 bt5/erp5_simulation_legacy/bt/template_format_version delete mode 100644 bt5/erp5_simulation_legacy/bt/template_portal_type_allowed_content_type_list delete mode 100644 bt5/erp5_simulation_legacy/bt/template_portal_type_id_list delete mode 100644 bt5/erp5_simulation_legacy/bt/template_portal_type_workflow_chain_list delete mode 100644 bt5/erp5_simulation_legacy/bt/template_property_sheet_id_list delete mode 100644 bt5/erp5_simulation_legacy/bt/template_skin_id_list delete mode 100644 bt5/erp5_simulation_legacy/bt/title delete mode 100644 bt5/erp5_simulation_legacy/bt/version delete mode 100644 bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20Path/profile.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20Path/view.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20Path/view_advanced.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20Process/view_supply_state_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20State/view.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Delivery%20Rule/view.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Order%20Rule/view.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Purchase%20Order/view_trade_model_line_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Sale%20Order/view_trade_model_line_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/base_variant_movement_group_in_line.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/category_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/category_movement_group_on_line.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/causality_assignment_movement_group_on_line.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/order_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/property_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/property_movement_group_on_line.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/variant_movement_group_on_cell.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/base_variant_movement_group_in_line.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/category_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/category_movement_group_on_line.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/causality_assignment_movement_group_on_line.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/order_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/property_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/property_movement_group_on_line.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/variant_movement_group_on_cell.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/base_variant_movement_group_in_line.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/category_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/category_movement_group_on_line.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/causality_assignment_movement_group_on_cell.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/causality_assignment_movement_group_on_line.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/order_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/property_movement_group_on_delivery.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/property_movement_group_on_line.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/variant_movement_group_on_cell.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_root_simulation_rule.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_root_simulation_rule/default_category_tester.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_root_simulation_rule/default_property_tester.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_root_simulation_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_rule.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_rule/default_category_tester.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_rule/default_property_tester.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_simulation_rule.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_simulation_rule/default_category_tester.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_simulation_rule/default_property_tester.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_simulation_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_root_simulation_rule.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_root_simulation_rule/default_category_tester.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_root_simulation_rule/default_property_tester.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_root_simulation_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_rule.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_rule/default_category_tester.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_rule/default_property_tester.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_rule/default_quantity_tester.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PortalTypePropertySheetTemplateItem/property_sheet_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PortalTypeTemplateItem/portal_types/Business%20Path.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PortalTypeTemplateItem/portal_types/Business%20State.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PortalTypeTemplateItem/portal_types/Delivery%20Rule.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PortalTypeTemplateItem/portal_types/Order%20Rule.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_deliverable.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_delivery_builder_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_lead_time.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_order_builder_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_predecessor_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_successor_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_wait_time.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_getDefaultDestinationList.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_getDefaultSourceList.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_delivery_mode.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_description.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_efficiency.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_end_of.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_incoterm.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_int_index.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_lead_time.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_payment_mode.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_quantity.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_reference.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_wait_time.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_completed_state_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_deliverable.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_delivery_builder_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_destination_method_id.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_frozen_state_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_order_builder_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_predecessor_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_source_method_id.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_successor_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_trade_phase.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_administration_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_carrier_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_decision_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_payment.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_project_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_reference.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_section_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_administration_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_carrier_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_decision_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_payment.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_project_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_reference.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_section_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox_deliverable.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox_delivery_builder_title_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox_int_index.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox_order_builder_title_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_description.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_reference.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_referential_date.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_specialise_title_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_translated_validation_state_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_version.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_viewBusinessStates.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_viewBusinessStates/listbox.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_viewBusinessStates/listbox_int_index.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_viewBusinessStates/my_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view/my_description.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view/my_int_index.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view/my_reference.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view/my_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/DeliveryRule_asPredicate.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox_base_application_title_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox_base_contribution_title_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox_price.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox_reference.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/my_title.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/OrderRule_asPredicate.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_appliedToRelatedMovement.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_buildPackingList.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_createOrderRule.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_validateData.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/auto_planned.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/cancelled.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/confirmed.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/deleted.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/draft.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/offered.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/ordered.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/planned.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/rejected.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/accept_offer_action.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/auto_plan.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/cancel.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/cancel_action.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/confirm.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/confirm_action.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/delete.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/delete_action.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/informDeliveryList.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/offer.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/offer_action.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/order.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/order_action.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/plan.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/plan_action.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/reject.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/reject_action.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/action.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/actor.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/comment.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/error_message.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/history.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/portal_type.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/time.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/1_draft_purchase_order_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/2_auto_planned_purchase_order_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/3_planned_purchase_order_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/4_ordered_purchase_order_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/4b_offered_purchase_order_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/5_draft_sale_order_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/6_auto_planned_sale_order_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/7_planned_sale_order_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/8_ordered_sale_order_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/9_offered_sale_order_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/Delivery_checkConsistency.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/PackingList_updateAppliedRule.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/PurchasePackingList_buildInvoice.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/SalePackingList_buildInvoice.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/cancelled.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/confirmed.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/deleted.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/delivered.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/draft.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/ready.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/started.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/stopped.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/cancel.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/cancel_action.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/confirm.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/confirm_action.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/delete.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/delete_action.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/deliver.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/deliver_action.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/set_ready.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/set_ready_action.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/start.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/start_action.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/stop.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/stop_action.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/action.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/actor.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/causality_state.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/comment.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/error_message.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/history.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/portal_type.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/time.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/1_draft_purchase_packing_list_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/2_confirmed_purchase_packing_list_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/3_stopped_purchase_packing_list_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/4_draft_sale_packing_list_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/5_confirmed_sale_packing_list_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/6_ready_sale_packing_list_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/7_started_sale_packing_list_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/99a_diverged_sale_packing_list_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/99b_diverged_purchase_packing_list.xml delete mode 100644 bt5/erp5_trade_simulation_legacy/bt/copyright_list delete mode 100644 bt5/erp5_trade_simulation_legacy/bt/dependency_list delete mode 100644 bt5/erp5_trade_simulation_legacy/bt/license delete mode 100644 bt5/erp5_trade_simulation_legacy/bt/revision delete mode 100644 bt5/erp5_trade_simulation_legacy/bt/template_action_path_list delete mode 100644 bt5/erp5_trade_simulation_legacy/bt/template_format_version delete mode 100644 bt5/erp5_trade_simulation_legacy/bt/template_path_list delete mode 100644 bt5/erp5_trade_simulation_legacy/bt/template_portal_type_allowed_content_type_list delete mode 100644 bt5/erp5_trade_simulation_legacy/bt/template_portal_type_id_list delete mode 100644 bt5/erp5_trade_simulation_legacy/bt/template_portal_type_property_sheet_list delete mode 100644 bt5/erp5_trade_simulation_legacy/bt/template_portal_type_workflow_chain_list delete mode 100644 bt5/erp5_trade_simulation_legacy/bt/template_skin_id_list delete mode 100644 bt5/erp5_trade_simulation_legacy/bt/template_workflow_id_list delete mode 100644 bt5/erp5_trade_simulation_legacy/bt/title delete mode 100644 bt5/erp5_trade_simulation_legacy/bt/version delete mode 100644 product/ERP5Legacy/Document/AccountingRuleCell.py delete mode 100644 product/ERP5Legacy/Document/BPMBuilder.py delete mode 100644 product/ERP5Legacy/Document/BusinessPath.py delete mode 100644 product/ERP5Legacy/Document/BusinessState.py delete mode 100644 product/ERP5Legacy/Document/CategoryDivergenceTester.py delete mode 100644 product/ERP5Legacy/Document/ComposedDivergenceTester.py delete mode 100644 product/ERP5Legacy/Document/DeliveryBuilder.py delete mode 100644 product/ERP5Legacy/Document/DeliveryRule.py delete mode 100644 product/ERP5Legacy/Document/InvoiceRule.py delete mode 100644 product/ERP5Legacy/Document/InvoiceTransactionRule.py delete mode 100644 product/ERP5Legacy/Document/InvoicingRule.py delete mode 100644 product/ERP5Legacy/Document/OpenOrderRule.py delete mode 100644 product/ERP5Legacy/Document/OrderRule.py delete mode 100644 product/ERP5Legacy/Document/PaymentRule.py delete mode 100644 product/ERP5Legacy/Document/ProductionOrderModelRule.py delete mode 100644 product/ERP5Legacy/Document/ProductionOrderRule.py delete mode 100644 product/ERP5Legacy/Document/PropertyDivergenceTester.py delete mode 100644 product/ERP5Legacy/Document/QuantityDivergenceTester.py delete mode 100644 product/ERP5Legacy/Document/Rule.py delete mode 100644 product/ERP5Legacy/Document/SupplyRule.py delete mode 100644 product/ERP5Legacy/Document/TaxRule.py delete mode 100644 product/ERP5Legacy/Document/TradeModelRule.py delete mode 100644 product/ERP5Legacy/Document/TransformationModelRule.py delete mode 100644 product/ERP5Legacy/Document/TransformationRule.py delete mode 100644 product/ERP5Legacy/Document/TransformationSourcingModelRule.py delete mode 100644 product/ERP5Legacy/Document/TransformationSourcingRule.py delete mode 100644 product/ERP5Legacy/Document/__init__.py delete mode 100644 product/ERP5Legacy/OrderBuilder.py delete mode 100644 product/ERP5Legacy/PropertySheet/BusinessPath.py delete mode 100644 product/ERP5Legacy/PropertySheet/DivergenceTester.py delete mode 100644 product/ERP5Legacy/VERSION.txt delete mode 100644 product/ERP5Legacy/__init__.py delete mode 100644 product/ERP5Legacy/tests/__init__.py delete mode 100644 product/ERP5Legacy/tests/testLegacyAccounting.py delete mode 100644 product/ERP5Legacy/tests/testLegacyAccountingReports.py delete mode 100644 product/ERP5Legacy/tests/testLegacyAccountingRules.py delete mode 100644 product/ERP5Legacy/tests/testLegacyBPMCore.py delete mode 100644 product/ERP5Legacy/tests/testLegacyConversionInSimulation.py delete mode 100644 product/ERP5Legacy/tests/testLegacyDeliveryBuilderToSupportMultipleLines.py delete mode 100644 product/ERP5Legacy/tests/testLegacyDivergenceTester.py delete mode 100644 product/ERP5Legacy/tests/testLegacyERP5Commerce.py delete mode 100644 product/ERP5Legacy/tests/testLegacyICal.py delete mode 100644 product/ERP5Legacy/tests/testLegacyImmobilisation.py delete mode 100644 product/ERP5Legacy/tests/testLegacyInvoice.py delete mode 100644 product/ERP5Legacy/tests/testLegacyMRP.py delete mode 100644 product/ERP5Legacy/tests/testLegacyOrder.py delete mode 100644 product/ERP5Legacy/tests/testLegacyPackingList.py delete mode 100644 product/ERP5Legacy/tests/testLegacyProductionOrder.py delete mode 100644 product/ERP5Legacy/tests/testLegacyProductionPackingList.py delete mode 100644 product/ERP5Legacy/tests/testLegacyProjectAndTask.py delete mode 100644 product/ERP5Legacy/tests/testLegacyReturnedSalePackingList.py delete mode 100644 product/ERP5Legacy/tests/testLegacySimulationAdvancedInvoicing.py delete mode 100644 product/ERP5Legacy/tests/testLegacySimulationInventory.py delete mode 100644 product/ERP5Legacy/tests/testLegacySimulationInventoryAPI.py delete mode 100644 product/ERP5Legacy/tests/testLegacySimulationInventoryModule.py delete mode 100644 product/ERP5Legacy/tests/testLegacySimulationInvoice.py delete mode 100644 product/ERP5Legacy/tests/testLegacySimulationItem.py delete mode 100644 product/ERP5Legacy/tests/testLegacySimulationOrder.py delete mode 100644 product/ERP5Legacy/tests/testLegacySimulationOrderBuilder.py delete mode 100644 product/ERP5Legacy/tests/testLegacySimulationPackingList.py delete mode 100644 product/ERP5Legacy/tests/testLegacySimulationProduction.py delete mode 100644 product/ERP5Legacy/tests/testLegacySimulationProductionApparel.py delete mode 100644 product/ERP5Legacy/tests/testLegacySimulationRule.py delete mode 100644 product/ERP5Legacy/tests/testLegacyTradeModelLine.py delete mode 100644 product/ERP5Legacy/tests/testLegacyTransformation.py delete mode 100644 product/ERP5Legacy/tests/test_data/images/erp5_logo.bmp delete mode 100644 product/ERP5Legacy/tests/test_data/images/erp5_logo.png delete mode 100644 product/ERP5Legacy/tests/test_data/images/erp5_logo_small.png diff --git a/bt5/erp5_accounting_simulation_legacy/ActionTemplateItem/portal_types/Invoice%20Rule/view.xml b/bt5/erp5_accounting_simulation_legacy/ActionTemplateItem/portal_types/Invoice%20Rule/view.xml deleted file mode 100644 index 4a16964623..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/ActionTemplateItem/portal_types/Invoice%20Rule/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_accounting_simulation_legacy/ActionTemplateItem/portal_types/Payment%20Rule/view.xml b/bt5/erp5_accounting_simulation_legacy/ActionTemplateItem/portal_types/Payment%20Rule/view.xml deleted file mode 100644 index 4a16964623..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/ActionTemplateItem/portal_types/Payment%20Rule/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_accounting_simulation_legacy/ActionTemplateItem/portal_types/Payment%20Simulation%20Rule/cell_view.xml b/bt5/erp5_accounting_simulation_legacy/ActionTemplateItem/portal_types/Payment%20Simulation%20Rule/cell_view.xml deleted file mode 100644 index 3be34251c8..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/ActionTemplateItem/portal_types/Payment%20Simulation%20Rule/cell_view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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>cell_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>2.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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_accounting_transaction_root_simulation_rule.xml b/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_accounting_transaction_root_simulation_rule.xml deleted file mode 100644 index 83f0391622..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_accounting_transaction_root_simulation_rule.xml +++ /dev/null @@ -1,136 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Accounting Transaction Root Simulation Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_identity_criterion</string> </key> - <value> - <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>default_reference</string> </key> - <value> <string>default_accounting_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>quantity</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_accounting_transaction_root_simulation_rule</string> </value> - </item> - <item> - <key> <string>matching_property</string> </key> - <value> - <tuple> - <string>delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Accounting Transaction Root Simulation Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Accounting Transaction Root Simulation Rule</string> </value> - </item> - <item> - <key> <string>version</string> </key> - <value> <string>1</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_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_root_simulation_rule.xml b/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_root_simulation_rule.xml deleted file mode 100644 index c0fa171792..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_root_simulation_rule.xml +++ /dev/null @@ -1,145 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Invoice Root Simulation Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_identity_criterion</string> </key> - <value> - <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>default_reference</string> </key> - <value> <string>default_invoice_rule</string> </value> - </item> - <item> - <key> <string>expandable_property</string> </key> - <value> - <tuple> - <string>aggregate_list</string> - <string>base_application_list</string> - <string>base_contribution_list</string> - <string>description</string> - <string>destination</string> - <string>destination_account</string> - <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>incoterm</string> - <string>price</string> - <string>price_currency</string> - <string>quantity</string> - <string>quantity_unit</string> - <string>resource</string> - <string>source</string> - <string>source_account</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> - <string>variation_category_list</string> - <string>variation_property_dict</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>default_invoice_root_simulation_rule</string> </value> - </item> - <item> - <key> <string>matching_property</string> </key> - <value> - <tuple> - <string>delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Invoice Root Simulation Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Invoice Root 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_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_root_simulation_rule/default_category_tester.xml b/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_root_simulation_rule/default_category_tester.xml deleted file mode 100644 index 558b58ad44..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_root_simulation_rule/default_category_tester.xml +++ /dev/null @@ -1,105 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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_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_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_root_simulation_rule/default_property_tester.xml b/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_root_simulation_rule/default_property_tester.xml deleted file mode 100644 index 314db5db2d..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_root_simulation_rule/default_property_tester.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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> - </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_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_root_simulation_rule/default_quantity_tester.xml b/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_root_simulation_rule/default_quantity_tester.xml deleted file mode 100644 index 796fbb7a8f..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_root_simulation_rule/default_quantity_tester.xml +++ /dev/null @@ -1,91 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_rule.xml b/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_rule.xml deleted file mode 100644 index 5e88860055..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_rule.xml +++ /dev/null @@ -1,145 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Invoice Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_identity_criterion</string> </key> - <value> - <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>default_reference</string> </key> - <value> <string>default_invoice_rule</string> </value> - </item> - <item> - <key> <string>expandable_property</string> </key> - <value> - <tuple> - <string>aggregate_list</string> - <string>base_application_list</string> - <string>base_contribution_list</string> - <string>description</string> - <string>destination</string> - <string>destination_account</string> - <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>incoterm</string> - <string>price</string> - <string>price_currency</string> - <string>quantity</string> - <string>quantity_unit</string> - <string>resource</string> - <string>source</string> - <string>source_account</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> - <string>variation_category_list</string> - <string>variation_property_dict</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>default_invoice_rule</string> </value> - </item> - <item> - <key> <string>matching_property</string> </key> - <value> - <tuple> - <string>delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Invoice Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Invoice Rule</string> </value> - </item> - <item> - <key> <string>version</string> </key> - <value> <string>1</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_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_rule/default_category_tester.xml b/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_rule/default_category_tester.xml deleted file mode 100644 index 558b58ad44..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_rule/default_category_tester.xml +++ /dev/null @@ -1,105 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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_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_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_rule/default_property_tester.xml b/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_rule/default_property_tester.xml deleted file mode 100644 index 314db5db2d..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_rule/default_property_tester.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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> - </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_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_rule/default_quantity_tester.xml b/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_rule/default_quantity_tester.xml deleted file mode 100644 index 796fbb7a8f..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_rule/default_quantity_tester.xml +++ /dev/null @@ -1,91 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_rule.xml b/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_rule.xml deleted file mode 100644 index f954c5e276..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_rule.xml +++ /dev/null @@ -1,149 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Payment Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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>criterion_property</string> </key> - <value> - <tuple> - <string>portal_type</string> - </tuple> - </value> - </item> - <item> - <key> <string>default_reference</string> </key> - <value> <string>default_payment_rule</string> </value> - </item> - <item> - <key> <string>expandable_property</string> </key> - <value> - <tuple> - <string>destination</string> - <string>destination_payment</string> - <string>destination_project</string> - <string>destination_section</string> - <string>payment_mode</string> - <string>price</string> - <string>quantity</string> - <string>resource</string> - <string>source</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_payment_rule</string> </value> - </item> - <item> - <key> <string>matching_property</string> </key> - <value> - <tuple> - <string>destination</string> - <string>source</string> - </tuple> - </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Payment Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple> - <string>SimulationMovement_testPaymentRule</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Payment Rule</string> </value> - </item> - <item> - <key> <string>version</string> </key> - <value> <string>1</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_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule.xml b/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule.xml deleted file mode 100644 index 2b4e482e0a..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule.xml +++ /dev/null @@ -1,192 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Payment Simulation Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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>criterion_property</string> </key> - <value> - <tuple> - <string>portal_type</string> - </tuple> - </value> - </item> - <item> - <key> <string>default_reference</string> </key> - <value> <string>default_payment_rule</string> </value> - </item> - <item> - <key> <string>expandable_property</string> </key> - <value> - <tuple> - <string>destination</string> - <string>destination_payment</string> - <string>destination_project</string> - <string>destination_section</string> - <string>payment_mode</string> - <string>price</string> - <string>quantity</string> - <string>resource</string> - <string>source</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_payment_simulation_rule</string> </value> - </item> - <item> - <key> <string>index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent> - </value> - </item> - <item> - <key> <string>matching_property</string> </key> - <value> - <tuple> - <string>destination</string> - <string>source</string> - </tuple> - </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Payment Simulation Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple> - <string>SimulationMovement_testPaymentSimulationRule</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Payment 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> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>movement</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="6" aka="AAAAAAAAAAY="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary/> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule/default_category_tester.xml b/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule/default_category_tester.xml deleted file mode 100644 index 4be27fadf4..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule/default_category_tester.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <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 | resource</string> - <string>source | source</string> - <string>destination | destination</string> - <string>source_section | source_section</string> - <string>destination_section | destination_section</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule/default_property_tester.xml b/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule/default_property_tester.xml deleted file mode 100644 index 810c0b4a3b..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule/default_property_tester.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <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> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule/default_quantity_tester.xml b/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule/default_quantity_tester.xml deleted file mode 100644 index ab4b31e240..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule/default_quantity_tester.xml +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </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> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule/mirror_mapping.xml b/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule/mirror_mapping.xml deleted file mode 100644 index 63ad2d1453..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PathTemplateItem/portal_rules/default_payment_simulation_rule/mirror_mapping.xml +++ /dev/null @@ -1,64 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Mapped Property" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>For payment transactions, we don\'t care the direction, i.e. from source to destination or from destination to order. This is the mapping for such transformations.</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>mirror_mapping</string> </value> - </item> - <item> - <key> <string>mapping_property</string> </key> - <value> - <tuple> - <string>destination | source</string> - <string>destination_account | source_account</string> - <string>destination_administration | source_administration</string> - <string>destination_carrier | source_carrier</string> - <string>destination_decision | source_decision</string> - <string>destination_function | source_function</string> - <string>destination_payment | source_payment</string> - <string>destination_payment_region | source_payment_region</string> - <string>destination_project | source_project</string> - <string>destination_referral | source_referral</string> - <string>destination_region | source_region</string> - <string>destination_section | source_section</string> - <string>destination_trade | source_trade</string> - <string>quantity | -quantity</string> - <string>source | destination</string> - <string>source_account | destination_account</string> - <string>source_administration | destination_administration</string> - <string>source_carrier | destination_carrier</string> - <string>source_decision | destination_decision</string> - <string>source_function | destination_function</string> - <string>source_payment | destination_payment</string> - <string>source_payment_region | destination_payment_region</string> - <string>source_project | destination_project</string> - <string>source_referral | destination_referral</string> - <string>source_region | destination_region</string> - <string>source_section | destination_section</string> - <string>source_trade | destination_trade</string> - <string>start_date | stop_date</string> - <string>stop_date | start_date</string> - </tuple> - </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Mapped Property</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Mirror Mapping</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml b/bt5/erp5_accounting_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml deleted file mode 100644 index 01a5149135..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml +++ /dev/null @@ -1,36 +0,0 @@ -<allowed_content_type_list> - <portal_type id="Accounting Transaction Root Simulation Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Invoice Root Simulation Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Invoice Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Payment Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Payment Simulation Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Rule Tool"> - <item>Invoice Rule</item> - <item>Payment Rule</item> - </portal_type> -</allowed_content_type_list> \ No newline at end of file diff --git a/bt5/erp5_accounting_simulation_legacy/PortalTypeTemplateItem/portal_types/Invoice%20Rule.xml b/bt5/erp5_accounting_simulation_legacy/PortalTypeTemplateItem/portal_types/Invoice%20Rule.xml deleted file mode 100644 index c5e901243a..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PortalTypeTemplateItem/portal_types/Invoice%20Rule.xml +++ /dev/null @@ -1,64 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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 Rule</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Invoice Rule object makes sure an Invoice in the simulation is consistent with the real invoice.</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addInvoiceRule</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 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> - <item> - <key> <string>type_class</string> </key> - <value> <string>InvoiceRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/PortalTypeTemplateItem/portal_types/Payment%20Rule.xml b/bt5/erp5_accounting_simulation_legacy/PortalTypeTemplateItem/portal_types/Payment%20Rule.xml deleted file mode 100644 index da2ec034e7..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PortalTypeTemplateItem/portal_types/Payment%20Rule.xml +++ /dev/null @@ -1,64 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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 Payment Rule</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Payment Rule generates payment simulation movement from invoice transaction simulation movements.</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addPaymentRule</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>Payment 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> - <item> - <key> <string>type_class</string> </key> - <value> <string>PaymentRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_accounting_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml deleted file mode 100644 index 10ffd8abdf..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml +++ /dev/null @@ -1,10 +0,0 @@ -<workflow_chain> - <chain> - <type>Invoice Rule</type> - <workflow>edit_workflow, rule_validation_workflow</workflow> - </chain> - <chain> - <type>Payment Rule</type> - <workflow>edit_workflow, rule_validation_workflow</workflow> - </chain> -</workflow_chain> \ No newline at end of file diff --git a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy.xml b/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy.xml deleted file mode 100644 index d28bdfed3a..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy.xml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Folder" module="OFS.Folder"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>business_template_skin_layer_priority</string> </value> - </item> - <item> - <key> <string>type</string> </key> - <value> <string>float</string> </value> - </item> - </dictionary> - </tuple> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>business_template_skin_layer_priority</string> </key> - <value> <float>30.0</float> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>erp5_accounting_simulation_legacy</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/AccountingTransaction_getRuleReference.xml b/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/AccountingTransaction_getRuleReference.xml deleted file mode 100644 index d1d0f81622..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/AccountingTransaction_getRuleReference.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return \'default_accounting_transaction_rule\'\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>AccountingTransaction_getRuleReference</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceRule_asPredicate.xml b/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceRule_asPredicate.xml deleted file mode 100644 index d3e52edd4f..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceRule_asPredicate.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return context.generatePredicate(criterion_property_list=("start_date",))\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>InvoiceRule_asPredicate</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view.xml b/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view.xml deleted file mode 100644 index 841679237e..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view.xml +++ /dev/null @@ -1,152 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list> - <string>listbox</string> - </list> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list> - <string>matrixbox</string> - </list> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list> - <string>matrixbox_title</string> - <string>listbox_membership_criterion_category_list</string> - </list> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list> - <string>my_title</string> - <string>my_reference</string> - <string>my_version</string> - </list> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list> - <string>my_start_date_range_min</string> - <string>my_start_date_range_max</string> - <string>my_test_method_id</string> - <string>my_translated_validation_state_title</string> - </list> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>InvoiceTransactionRule_view</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>InvoiceTransactionRule_view</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Invoice Transaction Rule</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/listbox.xml b/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/listbox.xml deleted file mode 100644 index b1a5065ada..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/listbox.xml +++ /dev/null @@ -1,190 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>columns</string> - <string>sort_columns</string> - <string>sort</string> - <string>selection_name</string> - <string>portal_types</string> - <string>editable_columns</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>all_editable_columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>columns</string> </key> - <value> - <list> - <tuple> - <string>id</string> - <string>ID</string> - </tuple> - <tuple> - <string>title</string> - <string>Title</string> - </tuple> - <tuple> - <string>string_index</string> - <string>Dimension</string> - </tuple> - <tuple> - <string>int_index</string> - <string>Index</string> - </tuple> - <tuple> - <string>membership_criterion_category_list</string> - <string>Value</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> - <list> - <tuple> - <string>Predicate</string> - <string>Predicate</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string>rule_predicate_selection</string> </value> - </item> - <item> - <key> <string>sort</string> </key> - <value> - <list> - <tuple> - <string>string_index</string> - <string>string_index</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>sort_columns</string> </key> - <value> - <list> - <tuple> - <string>id</string> - <string>id</string> - </tuple> - <tuple> - <string>title</string> - <string>title</string> - </tuple> - <tuple> - <string>string_index</string> - <string>Dimension</string> - </tuple> - <tuple> - <string>int_index</string> - <string>Order</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Predicates</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/listbox_membership_criterion_category_list.xml b/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/listbox_membership_criterion_category_list.xml deleted file mode 100644 index 58d78e7ae2..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/listbox_membership_criterion_category_list.xml +++ /dev/null @@ -1,271 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="MultiListField" module="Products.Formulator.StandardFields"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_membership_criterion_category_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - <item> - <key> <string>required_not_found</string> </key> - <value> <string>Input is required but no input given.</string> </value> - </item> - <item> - <key> <string>unknown_selection</string> </key> - <value> <string>You selected an item that was not in the list.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra_item</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>size</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>view_separator</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra_item</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>size</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>view_separator</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra_item</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>size</string> </key> - <value> <int>5</int> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Membership Criterion</string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>view_separator</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -<br /> - -]]></string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python: cell.getObject().Predicate_getMembershipCriterionCategoryList()</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/matrixbox.xml b/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/matrixbox.xml deleted file mode 100644 index 6acc340a91..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/matrixbox.xml +++ /dev/null @@ -1,338 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="MatrixBox" module="Products.ERP5Form.MatrixBox"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>matrixbox</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>cell_base_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable_attributes</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>getter_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>global_attributes</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>lines</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>tabs</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>update_cell_range</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>cell_base_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>cell_portal_type</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>columns</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable_attributes</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>getter_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>global_attributes</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>lines</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>tabs</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>update_cell_range</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>cell_base_id</string> </key> - <value> <string>movement</string> </value> - </item> - <item> - <key> <string>cell_portal_type</string> </key> - <value> <string>Accounting Rule Cell</string> </value> - </item> - <item> - <key> <string>columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Defines how simulation accounting movements will be created if the invoice movement matches the corresponding predicate</string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>editable_attributes</string> </key> - <value> - <list> - <tuple> - <string>title</string> - <string>title</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>getter_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>global_attributes</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>lines</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>tabs</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Accounting Rule Cells</string> </value> - </item> - <item> - <key> <string>update_cell_range</string> </key> - <value> <int>0</int> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <tuple> - <string>Products.Formulator.TALESField</string> - <string>TALESMethod</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python:here.InvoiceTransactionRule_asCellRange(matrixbox=1)[1]</string> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <tuple> - <tuple> - <string>Products.Formulator.TALESField</string> - <string>TALESMethod</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python:here.InvoiceTransactionRule_asCellRange(matrixbox=1)[0]</string> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="4" aka="AAAAAAAAAAQ="> - <pickle> - <tuple> - <tuple> - <string>Products.Formulator.TALESField</string> - <string>TALESMethod</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python:here.InvoiceTransactionRule_asCellRange(matrixbox=1)[2]</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/matrixbox_title.xml b/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/matrixbox_title.xml deleted file mode 100644 index 6fa1f8ef88..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/matrixbox_title.xml +++ /dev/null @@ -1,330 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="LinkField" module="Products.Formulator.StandardFields"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>matrixbox_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - <item> - <key> <string>not_link</string> </key> - <value> <string>The specified link is broken.</string> </value> - </item> - <item> - <key> <string>required_not_found</string> </key> - <value> <string>Input is required but no input given.</string> </value> - </item> - <item> - <key> <string>too_long</string> </key> - <value> <string>Too much input was given.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>check_link</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>check_timeout</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>display_maxwidth</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>display_width</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>link_type</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>max_length</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>truncate</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>check_link</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>check_timeout</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>display_maxwidth</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>display_width</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>link_type</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>max_length</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>truncate</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>check_link</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>check_timeout</string> </key> - <value> <float>7.0</float> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>display_maxwidth</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>link_type</string> </key> - <value> <string>relative</string> </value> - </item> - <item> - <key> <string>max_length</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>matrixbox_title</string> </value> - </item> - <item> - <key> <string>truncate</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <int>0</int> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>string:${cell/absolute_url}/view</string> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>cell/getTitle</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_reference.xml b/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_reference.xml deleted file mode 100644 index 174bc696a7..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_reference.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_reference</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_reference</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Rule_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_start_date_range_max.xml b/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_start_date_range_max.xml deleted file mode 100644 index bd3f8eb813..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_start_date_range_max.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_start_date_range_max</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_start_date_range_max</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Rule_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_start_date_range_min.xml b/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_start_date_range_min.xml deleted file mode 100644 index d81f41e5e8..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_start_date_range_min.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_start_date_range_min</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_start_date_range_min</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Rule_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_test_method_id.xml b/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_test_method_id.xml deleted file mode 100644 index 99d49d8b37..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_test_method_id.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_test_method_id</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_test_method_id</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Rule_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_title.xml b/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_title.xml deleted file mode 100644 index 0397f4f20c..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_translated_validation_state_title.xml b/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_translated_validation_state_title.xml deleted file mode 100644 index a816e6c61e..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_translated_validation_state_title.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_translated_validation_state_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_translated_workflow_state_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Validation State</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_version.xml b/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_version.xml deleted file mode 100644 index 31cb1a66be..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/InvoiceTransactionRule_view/my_version.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_version</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_version</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Rule_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/PaymentRule_asPredicate.xml b/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/PaymentRule_asPredicate.xml deleted file mode 100644 index 114d3a323d..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/SkinTemplateItem/portal_skins/erp5_accounting_simulation_legacy/PaymentRule_asPredicate.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return context.generatePredicate(criterion_property_list=("start_date",))\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>PaymentRule_asPredicate</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow.xml deleted file mode 100644 index de3283eff2..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow.xml +++ /dev/null @@ -1,66 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="DCWorkflowDefinition" module="Products.DCWorkflow.DCWorkflow"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>creation_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>This workflow defines the different steps of an accounting transaction</string> </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>accounting_workflow</string> </value> - </item> - <item> - <key> <string>initial_state</string> </key> - <value> <string>draft</string> </value> - </item> - <item> - <key> <string>manager_bypass</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>permissions</string> </key> - <value> - <tuple> - <string>Modify portal content</string> - <string>View</string> - <string>Access contents information</string> - <string>Add portal content</string> - <string>Delete objects</string> - </tuple> - </value> - </item> - <item> - <key> <string>state_var</string> </key> - <value> <string>simulation_state</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Accounting Workflow</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts.xml deleted file mode 100644 index 072c8f6540..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Scripts" module="Products.DCWorkflow.Scripts"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>scripts</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_Build.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_Build.xml deleted file mode 100644 index 55342fccb9..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_Build.xml +++ /dev/null @@ -1,162 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>"""\n - Builds the delivery.\n -"""\n -from Products.ERP5Type.Log import log\n -delivery = sci[\'object\']\n -delivery_portal_type = delivery.getPortalType()\n -portal_deliveries = sci.getPortal().portal_deliveries\n -\n -builder_by_ptype = {\n - \'Sale Invoice Transaction\' : \'sale_invoice_transaction_builder\',\n - \'Purchase Invoice Transaction\' : \'purchase_invoice_transaction_builder\',\n - \'Pay Sheet Transaction\' : \'pay_sheet_transaction_builder\',\n -}\n -\n -if builder_by_ptype.has_key(delivery_portal_type) :\n - builder = getattr(portal_deliveries, builder_by_ptype[delivery_portal_type], None)\n - if builder is None :\n - log(\'erp5_accounting\',\n - \'unable to build : no builder in %s\' % builder_by_ptype[delivery_portal_type])\n - return\n -\n - ### Kev patch: Generate pay sheet accounting lines (inspired by order_workflow)\n - # (It could be great to make this Delivery_build script more generic)\n - if delivery_portal_type == \'Pay Sheet Transaction\':\n - PRIORITY = 3\n - pay_sheet = delivery\n - path = pay_sheet.getPath()\n - tag = \'%s_updateAppliedRule\' % path\n - expand_tag = \'%s_expand\' % path\n - activate_kw = { \'tag\' : expand_tag\n - , \'priority\': PRIORITY\n - }\n -\n - pay_sheet.activate( tag = tag\n - , after_tag = expand_tag\n - , priority = PRIORITY\n - ).updateAppliedRule( rule_reference = \'default_invoice_rule\'\n - , activate_kw = activate_kw\n - )\n -\n - builder = pay_sheet.portal_deliveries.pay_sheet_transaction_builder\n - builder.activate( activity = \'SQLQueue\'\n - , after_tag = (tag, expand_tag)\n - , priority = PRIORITY\n - ).build( explanation_uid = pay_sheet.getUid()\n - , activate_kw = activate_kw\n - )\n - return\n - ### End of kev patch\n -\n -\n - # build accounting lines\n - explanation_uid_list = [delivery.getUid(), ]\n - packing_list = delivery.getCausalityValue(\n - portal_type=(\'Sale Packing List\',\n - \'Purchase Packing List\'))\n - if packing_list is not None:\n - explanation_uid_list.append(packing_list.getUid())\n - order = packing_list.getCausalityValue(\n - portal_type=(\'Sale Order\',\n - \'Purchase Order\'))\n - if order is not None:\n - explanation_uid_list.append(order.getUid())\n -\n - build_trade_model_tag = \'invoice_transaction_build_trade_model_%s\' % \\\n - delivery.getRelativeUrl()\n - build_accounting_tag = \'invoice_transaction_build_accounting_%s\' % delivery.getRelativeUrl()\n - path = delivery.getPath()\n - update_applied_rule_tag = \'%s_updateAppliedRule\' % path\n - expand_tag = \'%s_expand\' % path\n - builder.activate(\n - activity=\'SQLQueue\',\n - after_tag=(update_applied_rule_tag,\n - expand_tag,\n - build_trade_model_tag,),\n - tag=build_accounting_tag,\n - activate_kw=dict(tag=build_accounting_tag)).build(\n - activate_kw=dict(tag=build_accounting_tag),\n - explanation_uid=explanation_uid_list)\n -\n - # build related payment transactions\n - portal_deliveries.payment_transaction_builder.activate(\n - activity=\'SQLQueue\',\n - after_tag=( build_trade_model_tag,\n - update_applied_rule_tag,\n - expand_tag,\n - build_accounting_tag, ),\n - ).build(\n - explanation_uid=explanation_uid_list)\n -\n - # set the object in building state.\n - delivery.startBuilding()\n - delivery.activate(after_tag=(\n - build_trade_model_tag,\n - build_accounting_tag,)\n - ).updateCausalityState()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>sci</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Delivery_Build</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_updateSimulation.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_updateSimulation.xml deleted file mode 100644 index 2d1572ffec..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_updateSimulation.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>state_change[\'object\'].Delivery_updateSimulation()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Delivery_updateSimulation</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/buildTradeModelLineList.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/buildTradeModelLineList.xml deleted file mode 100644 index c07549d728..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/buildTradeModelLineList.xml +++ /dev/null @@ -1,115 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>delivery = sci[\'object\']\n -delivery_portal_type = delivery.getPortalType()\n -portal_deliveries = sci.getPortal().portal_deliveries\n -\n -builder_by_portal_type = {\n - \'Sale Invoice Transaction\':\n - \'sale_invoice_transaction_trade_model_builder\',\n - \'Purchase Invoice Transaction\':\n - \'purchase_invoice_transaction_trade_model_builder\',\n -}\n -\n -if delivery_portal_type not in builder_by_portal_type:\n - return \n -\n -builder = getattr(portal_deliveries,\n - builder_by_portal_type[delivery_portal_type],\n - None)\n -\n -path = delivery.getPath()\n -tag = \'%s_updateAppliedRule\' % path\n -expand_tag = \'%s_expand\' % path\n -build_tag = \'invoice_transaction_build_trade_model_%s\' % delivery.getRelativeUrl()\n -build_accounting_tag = \'invoice_transaction_build_accounting_%s\' % delivery.getRelativeUrl()\n -\n -delivery.activate(tag=tag, after_tag=expand_tag).Delivery_updateAppliedRule(activate_kw=dict(tag=expand_tag))\n -\n -if builder is not None:\n - explanation_uid_list = [delivery.getUid(), ]\n - packing_list = delivery.getCausalityValue(\n - portal_type=(\'Sale Packing List\',\n - \'Purchase Packing List\'))\n - if packing_list is not None:\n - explanation_uid_list.append(packing_list.getUid())\n - order = packing_list.getCausalityValue(\n - portal_type=(\'Sale Order\',\n - \'Purchase Order\'))\n - if order is not None:\n - explanation_uid_list.append(order.getUid())\n -\n - builder.activate(\n - activity=\'SQLQueue\',\n - after_tag=(tag, expand_tag),\n - tag=build_tag,\n - activate_kw=dict(tag=build_tag)).build(activate_kw=dict(tag=build_tag),\n - explanation_uid=explanation_uid_list)\n -\n - # set the object in building state.\n - delivery.startBuilding()\n - delivery.activate(after_tag=(build_tag, build_accounting_tag)).updateCausalityState()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>sci</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>buildTradeModelLineList</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/guessGroupingReference.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/guessGroupingReference.xml deleted file mode 100644 index 29424827cf..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/guessGroupingReference.xml +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>portal = sci.getPortal()\n -\n -# if we allow grouping with different quantities, we cannot group here\n -# (because the script will group everything)\n -if portal.portal_preferences.getPreference(\n - \'preferred_grouping_with_different_quantities\', 0):\n - return\n -\n -sci[\'object\'].AccountingTransaction_guessGroupedLines()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>sci</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>guessGroupingReference</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/resetGroupingReference.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/resetGroupingReference.xml deleted file mode 100644 index 962c2edae4..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/resetGroupingReference.xml +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>"""When transaction is restarted, we\'ll break existing grouping references on lines.\n -"""\n -transaction = sci[\'object\']\n -for line in transaction.getMovementList(\n - portal_type=sci.getPortal().getPortalAccountingMovementTypeList()):\n - if line.getGroupingReference():\n - line.activate(\n - after_tag=\'accounting_grouping_reference\'\n - ).AccountingTransactionLine_resetGroupingReference()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>sci</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>resetGroupingReference</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/setReferences.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/setReferences.xml deleted file mode 100644 index 4f88612dee..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/setReferences.xml +++ /dev/null @@ -1,138 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>"""Set automatic references on the document.\n -"""\n -\n -transaction = state_change[\'object\']\n -\n -# Get sections.\n -source_section = None\n -source_section_value = transaction.getSourceSectionValue()\n -if source_section_value is not None \\\n - and source_section_value.getPortalType() == \'Organisation\':\n - source_section_value = \\\n - source_section_value.Organisation_getMappingRelatedOrganisation()\n - source_section = source_section_value.getRelativeUrl()\n -\n -destination_section = None\n -destination_section_value = transaction.getDestinationSectionValue()\n -if destination_section_value is not None \\\n - and destination_section_value.getPortalType() == \'Organisation\':\n - destination_section_value = \\\n - destination_section_value.Organisation_getMappingRelatedOrganisation()\n - destination_section = destination_section_value.getRelativeUrl()\n -\n -id_generator = state_change.getPortal().portal_ids.generateNewId\n -previous_id_getter = state_change.getPortal().portal_ids.getLastGeneratedId\n -\n -# Invoice Reference is automatically filled only for Sale Invoice Transaction.\n -if transaction.getPortalType() == \'Sale Invoice Transaction\':\n - if not transaction.getReference():\n - invoice_id_group = (\'accounting\', \'invoice\', source_section)\n - invoice_reference = id_generator(id_generator=\'uid\',\n - id_group=invoice_id_group,\n - default=previous_id_getter(invoice_id_group,\n - default=0) + 1)\n - transaction.setReference(invoice_reference)\n -\n -\n -# Generate new values for Source Reference and Destination Reference.\n -if not transaction.getSourceReference():\n - period = transaction.AccountingTransaction_getAccountingPeriodForSourceSection()\n - period_code = \'\'\n - if period is not None:\n - period_code = period.getShortTitle() or period.getTitle() or \'\'\n - if not period_code:\n - period_code = str(transaction.getStartDate().year())\n - source_id_group = (\'accounting\', \'section\', source_section, period_code)\n - source_reference = id_generator(id_generator=\'uid\',\n - id_group=source_id_group,\n - default=previous_id_getter(source_id_group,\n - default=0) + 1)\n - transaction.setSourceReference(\'%s-%s\' % (period_code, source_reference))\n -\n -if not transaction.getDestinationReference():\n - period = transaction.AccountingTransaction_getAccountingPeriodForDestinationSection()\n - period_code = \'\'\n - if period is not None:\n - period_code = period.getShortTitle() or period.getTitle() or \'\'\n - if not period_code:\n - period_code = str(transaction.getStopDate().year())\n - destination_id_group = (\'accounting\', \'section\', destination_section, period_code)\n - destination_reference = id_generator(id_generator=\'uid\',\n - id_group=destination_id_group,\n - default=previous_id_getter(destination_id_group,\n - default=0) + 1)\n - transaction.setDestinationReference(\'%s-%s\' % (period_code, destination_reference))\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change</string> </value> - </item> - <item> - <key> <string>_proxy_roles</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>setReferences</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/validateTransaction.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/validateTransaction.xml deleted file mode 100644 index 5a3e6c2dd3..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/validateTransaction.xml +++ /dev/null @@ -1,208 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -"""Validates the transaction for both source and destination section.\n -\n -XXX why proxy role ???\n -"""\n -from Products.DCWorkflow.DCWorkflow import ValidationFailed\n -from Products.ERP5Type.Message import translateString\n -\n -transaction = state_change[\'object\']\n -\n -# XXX manually default start date to stop date\n -if not transaction.getStartDate() and transaction.getStopDate():\n - transaction.setStartDate(transaction.getStopDate())\n -\n -# XXX auto-fill mirror accounts, if necessary.\n -transaction.AccountingTransaction_setDefaultMirrorAccountList()\n -\n -# Check constraints\n -transaction.Base_checkConsistency()\n -\n -# Check that the transaction is in an open accounting period when we validate\n -# it.\n -skip_period_validation = state_change[\'kwargs\'].get(\n - \'skip_period_validation\', 0)\n -transition = state_change[\'transition\']\n -if transition.id in (\'plan_action\', \'confirm_action\') :\n - skip_period_validation = 1\n -\n -source_section = transaction.getSourceSectionValue(\n - portal_type=[\'Organisation\', \'Person\'])\n -destination_section = transaction.getDestinationSectionValue(\n - portal_type=[\'Organisation\', \'Person\'])\n -\n -if source_section is None and destination_section is None:\n - raise ValidationFailed(translateString(\'At least one section must be defined.\'))\n -\n -# check that no categories are used for section\n -if transaction.getSourceSectionValue(portal_type=\'Category\') is not None or\\\n - transaction.getDestinationSectionValue(portal_type=\'Category\') is not None:\n - raise ValidationFailed(translateString(\'Using category for section is invalid.\'))\n -\n -transaction_line_list = transaction.getMovementList(\n - portal_type=transaction.getPortalAccountingMovementTypeList())\n -\n -\n -def checkAccountingPeriodRecusivly(accounting_period, transaction_date):\n - valid = accounting_period.getSimulationState() in (\'planned\', \'started\')\n - if not valid:\n - return False\n - for sub_accounting_period in accounting_period.contentValues():\n - if sub_accounting_period.getSimulationState() in (\n - \'deleted\', \'cancelled\'):\n - continue\n - if sub_accounting_period.getStartDate().earliestTime() <= \\\n - transaction_date <= \\\n - sub_accounting_period.getStopDate().latestTime():\n - if not checkAccountingPeriodRecusivly(sub_accounting_period,\n - transaction_date):\n - return False\n - return True\n -\n -if not skip_period_validation :\n - # check the date is in an opened period\n - if source_section is not None:\n - # if we don\'t have any accounts on this side, we don\'t enforce date checks\n - valid_date = False\n - no_accounts = True\n - for line in transaction_line_list:\n - if line.getSource():\n - no_accounts = False\n - if no_accounts:\n - valid_date = True\n - else:\n - section = source_section\n - if section.getPortalType() == \'Organisation\':\n - section = section.Organisation_getMappingRelatedOrganisation()\n - if not len(section.contentValues(\n - filter=dict(portal_type="Accounting Period"))):\n - valid_date = True\n - else:\n - accounting_period = transaction\\\n - .AccountingTransaction_getAccountingPeriodForSourceSection()\n - transaction_date = transaction.getStartDate().earliestTime()\n - valid_date = False\n - if accounting_period is not None:\n - valid_date = checkAccountingPeriodRecusivly(accounting_period,\n - transaction_date)\n -\n - if not valid_date:\n - raise ValidationFailed(translateString("Date is not in a started Accounting Period "\n - "for source section."))\n -\n - # do the same for destination section \n - if destination_section is not None:\n - # if we don\'t have any accounts on this side, we don\'t enforce date checks\n - valid_date = False\n - no_accounts = True\n - for line in transaction_line_list:\n - if line.getDestination():\n - no_accounts = False\n - if no_accounts:\n - valid_date = True\n - else:\n - section = destination_section\n - if section.getPortalType() == \'Organisation\':\n - section = section.Organisation_getMappingRelatedOrganisation()\n - if not len(section.contentValues(\n - filter=dict(portal_type="Accounting Period"))):\n - valid_date = True\n - else:\n - accounting_period = transaction\\\n - .AccountingTransaction_getAccountingPeriodForDestinationSection()\n - transaction_date = transaction.getStopDate().earliestTime()\n - valid_date = False\n - if accounting_period is not None:\n - valid_date = checkAccountingPeriodRecusivly(accounting_period,\n - transaction_date)\n -\n - if not valid_date:\n - raise ValidationFailed(translateString("Date is not in a started Accounting Period "\n - "for destination section."))\n - - -]]></string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change</string> </value> - </item> - <item> - <key> <string>_proxy_roles</string> </key> - <value> - <tuple> - <string>Anonymous</string> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Authenticated</string> - <string>Author</string> - <string>Manager</string> - <string>Member</string> - <string>Owner</string> - <string>Reviewer</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>validateTransaction</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/validateTransactionLines.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/validateTransactionLines.xml deleted file mode 100644 index c410b506be..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/validateTransactionLines.xml +++ /dev/null @@ -1,185 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>"""Validate Transaction Lines for source and destination section.\n -\n -XXX why proxy role ???\n -"""\n -\n -from Products.DCWorkflow.DCWorkflow import ValidationFailed\n -from Products.ERP5Type.Message import translateString\n -\n -transaction = state_change[\'object\']\n -portal = transaction.getPortalObject()\n -bank_account_portal_type = portal.getPortalPaymentNodeTypeList()\n -section_portal_type_list = [\'Person\', \'Organisation\']\n -invalid_state_list = [\'invalidated\', \'deleted\']\n -\n -# first of all, validate the transaction itself\n -container.validateTransaction(state_change)\n -\n -\n -# Check that all lines uses open accounts, and doesn\'t use invalid third\n -# parties or bank accounts\n -transaction_lines = transaction.objectValues(portal_type=transaction.getPortalAccountingMovementTypeList())\n -id_to_delete_list = []\n -for line in transaction_lines:\n -\n - for account, third_party, bank_account in (\n - ( line.getSourceValue(portal_type=\'Account\'),\n - line.getDestinationSectionValue(portal_type=section_portal_type_list),\n - line.getSourcePaymentValue(portal_type=bank_account_portal_type),),\n - ( line.getDestinationValue(portal_type=\'Account\'),\n - line.getSourceSectionValue(portal_type=section_portal_type_list),\n - line.getDestinationPaymentValue(portal_type=bank_account_portal_type),),\n - ):\n -\n - if account is not None and account.getValidationState() != \'validated\':\n - raise ValidationFailed, translateString(\n - "Account ${account_title} is not validated.",\n - mapping=dict(account_title=unicode(\n - account.Account_getFormattedTitle(), \'utf8\')))\n - \n - if third_party is not None and\\\n - third_party.getValidationState() in invalid_state_list:\n - raise ValidationFailed, translateString(\n - "Third party ${third_party_name} is invalid.",\n - mapping=dict(third_party_name=unicode(\n - third_party.getTitle(), \'utf8\')))\n - \n - if bank_account is not None:\n - if bank_account.getValidationState() in invalid_state_list:\n - raise ValidationFailed, translateString(\n - "Bank Account ${bank_account_reference} is invalid.",\n - mapping=dict(bank_account_reference=unicode(\n - bank_account.getReference(), \'utf8\')))\n - \n - if account is not None:\n - # also check that currencies are consistent if we use this quantity for\n - # accounting.\n - bank_account_currency = bank_account.getProperty(\'price_currency\')\n - if bank_account_currency is not None and \\\n - bank_account_currency != line.getResource():\n - raise ValidationFailed, translateString(\n - "Bank Account ${bank_account_reference} "\n - "uses ${bank_account_currency} as default currency.",\n - mapping=dict(bank_account_reference=unicode(bank_account.getReference(), \'utf8\'),\n - bank_account_currency=unicode(bank_account.getPriceCurrencyReference(), \'utf8\')))\n -\n - source_currency = None\n - source_section = line.getSourceSectionValue()\n - if source_section is not None:\n - source_currency = source_section.getProperty(\'price_currency\')\n -\n - if source_currency == line.getResource():\n - if ((line.getSourceCredit() !=\n - line.getSourceInventoriatedTotalAssetCredit()) or (\n - line.getSourceDebit() !=\n - line.getSourceInventoriatedTotalAssetDebit())):\n - raise ValidationFailed(translateString(\n - "Source conversion should not be set."))\n -\n - destination_currency = None\n - destination_section = line.getDestinationSectionValue()\n - if destination_section is not None:\n - destination_currency = destination_section.getProperty(\'price_currency\')\n -\n - if destination_currency == line.getResource():\n - if ((line.getDestinationCredit() !=\n - line.getDestinationInventoriatedTotalAssetCredit()) or (\n - line.getDestinationDebit() !=\n - line.getDestinationInventoriatedTotalAssetDebit())):\n - raise ValidationFailed(translateString(\n - "Destination conversion should not be set."))\n -\n - if line.getSourceInventoriatedTotalAssetPrice() or \\\n - line.getDestinationInventoriatedTotalAssetPrice() or \\\n - line.isSimulated():\n - continue\n - id_to_delete_list.append(line.getId())\n -\n -# Delete empty lines\n -# Don\'t delete everything\n -if len(id_to_delete_list) != len(transaction_lines):\n - transaction.deleteContent(id_to_delete_list)\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change</string> </value> - </item> - <item> - <key> <string>_proxy_roles</string> </key> - <value> - <tuple> - <string>Anonymous</string> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Authenticated</string> - <string>Author</string> - <string>Manager</string> - <string>Member</string> - <string>Owner</string> - <string>Reviewer</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>validateTransactionLines</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states.xml deleted file mode 100644 index 27ec906902..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="States" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>states</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/auto_planned.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/auto_planned.xml deleted file mode 100644 index 74cd124de0..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/auto_planned.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>auto_planned</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple> - <string>cancel</string> - <string>cancel_action</string> - <string>confirm</string> - <string>confirm_action</string> - <string>plan</string> - <string>plan_action</string> - </tuple> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple/> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/cancelled.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/cancelled.xml deleted file mode 100644 index 8a236892e2..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/cancelled.xml +++ /dev/null @@ -1,107 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Cancelled state is used for accounting transactions that have been created mistakenly or which should no longer be taken into account</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>cancelled</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Cancelled</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple/> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/confirmed.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/confirmed.xml deleted file mode 100644 index 2f28e2b6b0..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/confirmed.xml +++ /dev/null @@ -1,123 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Confirmed State is used for accounting transactions that have to be turned into real accounting transactions. This is generally the manager role to confirm a transaction, before it is processed by the accountant.</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>confirmed</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Confirmed</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple> - <string>cancel</string> - <string>cancel_action</string> - <string>start</string> - <string>start_action</string> - <string>stop</string> - </tuple> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple/> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/deleted.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/deleted.xml deleted file mode 100644 index d4bf406f4d..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/deleted.xml +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Documents in this state were deleted by the user as a result of clicking on the trash button or calling the delete action</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>deleted</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Deleted</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple/> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/delivered.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/delivered.xml deleted file mode 100644 index 8b85b107cc..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/delivered.xml +++ /dev/null @@ -1,107 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Closed State is used for accounting transactions that belong to "closed" accounting periods. Basically, the transaction has been completely processed.</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>delivered</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Closed</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple/> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/draft.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/draft.xml deleted file mode 100644 index 2e4390c899..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/draft.xml +++ /dev/null @@ -1,133 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Draft is the initial workflow state for accounting transactions</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>draft</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Draft</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple> - <string>auto_plan</string> - <string>cancel</string> - <string>cancel_action</string> - <string>confirm</string> - <string>confirm_action</string> - <string>delete</string> - <string>delete_action</string> - <string>plan</string> - <string>plan_action</string> - <string>start</string> - <string>stop</string> - <string>stop_action</string> - </tuple> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple/> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/planned.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/planned.xml deleted file mode 100644 index 75da517534..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/planned.xml +++ /dev/null @@ -1,125 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Planned State is used for accounting transactions that have some probability to be turned into real accounting transactions in the future. </string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>planned</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Planned</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple> - <string>cancel</string> - <string>cancel_action</string> - <string>confirm</string> - <string>confirm_action</string> - </tuple> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple/> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/started.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/started.xml deleted file mode 100644 index 96d36776a9..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/started.xml +++ /dev/null @@ -1,118 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Journalised State is use for accounting transaction that have been recorded in a journal as a debit and a credit.</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>started</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Journalised</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple> - <string>cancel</string> - <string>cancel_accounting_action</string> - <string>stop</string> - <string>stop_action</string> - </tuple> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple/> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/stopped.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/stopped.xml deleted file mode 100644 index 698ff634fb..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/states/stopped.xml +++ /dev/null @@ -1,114 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Posted State is used for accounting transactions that have been properly posted to the ledger accounts and validated by an accountant.</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>stopped</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Posted to General Ledger</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple> - <string>cancel</string> - <string>cancel_accounting_action</string> - <string>deliver</string> - <string>deliver_action</string> - <string>restart</string> - <string>restart_action</string> - </tuple> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple/> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions.xml deleted file mode 100644 index aa36144efe..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Transitions" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>transitions</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/auto_plan.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/auto_plan.xml deleted file mode 100644 index 3675b3965e..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/auto_plan.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>plan an order (automatically done by the system)</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>auto_plan</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>auto_planned</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Auto Plan</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/cancel.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/cancel.xml deleted file mode 100644 index eb3d51d65c..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/cancel.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>resetGroupingReference</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>cancel a transaction which has been done by mistake</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>cancel</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>cancelled</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Cancel Transaction</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/cancel_accounting_action.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/cancel_accounting_action.xml deleted file mode 100644 index f1945b2d54..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/cancel_accounting_action.xml +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Cancel Transaction</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=cancel_accounting_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>cancel</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Cancel the transaction, when it already have a meaning from accounting point of view</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>cancel_accounting_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Cancel Transaction Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/cancel_action.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/cancel_action.xml deleted file mode 100644 index 43f7d6432d..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/cancel_action.xml +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Cancel Transaction</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=cancel_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>cancel</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>cancel a transaction which has been done by mistake</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>cancel_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Cancel Transaction Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignor</string> - <string>Assignee</string> - <string>Associate</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/confirm.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/confirm.xml deleted file mode 100644 index 9cc3c022fd..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/confirm.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>buildTradeModelLineList</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>validate a planned transaction that will be turned into real accounting transactions</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>confirm</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>confirmed</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string>setReferences</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Confirm Transaction</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/confirm_action.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/confirm_action.xml deleted file mode 100644 index ddff237351..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/confirm_action.xml +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Confirm Transaction</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=confirm_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>confirm</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>validate a planified transactions that have to be turned into real accounting transactions</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>confirm_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string>validateTransactionLines</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Confirm Transaction Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignor</string> - <string>Assignee</string> - <string>Associate</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/delete.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/delete.xml deleted file mode 100644 index fec7699771..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/delete.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>delete</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>deleted</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/delete_action.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/delete_action.xml deleted file mode 100644 index b9dc767dd7..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/delete_action.xml +++ /dev/null @@ -1,78 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>delete</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>mark the transaction as deleted, it will no longer be visible</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>delete_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Delete Transaction Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Owner</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/deliver.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/deliver.xml deleted file mode 100644 index a138cb6000..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/deliver.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Mark transaction that belongs to "closed" accounting periods: the transaction has been fully processed.</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>deliver</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>delivered</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Definitively Close Transaction</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/deliver_action.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/deliver_action.xml deleted file mode 100644 index 8313db6a64..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/deliver_action.xml +++ /dev/null @@ -1,94 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Definitively Close Transaction</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=deliver_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>deliver</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Mark transaction that belongs to "closed" accounting periods</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>deliver_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string>validateTransactionLines</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Definitively Close Transaction Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignor</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>python: here.getProperty(\'causality_state\', \'default\') != \'building\' and not here.isDivergent()</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/plan.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/plan.xml deleted file mode 100644 index e6f34a560a..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/plan.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>Delivery_updateSimulation</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>A planned transaction is planned to be processed. The further step will be to confirm the transaction.</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>plan</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>planned</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Plan Transaction</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/plan_action.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/plan_action.xml deleted file mode 100644 index de6216aaa7..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/plan_action.xml +++ /dev/null @@ -1,78 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Plan Transaction</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=plan_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>plan</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Plan will set the document State as planned in ERP5</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>plan_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string>validateTransaction</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Plan Transaction Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignor</string> - <string>Assignee</string> - <string>Associate</string> - <string>Owner</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/restart.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/restart.xml deleted file mode 100644 index 718efbe567..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/restart.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>resetGroupingReference</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Restarts a document that would have been closed previously, in order to modify it, such as an accounting period</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>restart</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>started</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Restart Transaction</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/restart_action.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/restart_action.xml deleted file mode 100644 index 3510a8f095..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/restart_action.xml +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Restart Transaction (journalise)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=restart_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>restart</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Restarts a document that would have been closed previously, in order to modify it, such as an accounting period</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>restart_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Restart Transaction Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/start.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/start.xml deleted file mode 100644 index f750d2946e..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/start.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>Delivery_Build</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Marks the transaction that has been recorded in a journal as debit and credit</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>start</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>started</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Journalise Transaction</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/start_action.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/start_action.xml deleted file mode 100644 index 861259d7cc..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/start_action.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Journalise Transaction</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=start_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>start</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Marks the transaction that has been recorded in a journal as debit and credit</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>start_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string>validateTransaction</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Journalise Transaction Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>python: here.getProperty(\'causality_state\', \'default\') != \'building\' and not here.isDivergent()</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/stop.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/stop.xml deleted file mode 100644 index 87a08be4dd..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/stop.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>guessGroupingReference</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>This action will post the transaction to the General Ledger. It can be journalised again thanks to the restart action</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>stop</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>stopped</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string>setReferences</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Post Transaction</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/stop_action.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/stop_action.xml deleted file mode 100644 index 2e7f6994c5..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/stop_action.xml +++ /dev/null @@ -1,95 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Post Transaction to General Ledger</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=stop_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>stop</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>This action will post the transaction to the General Ledger. It can be journalised again thanks to the restart action</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>stop_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string>validateTransactionLines</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Post Transaction Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignor</string> - <string>Assignee</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>python: here.getProperty(\'causality_state\', \'default\') != \'building\' and not here.isDivergent()</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables.xml deleted file mode 100644 index bb12bef805..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Variables" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>variables</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/action.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/action.xml deleted file mode 100644 index e00c871334..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/action.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>action</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <tuple> - <string>Products.CMFCore.Expression</string> - <string>Expression</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>transition/getId|nothing</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/actor.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/actor.xml deleted file mode 100644 index 493f0994f7..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/actor.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>actor</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <tuple> - <string>Products.CMFCore.Expression</string> - <string>Expression</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>user/getUserName</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/causality_state.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/causality_state.xml deleted file mode 100644 index 5261268d41..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/causality_state.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>causality_state</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/comment.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/comment.xml deleted file mode 100644 index 73cd2e7913..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/comment.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>comment</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <tuple> - <string>Products.CMFCore.Expression</string> - <string>Expression</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>python:state_change.kwargs.get(\'comment\',\'\')</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/error_message.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/error_message.xml deleted file mode 100644 index 69512a44bc..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/error_message.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>error_message</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/history.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/history.xml deleted file mode 100644 index e0fe339d69..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/history.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>history</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <tuple> - <string>Products.CMFCore.Expression</string> - <string>Expression</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>state_change/getHistory</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/portal_type.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/portal_type.xml deleted file mode 100644 index 521a53aa17..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/portal_type.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>portal_type</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>0</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/time.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/time.xml deleted file mode 100644 index 5ae6932d99..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/variables/time.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>time</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <tuple> - <string>Products.CMFCore.Expression</string> - <string>Expression</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>state_change/getDateTime</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists.xml deleted file mode 100644 index c7242ee114..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Worklists" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>worklists</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/1_draft_transaction_list.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/1_draft_transaction_list.xml deleted file mode 100644 index d562cbfd9a..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/1_draft_transaction_list.xml +++ /dev/null @@ -1,89 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>My Drafts of Accounting Transactions (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -accounting_module/view?reset:int=1&local_roles=%(local_roles)s&simulation_state=draft&portal_type=%(portal_type)s§ion_category= - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>1_draft_transaction_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Owner</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>draft</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/2_planned_confirmed_transaction_list.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/2_planned_confirmed_transaction_list.xml deleted file mode 100644 index 4567ed72a5..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/2_planned_confirmed_transaction_list.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Accounting Transactions to Start (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -accounting_module/view?reset:int=1&local_roles=%(local_roles)s&simulation_state:list=planned&simulation_state:list=confirmed&portal_type=%(portal_type)s§ion_category= - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>2_planned_confirmed_transaction_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>planned</string> - <string>confirmed</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/4_started_transaction_list.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/4_started_transaction_list.xml deleted file mode 100644 index a56abc0edd..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/4_started_transaction_list.xml +++ /dev/null @@ -1,89 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Accounting Transactions to Post (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -accounting_module/view?reset:int=1&local_roles=%(local_roles)s&simulation_state=started&portal_type=%(portal_type)s§ion_category= - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>4_started_transaction_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>started</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/5_stopped_transaction_list.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/5_stopped_transaction_list.xml deleted file mode 100644 index 8b0f8e3e52..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/5_stopped_transaction_list.xml +++ /dev/null @@ -1,89 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Accounting Transactions to Close (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -accounting_module/view?reset:int=1&local_roles=%(local_roles)s&simulation_state=stopped&portal_type=%(portal_type)s§ion_category= - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>5_stopped_transaction_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignor</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>stopped</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/99a_diverged_sale_invoice_list.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/99a_diverged_sale_invoice_list.xml deleted file mode 100644 index b521c990fc..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/99a_diverged_sale_invoice_list.xml +++ /dev/null @@ -1,111 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Sale Invoices to Solve (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -accounting_module/view?reset:int=1&local_roles=%(local_roles)s&portal_type=%(portal_type)s&causality_state=diverged&simulation_state:list=planned&simulation_state:list=confirmed&simulation_state:list=started&simulation_state:list=stopped&simulation_state:list=delivered§ion_category= - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>99a_diverged_sale_invoice_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>causality_state</string> </key> - <value> - <tuple> - <string>diverged</string> - </tuple> - </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Sale Invoice Transaction</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>planned</string> - <string>confirmed</string> - <string>started</string> - <string>stopped</string> - <string>delivered</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/99b_diverged_purchase_invoice_list.xml b/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/99b_diverged_purchase_invoice_list.xml deleted file mode 100644 index 000ef9d245..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/WorkflowTemplateItem/portal_workflow/accounting_workflow/worklists/99b_diverged_purchase_invoice_list.xml +++ /dev/null @@ -1,111 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Purchase Invoices to Solve (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -accounting_module/view?reset:int=1&local_roles=%(local_roles)s&portal_type=%(portal_type)s&causality_state=diverged&simulation_state:list=planned&simulation_state:list=confirmed&simulation_state:list=started&simulation_state:list=stopped&simulation_state:list=delivered§ion_category= - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>99b_diverged_purchase_invoice_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>causality_state</string> </key> - <value> - <tuple> - <string>diverged</string> - </tuple> - </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Purchase Invoice Transaction</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>planned</string> - <string>confirmed</string> - <string>started</string> - <string>stopped</string> - <string>delivered</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting_simulation_legacy/bt/copyright_list b/bt5/erp5_accounting_simulation_legacy/bt/copyright_list deleted file mode 100644 index fe948b9fb7..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/bt/copyright_list +++ /dev/null @@ -1 +0,0 @@ -Copyright (c) 2010 Nexedi SA \ No newline at end of file diff --git a/bt5/erp5_accounting_simulation_legacy/bt/dependency_list b/bt5/erp5_accounting_simulation_legacy/bt/dependency_list deleted file mode 100644 index 611c4489dc..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/bt/dependency_list +++ /dev/null @@ -1,2 +0,0 @@ -erp5_simulation_legacy -erp5_accounting \ No newline at end of file diff --git a/bt5/erp5_accounting_simulation_legacy/bt/license b/bt5/erp5_accounting_simulation_legacy/bt/license deleted file mode 100644 index 3a3e12bcad..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/bt/license +++ /dev/null @@ -1 +0,0 @@ -GPL \ No newline at end of file diff --git a/bt5/erp5_accounting_simulation_legacy/bt/revision b/bt5/erp5_accounting_simulation_legacy/bt/revision deleted file mode 100644 index c7930257df..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/bt/revision +++ /dev/null @@ -1 +0,0 @@ -7 \ No newline at end of file diff --git a/bt5/erp5_accounting_simulation_legacy/bt/template_action_path_list b/bt5/erp5_accounting_simulation_legacy/bt/template_action_path_list deleted file mode 100644 index 996e41606a..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/bt/template_action_path_list +++ /dev/null @@ -1,3 +0,0 @@ -Invoice Rule | view -Payment Rule | view -Payment Simulation Rule | cell_view \ No newline at end of file diff --git a/bt5/erp5_accounting_simulation_legacy/bt/template_format_version b/bt5/erp5_accounting_simulation_legacy/bt/template_format_version deleted file mode 100644 index 56a6051ca2..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/bt/template_format_version +++ /dev/null @@ -1 +0,0 @@ -1 \ No newline at end of file diff --git a/bt5/erp5_accounting_simulation_legacy/bt/template_path_list b/bt5/erp5_accounting_simulation_legacy/bt/template_path_list deleted file mode 100644 index a9f1db1070..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/bt/template_path_list +++ /dev/null @@ -1,10 +0,0 @@ -portal_rules/default_accounting_transaction_root_simulation_rule -portal_rules/default_accounting_transaction_root_simulation_rule/** -portal_rules/default_invoice_root_simulation_rule -portal_rules/default_invoice_root_simulation_rule/** -portal_rules/default_invoice_rule -portal_rules/default_invoice_rule/** -portal_rules/default_payment_rule -portal_rules/default_payment_rule/** -portal_rules/default_payment_simulation_rule -portal_rules/default_payment_simulation_rule/** \ No newline at end of file diff --git a/bt5/erp5_accounting_simulation_legacy/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_accounting_simulation_legacy/bt/template_portal_type_allowed_content_type_list deleted file mode 100644 index 83b6f5dd3f..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/bt/template_portal_type_allowed_content_type_list +++ /dev/null @@ -1,22 +0,0 @@ -Accounting Transaction Root Simulation Rule | Category Divergence Tester -Accounting Transaction Root Simulation Rule | Composed Divergence Tester -Accounting Transaction Root Simulation Rule | Property Divergence Tester -Accounting Transaction Root Simulation Rule | Quantity Divergence Tester -Invoice Root Simulation Rule | Category Divergence Tester -Invoice Root Simulation Rule | Composed Divergence Tester -Invoice Root Simulation Rule | Property Divergence Tester -Invoice Root Simulation Rule | Quantity Divergence Tester -Invoice Rule | Category Divergence Tester -Invoice Rule | Composed Divergence Tester -Invoice Rule | Property Divergence Tester -Invoice Rule | Quantity Divergence Tester -Payment Rule | Category Divergence Tester -Payment Rule | Composed Divergence Tester -Payment Rule | Property Divergence Tester -Payment Rule | Quantity Divergence Tester -Payment Simulation Rule | Category Divergence Tester -Payment Simulation Rule | Composed Divergence Tester -Payment Simulation Rule | Property Divergence Tester -Payment Simulation Rule | Quantity Divergence Tester -Rule Tool | Invoice Rule -Rule Tool | Payment Rule \ No newline at end of file diff --git a/bt5/erp5_accounting_simulation_legacy/bt/template_portal_type_id_list b/bt5/erp5_accounting_simulation_legacy/bt/template_portal_type_id_list deleted file mode 100644 index ace9e4cf61..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/bt/template_portal_type_id_list +++ /dev/null @@ -1,2 +0,0 @@ -Invoice Rule -Payment Rule \ No newline at end of file diff --git a/bt5/erp5_accounting_simulation_legacy/bt/template_portal_type_workflow_chain_list b/bt5/erp5_accounting_simulation_legacy/bt/template_portal_type_workflow_chain_list deleted file mode 100644 index 276ca03998..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/bt/template_portal_type_workflow_chain_list +++ /dev/null @@ -1,4 +0,0 @@ -Invoice Rule | edit_workflow -Invoice Rule | rule_validation_workflow -Payment Rule | edit_workflow -Payment Rule | rule_validation_workflow \ No newline at end of file diff --git a/bt5/erp5_accounting_simulation_legacy/bt/template_skin_id_list b/bt5/erp5_accounting_simulation_legacy/bt/template_skin_id_list deleted file mode 100644 index 71daef06ab..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/bt/template_skin_id_list +++ /dev/null @@ -1 +0,0 @@ -erp5_accounting_simulation_legacy \ No newline at end of file diff --git a/bt5/erp5_accounting_simulation_legacy/bt/template_workflow_id_list b/bt5/erp5_accounting_simulation_legacy/bt/template_workflow_id_list deleted file mode 100644 index 9142552d6a..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/bt/template_workflow_id_list +++ /dev/null @@ -1 +0,0 @@ -accounting_workflow \ No newline at end of file diff --git a/bt5/erp5_accounting_simulation_legacy/bt/title b/bt5/erp5_accounting_simulation_legacy/bt/title deleted file mode 100644 index 71daef06ab..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/bt/title +++ /dev/null @@ -1 +0,0 @@ -erp5_accounting_simulation_legacy \ No newline at end of file diff --git a/bt5/erp5_accounting_simulation_legacy/bt/version b/bt5/erp5_accounting_simulation_legacy/bt/version deleted file mode 100644 index ceab6e11ec..0000000000 --- a/bt5/erp5_accounting_simulation_legacy/bt/version +++ /dev/null @@ -1 +0,0 @@ -0.1 \ No newline at end of file diff --git a/bt5/erp5_invoicing_simulation_legacy/ActionTemplateItem/portal_types/Invoice%20Transaction%20Rule/divergence.xml b/bt5/erp5_invoicing_simulation_legacy/ActionTemplateItem/portal_types/Invoice%20Transaction%20Rule/divergence.xml deleted file mode 100644 index a58cdf99a4..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/ActionTemplateItem/portal_types/Invoice%20Transaction%20Rule/divergence.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_simulation_legacy/ActionTemplateItem/portal_types/Invoice%20Transaction%20Rule/view.xml b/bt5/erp5_invoicing_simulation_legacy/ActionTemplateItem/portal_types/Invoice%20Transaction%20Rule/view.xml deleted file mode 100644 index a3a2c32a4c..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/ActionTemplateItem/portal_types/Invoice%20Transaction%20Rule/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_simulation_legacy/ActionTemplateItem/portal_types/Invoice%20Transaction%20Simulation%20Rule/cell_view.xml b/bt5/erp5_invoicing_simulation_legacy/ActionTemplateItem/portal_types/Invoice%20Transaction%20Simulation%20Rule/cell_view.xml deleted file mode 100644 index 3be34251c8..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/ActionTemplateItem/portal_types/Invoice%20Transaction%20Simulation%20Rule/cell_view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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>cell_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>2.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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_simulation_legacy/ActionTemplateItem/portal_types/Invoicing%20Rule/view.xml b/bt5/erp5_invoicing_simulation_legacy/ActionTemplateItem/portal_types/Invoicing%20Rule/view.xml deleted file mode 100644 index 4a16964623..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/ActionTemplateItem/portal_types/Invoicing%20Rule/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_simulation_legacy/ActionTemplateItem/portal_types/Trade%20Model%20Rule/view.xml b/bt5/erp5_invoicing_simulation_legacy/ActionTemplateItem/portal_types/Trade%20Model%20Rule/view.xml deleted file mode 100644 index 4a16964623..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/ActionTemplateItem/portal_types/Trade%20Model%20Rule/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder.xml deleted file mode 100644 index 370e86fbb5..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Builder" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>comment</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_script_id</string> </key> - <value> <string>PaymentTransaction_postGeneration</string> </value> - </item> - <item> - <key> <string>delivery_cell_collect_order</string> </key> - <value> - <tuple> - <string>PathMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_cell_portal_type</string> </key> - <value> <string>Delivery Cell</string> </value> - </item> - <item> - <key> <string>delivery_cell_separate_order</string> </key> - <value> - <tuple> - <string>calculateSeparatePrice</string> - <string>calculateAddQuantity</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_collect_order</string> </key> - <value> - <tuple> - <string>OrderMovementGroup</string> - <string>DateMovementGroup</string> - <string>SectionPathMovementGroup</string> - <string>PaymentPathMovementGroup</string> - <string>ResourceMovementGroup</string> - <string>PaymentModeMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_collect_order</string> </key> - <value> - <tuple> - <string>QuantitySignMovementGroup</string> - <string>PathMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_portal_type</string> </key> - <value> <string>Accounting Transaction Line</string> </value> - </item> - <item> - <key> <string>delivery_module</string> </key> - <value> <string>accounting_module</string> </value> - </item> - <item> - <key> <string>delivery_portal_type</string> </key> - <value> <string>Payment Transaction</string> </value> - </item> - <item> - <key> <string>delivery_select_method_id</string> </key> - <value> <string>DeliveryBuilder_selectPlannedDeliveryList</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>payment_transaction_builder</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Builder</string> </value> - </item> - <item> - <key> <string>simulation_select_method_id</string> </key> - <value> <string>PaymentTransaction_selectMovement</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Payment Transaction Builder</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_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_cell.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_cell.xml deleted file mode 100644 index f7459e190c..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_cell.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/cell</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_cell</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>source</string> - <string>destination</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_cell</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_delivery.xml deleted file mode 100644 index d9227cdd04..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_delivery.xml +++ /dev/null @@ -1,56 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>source_payment</string> - <string>destination_payment</string> - <string>source_section</string> - <string>destination_section</string> - <string>payment_mode</string> - <string>resource</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_line.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_line.xml deleted file mode 100644 index ed0a877601..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/category_movement_group_on_line.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>source</string> - <string>destination</string> - <string>source_project</string> - <string>destination_project</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/delivery_causality_assignement_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/delivery_causality_assignement_movement_group_on_delivery.xml deleted file mode 100644 index 2b93245cbc..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/delivery_causality_assignement_movement_group_on_delivery.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Causality Assignment Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>delivery_causality_assignement_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>100</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Causality Assignment Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Delivery Causality Assignement Movement Group On Delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/mirror_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/mirror_movement_group_on_delivery.xml deleted file mode 100644 index 0aaa94697b..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/mirror_movement_group_on_delivery.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Mirror Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>mirror_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Mirror Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>mirror_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/property_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/property_movement_group_on_delivery.xml deleted file mode 100644 index 6436fb8009..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/payment_transaction_builder/property_movement_group_on_delivery.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>start_date</string> - <string>stop_date</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder.xml deleted file mode 100644 index 8c11b97d6f..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder.xml +++ /dev/null @@ -1,184 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Builder" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>collect_order</string> </key> - <value> - <tuple> - <string>OrderMovementGroup</string> - <string>PathMovementGroup</string> - <string>DateMovementGroup</string> - <string>ResourceMovementGroup</string> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>collect_order_list</string> </key> - <value> - <list> - <string>test</string> - <string>test2</string> - </list> - </value> - </item> - <item> - <key> <string>collect_order_list_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>comment</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_method_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_script_id</string> </key> - <value> <string>InvoiceTransaction_postGeneration</string> </value> - </item> - <item> - <key> <string>delivery_cell_collect_order</string> </key> - <value> - <tuple> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_cell_portal_type</string> </key> - <value> <string>Invoice Cell</string> </value> - </item> - <item> - <key> <string>delivery_cell_separate_order</string> </key> - <value> - <tuple> - <string>calculateSeparatePrice</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_collect_order</string> </key> - <value> - <tuple> - <string>DateMovementGroup</string> - <string>PathMovementGroup</string> - <string>SectionPathMovementGroup</string> - <string>CausalityMovementGroup</string> - <string>PriceCurrencyMovementGroup</string> - <string>DecisionPathMovementGroup</string> - <string>AdministrationPathMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_collect_order</string> </key> - <value> - <tuple> - <string>ResourceMovementGroup</string> - <string>BaseVariantMovementGroup</string> - <string>BaseContributionMovementGroup</string> - <string>AggregateMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_portal_type</string> </key> - <value> <string>Invoice Line</string> </value> - </item> - <item> - <key> <string>delivery_module</string> </key> - <value> <string>accounting_module</string> </value> - </item> - <item> - <key> <string>delivery_portal_type</string> </key> - <value> <string>Purchase Invoice Transaction</string> </value> - </item> - <item> - <key> <string>delivery_select_method_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Builds Purchase Invoices from Packing list related simulation movements</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>purchase_invoice_builder</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Builder</string> </value> - </item> - <item> - <key> <string>resource_portal_type</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>simulation_select_method_id</string> </key> - <value> <string>PurchaseInvoiceTransaction_selectPackingListMovement</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Purchase Invoice Builder</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_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/base_variant_movement_group_in_line.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/base_variant_movement_group_in_line.xml deleted file mode 100644 index 5d8672824a..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/base_variant_movement_group_in_line.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Base Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/category_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/category_movement_group_on_delivery.xml deleted file mode 100644 index 14de6c3077..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/category_movement_group_on_delivery.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>delivery_mode</string> - <string>incoterm</string> - <string>source</string> - <string>destination</string> - <string>source_section</string> - <string>destination_section</string> - <string>source_decision</string> - <string>destination_decision</string> - <string>source_administration</string> - <string>destination_administration</string> - <string>source_project</string> - <string>destination_project</string> - <string>source_payment</string> - <string>destination_payment</string> - <string>price_currency</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/category_movement_group_on_line.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/category_movement_group_on_line.xml deleted file mode 100644 index c8cb87018c..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/category_movement_group_on_line.xml +++ /dev/null @@ -1,59 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>resource</string> - <string>aggregate</string> - <string>quantity_unit</string> - <string>base_contribution</string> - <string>base_application</string> - <string>source_function</string> - <string>destination_function</string> - <string>source_account</string> - <string>destination_account</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/causality_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/causality_movement_group_on_delivery.xml deleted file mode 100644 index c21b216321..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/causality_movement_group_on_delivery.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Causality Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>causality_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Causality Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>causality_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/delivery_causality_assignement_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/delivery_causality_assignement_movement_group_on_delivery.xml deleted file mode 100644 index 2b93245cbc..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/delivery_causality_assignement_movement_group_on_delivery.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Causality Assignment Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>delivery_causality_assignement_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>100</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Causality Assignment Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Delivery Causality Assignement Movement Group On Delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/property_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/property_movement_group_on_delivery.xml deleted file mode 100644 index 49a31d06eb..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/property_movement_group_on_delivery.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>start_date</string> - <string>stop_date</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/property_movement_group_on_line.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/property_movement_group_on_line.xml deleted file mode 100644 index 33d8dbd158..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/property_movement_group_on_line.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>description</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> - <none/> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/variant_movement_group_on_cell.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/variant_movement_group_on_cell.xml deleted file mode 100644 index f9f4145ef0..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_builder/variant_movement_group_on_cell.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/cell</string> - <string>divergence_scope/category</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder.xml deleted file mode 100644 index 8961857b0e..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder.xml +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Builder" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>collect_order</string> </key> - <value> - <tuple> - <string>OrderMovementGroup</string> - <string>PathMovementGroup</string> - <string>DateMovementGroup</string> - <string>ResourceMovementGroup</string> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>collect_order_list</string> </key> - <value> - <list> - <string>test</string> - <string>test2</string> - </list> - </value> - </item> - <item> - <key> <string>collect_order_list_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>comment</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_method_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_script_id</string> </key> - <value> <string>InvoiceTransaction_postTransactionLineGeneration</string> </value> - </item> - <item> - <key> <string>delivery_cell_collect_order</string> </key> - <value> - <tuple> - <string>ResourceMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_cell_portal_type</string> </key> - <value> <string>Delivery Cell</string> </value> - </item> - <item> - <key> <string>delivery_cell_separate_order</string> </key> - <value> - <tuple> - <string>calculateAddQuantity</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_collect_order</string> </key> - <value> - <tuple> - <string>DateMovementGroup</string> - <string>SectionPathMovementGroup</string> - <string>CausalityMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_collect_order</string> </key> - <value> - <tuple> - <string>QuantitySignMovementGroup</string> - <string>PathMovementGroup</string> - <string>ResourceMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_portal_type</string> </key> - <value> <string>Purchase Invoice Transaction Line</string> </value> - </item> - <item> - <key> <string>delivery_module</string> </key> - <value> <string>accounting_module</string> </value> - </item> - <item> - <key> <string>delivery_portal_type</string> </key> - <value> <string>Purchase Invoice Transaction</string> </value> - </item> - <item> - <key> <string>delivery_select_method_id</string> </key> - <value> <string>InvoiceTransaction_selectDelivery</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Build Accounting Lines on Purchase Invoice Transactions</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>purchase_invoice_transaction_builder</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Builder</string> </value> - </item> - <item> - <key> <string>resource_portal_type</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>simulation_select_method_id</string> </key> - <value> <string>PurchaseInvoiceTransaction_selectInvoiceMovement</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Purchase Invoice Transaction Builder</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_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/category_movement_group_on_cell.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/category_movement_group_on_cell.xml deleted file mode 100644 index 4f203c4281..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/category_movement_group_on_cell.xml +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/cell</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_cell</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>resource</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_cell</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/category_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/category_movement_group_on_delivery.xml deleted file mode 100644 index ecdbb5f304..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/category_movement_group_on_delivery.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>source_section</string> - <string>destination_section</string> - <string>source_payment</string> - <string>destination_payment</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/category_movement_group_on_line.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/category_movement_group_on_line.xml deleted file mode 100644 index 0fe758a8c4..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/category_movement_group_on_line.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>resource</string> - <string>source</string> - <string>destination</string> - <string>product_line</string> - <string>source_function</string> - <string>destination_function</string> - <string>source_project</string> - <string>destination_project</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/causality_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/causality_movement_group_on_delivery.xml deleted file mode 100644 index 7cfbec5605..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/causality_movement_group_on_delivery.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="First Causality Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>BPM modification - used instead of Causality Movement Group to group orphaned parent movements coming from invoice</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>causality_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>First Causality Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>First Causality Movement Group</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/property_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/property_movement_group_on_delivery.xml deleted file mode 100644 index 6436fb8009..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/property_movement_group_on_delivery.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>start_date</string> - <string>stop_date</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/property_movement_group_on_line.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/property_movement_group_on_line.xml deleted file mode 100644 index d9af1cbf40..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_builder/property_movement_group_on_line.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>destination_total_asset_price</string> - <string>source_total_asset_price</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>property_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder.xml deleted file mode 100644 index 295a6f81f3..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder.xml +++ /dev/null @@ -1,175 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Builder" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>collect_order</string> </key> - <value> - <tuple> - <string>OrderMovementGroup</string> - <string>PathMovementGroup</string> - <string>DateMovementGroup</string> - <string>ResourceMovementGroup</string> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>collect_order_list</string> </key> - <value> - <list> - <string>test</string> - <string>test2</string> - </list> - </value> - </item> - <item> - <key> <string>collect_order_list_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>comment</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_method_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_script_id</string> </key> - <value> <string>Invoice_reindexRelatedSimulation</string> </value> - </item> - <item> - <key> <string>delivery_cell_collect_order</string> </key> - <value> - <tuple> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_cell_portal_type</string> </key> - <value> <string>Invoice Cell</string> </value> - </item> - <item> - <key> <string>delivery_cell_separate_order</string> </key> - <value> - <tuple> - <string>calculateSeparatePrice</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_collect_order</string> </key> - <value> - <tuple> - <string>CausalityMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_collect_order</string> </key> - <value> - <tuple> - <string>ResourceMovementGroup</string> - <string>BaseVariantMovementGroup</string> - <string>BaseApplicationMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_portal_type</string> </key> - <value> <string>Invoice Line</string> </value> - </item> - <item> - <key> <string>delivery_module</string> </key> - <value> <string>accounting_module</string> </value> - </item> - <item> - <key> <string>delivery_portal_type</string> </key> - <value> <string>Purchase Invoice Transaction</string> </value> - </item> - <item> - <key> <string>delivery_select_method_id</string> </key> - <value> <string>InvoiceTransaction_selectDelivery</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Add Invoice Lines from Trade Model Lines</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>purchase_invoice_transaction_trade_model_builder</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Builder</string> </value> - </item> - <item> - <key> <string>resource_portal_type</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>simulation_select_method_id</string> </key> - <value> <string>PurchaseInvoice_selectTradeModelMovementList</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Purchase Invoice Transaction Trade Model Line Builder</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_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/base_variant_movement_group_in_line.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/base_variant_movement_group_in_line.xml deleted file mode 100644 index 5d8672824a..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/base_variant_movement_group_in_line.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Base Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/category_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/category_movement_group_on_delivery.xml deleted file mode 100644 index 14de6c3077..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/category_movement_group_on_delivery.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>delivery_mode</string> - <string>incoterm</string> - <string>source</string> - <string>destination</string> - <string>source_section</string> - <string>destination_section</string> - <string>source_decision</string> - <string>destination_decision</string> - <string>source_administration</string> - <string>destination_administration</string> - <string>source_project</string> - <string>destination_project</string> - <string>source_payment</string> - <string>destination_payment</string> - <string>price_currency</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/category_movement_group_on_line.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/category_movement_group_on_line.xml deleted file mode 100644 index c8cb87018c..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/category_movement_group_on_line.xml +++ /dev/null @@ -1,59 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>resource</string> - <string>aggregate</string> - <string>quantity_unit</string> - <string>base_contribution</string> - <string>base_application</string> - <string>source_function</string> - <string>destination_function</string> - <string>source_account</string> - <string>destination_account</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/causality_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/causality_movement_group_on_delivery.xml deleted file mode 100644 index c21b216321..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/causality_movement_group_on_delivery.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Causality Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>causality_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Causality Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>causality_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/property_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/property_movement_group_on_delivery.xml deleted file mode 100644 index 49a31d06eb..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/property_movement_group_on_delivery.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>start_date</string> - <string>stop_date</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/property_movement_group_on_line.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/property_movement_group_on_line.xml deleted file mode 100644 index 885ac3a97a..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/property_movement_group_on_line.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>description</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> - <none/> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/variant_movement_group_on_cell.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/variant_movement_group_on_cell.xml deleted file mode 100644 index f9f4145ef0..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder/variant_movement_group_on_cell.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/cell</string> - <string>divergence_scope/category</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder.xml deleted file mode 100644 index 4c2cf3428f..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder.xml +++ /dev/null @@ -1,184 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Builder" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>collect_order</string> </key> - <value> - <tuple> - <string>OrderMovementGroup</string> - <string>PathMovementGroup</string> - <string>DateMovementGroup</string> - <string>ResourceMovementGroup</string> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>collect_order_list</string> </key> - <value> - <list> - <string>test</string> - <string>test2</string> - </list> - </value> - </item> - <item> - <key> <string>collect_order_list_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>comment</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_method_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_script_id</string> </key> - <value> <string>InvoiceTransaction_postGeneration</string> </value> - </item> - <item> - <key> <string>delivery_cell_collect_order</string> </key> - <value> - <tuple> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_cell_portal_type</string> </key> - <value> <string>Invoice Cell</string> </value> - </item> - <item> - <key> <string>delivery_cell_separate_order</string> </key> - <value> - <tuple> - <string>calculateSeparatePrice</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_collect_order</string> </key> - <value> - <tuple> - <string>DateMovementGroup</string> - <string>PathMovementGroup</string> - <string>SectionPathMovementGroup</string> - <string>CausalityMovementGroup</string> - <string>DecisionPathMovementGroup</string> - <string>AdministrationPathMovementGroup</string> - <string>PriceCurrencyMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_collect_order</string> </key> - <value> - <tuple> - <string>ResourceMovementGroup</string> - <string>BaseVariantMovementGroup</string> - <string>BaseContributionMovementGroup</string> - <string>AggregateMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_portal_type</string> </key> - <value> <string>Invoice Line</string> </value> - </item> - <item> - <key> <string>delivery_module</string> </key> - <value> <string>accounting_module</string> </value> - </item> - <item> - <key> <string>delivery_portal_type</string> </key> - <value> <string>Sale Invoice Transaction</string> </value> - </item> - <item> - <key> <string>delivery_select_method_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Builds Sale Invoices from Packing list related simulation movements</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>sale_invoice_builder</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Builder</string> </value> - </item> - <item> - <key> <string>resource_portal_type</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>simulation_select_method_id</string> </key> - <value> <string>SaleInvoiceTransaction_selectPackingListMovement</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Sale Invoice Builder</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_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/base_variant_movement_group_in_line.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/base_variant_movement_group_in_line.xml deleted file mode 100644 index 5d8672824a..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/base_variant_movement_group_in_line.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Base Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/category_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/category_movement_group_on_delivery.xml deleted file mode 100644 index 14de6c3077..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/category_movement_group_on_delivery.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>delivery_mode</string> - <string>incoterm</string> - <string>source</string> - <string>destination</string> - <string>source_section</string> - <string>destination_section</string> - <string>source_decision</string> - <string>destination_decision</string> - <string>source_administration</string> - <string>destination_administration</string> - <string>source_project</string> - <string>destination_project</string> - <string>source_payment</string> - <string>destination_payment</string> - <string>price_currency</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/category_movement_group_on_line.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/category_movement_group_on_line.xml deleted file mode 100644 index c8cb87018c..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/category_movement_group_on_line.xml +++ /dev/null @@ -1,59 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>resource</string> - <string>aggregate</string> - <string>quantity_unit</string> - <string>base_contribution</string> - <string>base_application</string> - <string>source_function</string> - <string>destination_function</string> - <string>source_account</string> - <string>destination_account</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/causality_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/causality_movement_group_on_delivery.xml deleted file mode 100644 index c21b216321..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/causality_movement_group_on_delivery.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Causality Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>causality_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Causality Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>causality_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/delivery_causality_assignement_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/delivery_causality_assignement_movement_group_on_delivery.xml deleted file mode 100644 index 2b93245cbc..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/delivery_causality_assignement_movement_group_on_delivery.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Causality Assignment Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>delivery_causality_assignement_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>100</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Causality Assignment Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Delivery Causality Assignement Movement Group On Delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/property_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/property_movement_group_on_delivery.xml deleted file mode 100644 index 49a31d06eb..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/property_movement_group_on_delivery.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>start_date</string> - <string>stop_date</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/property_movement_group_on_line.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/property_movement_group_on_line.xml deleted file mode 100644 index 885ac3a97a..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/property_movement_group_on_line.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>description</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> - <none/> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/variant_movement_group_on_cell.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/variant_movement_group_on_cell.xml deleted file mode 100644 index f9f4145ef0..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_builder/variant_movement_group_on_cell.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/cell</string> - <string>divergence_scope/category</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder.xml deleted file mode 100644 index 36d0a6c8fa..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder.xml +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Builder" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>collect_order</string> </key> - <value> - <tuple> - <string>OrderMovementGroup</string> - <string>PathMovementGroup</string> - <string>DateMovementGroup</string> - <string>ResourceMovementGroup</string> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>collect_order_list</string> </key> - <value> - <list> - <string>test</string> - <string>test2</string> - </list> - </value> - </item> - <item> - <key> <string>collect_order_list_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>comment</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_method_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_script_id</string> </key> - <value> <string>InvoiceTransaction_postTransactionLineGeneration</string> </value> - </item> - <item> - <key> <string>delivery_cell_collect_order</string> </key> - <value> - <tuple> - <string>ResourceMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_cell_portal_type</string> </key> - <value> <string>Delivery Cell</string> </value> - </item> - <item> - <key> <string>delivery_cell_separate_order</string> </key> - <value> - <tuple> - <string>calculateAddQuantity</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_collect_order</string> </key> - <value> - <tuple> - <string>DateMovementGroup</string> - <string>SectionPathMovementGroup</string> - <string>CausalityMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_collect_order</string> </key> - <value> - <tuple> - <string>QuantitySignMovementGroup</string> - <string>PathMovementGroup</string> - <string>ResourceMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_portal_type</string> </key> - <value> <string>Sale Invoice Transaction Line</string> </value> - </item> - <item> - <key> <string>delivery_module</string> </key> - <value> <string>accounting_module</string> </value> - </item> - <item> - <key> <string>delivery_portal_type</string> </key> - <value> <string>Sale Invoice Transaction</string> </value> - </item> - <item> - <key> <string>delivery_select_method_id</string> </key> - <value> <string>InvoiceTransaction_selectDelivery</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Build Accounting Lines on Sale Invoice Transactions</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>sale_invoice_transaction_builder</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Builder</string> </value> - </item> - <item> - <key> <string>resource_portal_type</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>simulation_select_method_id</string> </key> - <value> <string>SaleInvoiceTransaction_selectInvoiceMovement</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Sale Invoice Transaction Builder</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_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/category_movement_group_on_cell.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/category_movement_group_on_cell.xml deleted file mode 100644 index 4f203c4281..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/category_movement_group_on_cell.xml +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/cell</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_cell</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>resource</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_cell</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/category_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/category_movement_group_on_delivery.xml deleted file mode 100644 index ecdbb5f304..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/category_movement_group_on_delivery.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>source_section</string> - <string>destination_section</string> - <string>source_payment</string> - <string>destination_payment</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/category_movement_group_on_line.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/category_movement_group_on_line.xml deleted file mode 100644 index 0fe758a8c4..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/category_movement_group_on_line.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>resource</string> - <string>source</string> - <string>destination</string> - <string>product_line</string> - <string>source_function</string> - <string>destination_function</string> - <string>source_project</string> - <string>destination_project</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/causality_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/causality_movement_group_on_delivery.xml deleted file mode 100644 index 7cfbec5605..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/causality_movement_group_on_delivery.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="First Causality Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>BPM modification - used instead of Causality Movement Group to group orphaned parent movements coming from invoice</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>causality_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>First Causality Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>First Causality Movement Group</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/property_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/property_movement_group_on_delivery.xml deleted file mode 100644 index 6436fb8009..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/property_movement_group_on_delivery.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>start_date</string> - <string>stop_date</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/property_movement_group_on_line.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/property_movement_group_on_line.xml deleted file mode 100644 index d9af1cbf40..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_builder/property_movement_group_on_line.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>destination_total_asset_price</string> - <string>source_total_asset_price</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>property_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder.xml deleted file mode 100644 index 4e028839f8..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder.xml +++ /dev/null @@ -1,175 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Builder" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>collect_order</string> </key> - <value> - <tuple> - <string>OrderMovementGroup</string> - <string>PathMovementGroup</string> - <string>DateMovementGroup</string> - <string>ResourceMovementGroup</string> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>collect_order_list</string> </key> - <value> - <list> - <string>test</string> - <string>test2</string> - </list> - </value> - </item> - <item> - <key> <string>collect_order_list_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>comment</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_method_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_script_id</string> </key> - <value> <string>Invoice_reindexRelatedSimulation</string> </value> - </item> - <item> - <key> <string>delivery_cell_collect_order</string> </key> - <value> - <tuple> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_cell_portal_type</string> </key> - <value> <string>Invoice Cell</string> </value> - </item> - <item> - <key> <string>delivery_cell_separate_order</string> </key> - <value> - <tuple> - <string>calculateSeparatePrice</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_collect_order</string> </key> - <value> - <tuple> - <string>CausalityMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_collect_order</string> </key> - <value> - <tuple> - <string>ResourceMovementGroup</string> - <string>BaseVariantMovementGroup</string> - <string>BaseApplicationMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_portal_type</string> </key> - <value> <string>Invoice Line</string> </value> - </item> - <item> - <key> <string>delivery_module</string> </key> - <value> <string>accounting_module</string> </value> - </item> - <item> - <key> <string>delivery_portal_type</string> </key> - <value> <string>Sale Invoice Transaction</string> </value> - </item> - <item> - <key> <string>delivery_select_method_id</string> </key> - <value> <string>InvoiceTransaction_selectDelivery</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Add Invoice Lines from Trade Model Lines</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>sale_invoice_transaction_trade_model_builder</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Builder</string> </value> - </item> - <item> - <key> <string>resource_portal_type</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>simulation_select_method_id</string> </key> - <value> <string>SaleInvoice_selectTradeModelMovementList</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Sale Invoice Transaction Trade Model Line Builder</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_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/base_variant_movement_group_in_line.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/base_variant_movement_group_in_line.xml deleted file mode 100644 index 5d8672824a..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/base_variant_movement_group_in_line.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Base Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/category_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/category_movement_group_on_delivery.xml deleted file mode 100644 index 14de6c3077..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/category_movement_group_on_delivery.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>delivery_mode</string> - <string>incoterm</string> - <string>source</string> - <string>destination</string> - <string>source_section</string> - <string>destination_section</string> - <string>source_decision</string> - <string>destination_decision</string> - <string>source_administration</string> - <string>destination_administration</string> - <string>source_project</string> - <string>destination_project</string> - <string>source_payment</string> - <string>destination_payment</string> - <string>price_currency</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/category_movement_group_on_line.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/category_movement_group_on_line.xml deleted file mode 100644 index c8cb87018c..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/category_movement_group_on_line.xml +++ /dev/null @@ -1,59 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>resource</string> - <string>aggregate</string> - <string>quantity_unit</string> - <string>base_contribution</string> - <string>base_application</string> - <string>source_function</string> - <string>destination_function</string> - <string>source_account</string> - <string>destination_account</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/causality_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/causality_movement_group_on_delivery.xml deleted file mode 100644 index c21b216321..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/causality_movement_group_on_delivery.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Causality Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>causality_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Causality Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>causality_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/property_movement_group_on_delivery.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/property_movement_group_on_delivery.xml deleted file mode 100644 index 49a31d06eb..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/property_movement_group_on_delivery.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>start_date</string> - <string>stop_date</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/property_movement_group_on_line.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/property_movement_group_on_line.xml deleted file mode 100644 index 885ac3a97a..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/property_movement_group_on_line.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>description</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> - <none/> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/variant_movement_group_on_cell.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/variant_movement_group_on_cell.xml deleted file mode 100644 index f9f4145ef0..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder/variant_movement_group_on_cell.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/cell</string> - <string>divergence_scope/category</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_simulation_rule.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_simulation_rule.xml deleted file mode 100644 index a79893df0d..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_simulation_rule.xml +++ /dev/null @@ -1,179 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Invoice Simulation Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_category_tester.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_category_tester.xml deleted file mode 100644 index e1394274bf..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_category_tester.xml +++ /dev/null @@ -1,106 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_property_tester.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_property_tester.xml deleted file mode 100644 index 275e9d36fa..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_property_tester.xml +++ /dev/null @@ -1,113 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_quantity_tester.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_quantity_tester.xml deleted file mode 100644 index 796fbb7a8f..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_simulation_rule/default_quantity_tester.xml +++ /dev/null @@ -1,91 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_transaction_rule.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_transaction_rule.xml deleted file mode 100644 index 0c58cd632a..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_transaction_rule.xml +++ /dev/null @@ -1,309 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Invoice Transaction Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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_rule</string> </value> - </item> - <item> - <key> <string>index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent> - </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 Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple> - <string>SimulationMovement_testInvoiceTransactionRule</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Invoice Transaction Rule</string> </value> - </item> - <item> - <key> <string>version</string> </key> - <value> <string>1</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_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_rule/10</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_rules/default_invoice_transaction_rule/11</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_rules/default_invoice_transaction_rule/12</string> </key> - <value> <int>0</int> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_transaction_simulation_rule.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_transaction_simulation_rule.xml deleted file mode 100644 index eb5d3391ad..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoice_transaction_simulation_rule.xml +++ /dev/null @@ -1,309 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Invoice Transaction Simulation Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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>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_simulation_legacy/PathTemplateItem/portal_rules/default_invoicing_rule.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoicing_rule.xml deleted file mode 100644 index 728281ee74..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoicing_rule.xml +++ /dev/null @@ -1,179 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Invoicing Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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_invoicing_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>Invoicing Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple> - <string>SimulationMovement_testInvoicingRule</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Invoicing Rule</string> </value> - </item> - <item> - <key> <string>version</string> </key> - <value> <string>1</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_simulation_legacy/PathTemplateItem/portal_rules/default_invoicing_rule/default_category_tester.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoicing_rule/default_category_tester.xml deleted file mode 100644 index e1394274bf..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoicing_rule/default_category_tester.xml +++ /dev/null @@ -1,106 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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_simulation_legacy/PathTemplateItem/portal_rules/default_invoicing_rule/default_property_tester.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoicing_rule/default_property_tester.xml deleted file mode 100644 index 275e9d36fa..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoicing_rule/default_property_tester.xml +++ /dev/null @@ -1,113 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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_simulation_legacy/PathTemplateItem/portal_rules/default_invoicing_rule/default_quantity_tester.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoicing_rule/default_quantity_tester.xml deleted file mode 100644 index 796fbb7a8f..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_invoicing_rule/default_quantity_tester.xml +++ /dev/null @@ -1,91 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_rule.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_rule.xml deleted file mode 100644 index 86d5036ebc..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_rule.xml +++ /dev/null @@ -1,183 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Trade Model Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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_rule</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 Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple> - <string>SimulationMovement_testTradeModelRule</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Trade Model Rule</string> </value> - </item> - <item> - <key> <string>version</string> </key> - <value> <string>1</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_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_rule/default_category_tester.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_rule/default_category_tester.xml deleted file mode 100644 index 48cceda2b4..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_rule/default_category_tester.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </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_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_rule/default_property_tester.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_rule/default_property_tester.xml deleted file mode 100644 index 35e1b63a5e..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_rule/default_property_tester.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </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_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_rule/default_quantity_tester.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_rule/default_quantity_tester.xml deleted file mode 100644 index bbb6a7db07..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_rule/default_quantity_tester.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </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_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_simulation_rule.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_simulation_rule.xml deleted file mode 100644 index a4c402e367..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_simulation_rule.xml +++ /dev/null @@ -1,183 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Trade Model Simulation Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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>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_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_category_tester.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_category_tester.xml deleted file mode 100644 index 48cceda2b4..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_category_tester.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </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_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_property_tester.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_property_tester.xml deleted file mode 100644 index 35e1b63a5e..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_property_tester.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </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_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_quantity_tester.xml b/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_quantity_tester.xml deleted file mode 100644 index bbb6a7db07..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PathTemplateItem/portal_rules/default_trade_model_simulation_rule/default_quantity_tester.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </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_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml b/bt5/erp5_invoicing_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml deleted file mode 100644 index 81bc77265a..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml +++ /dev/null @@ -1,45 +0,0 @@ -<allowed_content_type_list> - <portal_type id="Invoice Simulation Rule"> - <item>Category Divergence Tester</item> - <item>Composed 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> - <item>Composed Divergence Tester</item> - <item>Predicate</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Invoice Transaction Simulation Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Invoicing Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Rule Tool"> - <item>Invoice Transaction Rule</item> - <item>Invoicing Rule</item> - <item>Trade Model Rule</item> - </portal_type> - <portal_type id="Trade Model Rule"> - <item>Category Divergence Tester</item> - <item>Composed 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>Composed 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_simulation_legacy/PortalTypeHiddenContentTypeTemplateItem/hidden_content_type_list.xml b/bt5/erp5_invoicing_simulation_legacy/PortalTypeHiddenContentTypeTemplateItem/hidden_content_type_list.xml deleted file mode 100644 index fcf3c891a3..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PortalTypeHiddenContentTypeTemplateItem/hidden_content_type_list.xml +++ /dev/null @@ -1,5 +0,0 @@ -<hidden_content_type_list> - <portal_type id="Invoice Transaction Rule"> - <item>Accounting Rule Cell</item> - </portal_type> -</hidden_content_type_list> \ No newline at end of file diff --git a/bt5/erp5_invoicing_simulation_legacy/PortalTypeTemplateItem/portal_types/Invoice%20Transaction%20Rule.xml b/bt5/erp5_invoicing_simulation_legacy/PortalTypeTemplateItem/portal_types/Invoice%20Transaction%20Rule.xml deleted file mode 100644 index a7d3df9258..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PortalTypeTemplateItem/portal_types/Invoice%20Transaction%20Rule.xml +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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 Rule</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string> Invoice Transaction 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>addInvoiceTransactionRule</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 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> - <item> - <key> <string>type_class</string> </key> - <value> <string>InvoiceTransactionRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PortalTypeTemplateItem/portal_types/Invoicing%20Rule.xml b/bt5/erp5_invoicing_simulation_legacy/PortalTypeTemplateItem/portal_types/Invoicing%20Rule.xml deleted file mode 100644 index 484ef127d4..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PortalTypeTemplateItem/portal_types/Invoicing%20Rule.xml +++ /dev/null @@ -1,66 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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 Invoicing 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>addInvoicingRule</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>Invoicing 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> - <item> - <key> <string>type_class</string> </key> - <value> <string>InvoicingRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/PortalTypeTemplateItem/portal_types/Trade%20Model%20Rule.xml b/bt5/erp5_invoicing_simulation_legacy/PortalTypeTemplateItem/portal_types/Trade%20Model%20Rule.xml deleted file mode 100644 index 4819405f7b..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PortalTypeTemplateItem/portal_types/Trade%20Model%20Rule.xml +++ /dev/null @@ -1,121 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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 Rule</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addTradeModelRule</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 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> - <item> - <key> <string>type_class</string> </key> - <value> <string>TradeModelRule</string> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>domain_name</string> </key> - <value> - <none/> - </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> - <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>domain_name</string> </key> - <value> - <none/> - </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_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_invoicing_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml deleted file mode 100644 index cf7e808c58..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml +++ /dev/null @@ -1,14 +0,0 @@ -<workflow_chain> - <chain> - <type>Invoice Transaction 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> - </chain> - <chain> - <type>Trade Model Rule</type> - <workflow>edit_workflow, rule_validation_workflow</workflow> - </chain> -</workflow_chain> \ No newline at end of file diff --git a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy.xml b/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy.xml deleted file mode 100644 index 719122a4b2..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy.xml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Folder" module="OFS.Folder"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>business_template_skin_layer_priority</string> </value> - </item> - <item> - <key> <string>type</string> </key> - <value> <string>float</string> </value> - </item> - </dictionary> - </tuple> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>business_template_skin_layer_priority</string> </key> - <value> <float>30.0</float> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>erp5_invoicing_simulation_legacy</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoiceTransactionRule_asCellRange.xml b/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoiceTransactionRule_asCellRange.xml deleted file mode 100644 index 2947c081e6..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoiceTransactionRule_asCellRange.xml +++ /dev/null @@ -1,100 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>dimension_list = [\'contribution_share\', \'product\', \'region\', \'product_line\',\n - \'destination_region\', \'has_vat_number\', \'movement\']\n -\n -for pred in context.objectValues(portal_type=\'Predicate\'):\n - if pred.getStringIndex() not in dimension_list:\n - dimension_list.append(pred.getStringIndex())\n -\n -if list_dimensions:\n - return dimension_list\n -\n -dimension_result_list = []\n -\n -for dimension in dimension_list:\n - if dimension is not None:\n - predicate_list = [x for x in context.contentValues(portal_type=\'Predicate\')\n - if x.getStringIndex() == dimension ]\n - predicate_list.sort(key=lambda x: x.getProperty(\'int_index\', 1))\n - if len(predicate_list):\n - dimension_result_list.append(predicate_list)\n -\n -dimension_ids_list = []\n -\n -if matrixbox:\n - for dimension_result in dimension_result_list:\n - dimension_ids_list.append(\n - [(x.getObject().getId(),\n - x.getObject().getTitle()) for x in dimension_result])\n -else :\n - for dimension_result in dimension_result_list :\n - dimension_ids_list.append(\n - [x.getObject().getId() for x in dimension_result])\n -\n -return dimension_ids_list\n -# vim: syntax=python\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>matrixbox=0, list_dimensions=0, **kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>InvoiceTransactionRule_asCellRange</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoiceTransactionRule_asPredicate.xml b/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoiceTransactionRule_asPredicate.xml deleted file mode 100644 index a88f331edc..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoiceTransactionRule_asPredicate.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return context.generatePredicate(criterion_property_list=("start_date",))\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>InvoiceTransactionRule_asPredicate</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoiceTransactionRule_destinationRegionHasNoVat.xml b/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoiceTransactionRule_destinationRegionHasNoVat.xml deleted file mode 100644 index e302ee168a..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoiceTransactionRule_destinationRegionHasNoVat.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return not context.InvoiceTransactionRule_destinationRegionHasVat()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>InvoiceTransactionRule_destinationRegionHasNoVat</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoiceTransactionRule_destinationRegionHasVat.xml b/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoiceTransactionRule_destinationRegionHasVat.xml deleted file mode 100644 index 7b93dfdf72..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoiceTransactionRule_destinationRegionHasVat.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>destination = context.getDefaultDestinationValue()\n -vat_code = None\n -if destination is not None and destination.getPortalType() == \'Organisation\':\n - vat_code = destination.getVatCode()\n -\n -if vat_code is None or context.getSourceRegion() == context.getDestinationRegion():\n - return 1\n -return 0\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>InvoiceTransactionRule_destinationRegionHasVat</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoicingRule_asPredicate.xml b/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoicingRule_asPredicate.xml deleted file mode 100644 index f0e7916aa7..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/InvoicingRule_asPredicate.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return context.generatePredicate(criterion_property_list=("start_date",))\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>InvoicingRule_asPredicate</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/SimulationMovement_testInvoiceTransactionRule.xml b/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/SimulationMovement_testInvoiceTransactionRule.xml deleted file mode 100644 index 8781b85cd5..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/SimulationMovement_testInvoiceTransactionRule.xml +++ /dev/null @@ -1,86 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>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 Rule\',\n - \'Invoicing Rule\',\n - \'Trade Model Rule\',\n - \'Tax 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>_params</string> </key> - <value> <string>rule</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>SimulationMovement_testInvoiceTransactionRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/SimulationMovement_testInvoiceTransactionSimulationRule.xml b/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/SimulationMovement_testInvoiceTransactionSimulationRule.xml deleted file mode 100644 index a0d4db316b..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/SimulationMovement_testInvoiceTransactionSimulationRule.xml +++ /dev/null @@ -1,85 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>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 - 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>_params</string> </key> - <value> <string>rule</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>SimulationMovement_testInvoiceTransactionSimulationRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/SimulationMovement_testInvoicingRule.xml b/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/SimulationMovement_testInvoicingRule.xml deleted file mode 100644 index 630464927b..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/SimulationMovement_testInvoicingRule.xml +++ /dev/null @@ -1,82 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>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 [\'Order Rule\', \'Delivery 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>_params</string> </key> - <value> <string>rule</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>SimulationMovement_testInvoicingRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/SimulationMovement_testTradeModelRule.xml b/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/SimulationMovement_testTradeModelRule.xml deleted file mode 100644 index 5ed3223d59..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/SkinTemplateItem/portal_skins/erp5_invoicing_simulation_legacy/SimulationMovement_testTradeModelRule.xml +++ /dev/null @@ -1,78 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>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 Rule\',\n - \'Invoicing Rule\'):\n - return False\n -\n -return True\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>rule</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>SimulationMovement_testTradeModelRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing_simulation_legacy/bt/copyright_list b/bt5/erp5_invoicing_simulation_legacy/bt/copyright_list deleted file mode 100644 index fe948b9fb7..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/bt/copyright_list +++ /dev/null @@ -1 +0,0 @@ -Copyright (c) 2010 Nexedi SA \ No newline at end of file diff --git a/bt5/erp5_invoicing_simulation_legacy/bt/dependency_list b/bt5/erp5_invoicing_simulation_legacy/bt/dependency_list deleted file mode 100644 index 0e2dc147fd..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/bt/dependency_list +++ /dev/null @@ -1,2 +0,0 @@ -erp5_simulation_legacy -erp5_invoicing \ No newline at end of file diff --git a/bt5/erp5_invoicing_simulation_legacy/bt/license b/bt5/erp5_invoicing_simulation_legacy/bt/license deleted file mode 100644 index 3a3e12bcad..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/bt/license +++ /dev/null @@ -1 +0,0 @@ -GPL \ No newline at end of file diff --git a/bt5/erp5_invoicing_simulation_legacy/bt/revision b/bt5/erp5_invoicing_simulation_legacy/bt/revision deleted file mode 100644 index 62f9457511..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/bt/revision +++ /dev/null @@ -1 +0,0 @@ -6 \ No newline at end of file diff --git a/bt5/erp5_invoicing_simulation_legacy/bt/template_action_path_list b/bt5/erp5_invoicing_simulation_legacy/bt/template_action_path_list deleted file mode 100644 index e60e69f10c..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/bt/template_action_path_list +++ /dev/null @@ -1,5 +0,0 @@ -Invoice Transaction Rule | divergence -Invoice Transaction Rule | view -Invoice Transaction Simulation Rule | cell_view -Invoicing Rule | view -Trade Model Rule | view \ No newline at end of file diff --git a/bt5/erp5_invoicing_simulation_legacy/bt/template_format_version b/bt5/erp5_invoicing_simulation_legacy/bt/template_format_version deleted file mode 100644 index 56a6051ca2..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/bt/template_format_version +++ /dev/null @@ -1 +0,0 @@ -1 \ No newline at end of file diff --git a/bt5/erp5_invoicing_simulation_legacy/bt/template_path_list b/bt5/erp5_invoicing_simulation_legacy/bt/template_path_list deleted file mode 100644 index 231c72c617..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/bt/template_path_list +++ /dev/null @@ -1,26 +0,0 @@ -portal_deliveries/payment_transaction_builder -portal_deliveries/payment_transaction_builder/** -portal_deliveries/purchase_invoice_builder -portal_deliveries/purchase_invoice_builder/** -portal_deliveries/purchase_invoice_transaction_builder -portal_deliveries/purchase_invoice_transaction_builder/** -portal_deliveries/purchase_invoice_transaction_trade_model_builder -portal_deliveries/purchase_invoice_transaction_trade_model_builder/** -portal_deliveries/sale_invoice_builder -portal_deliveries/sale_invoice_builder/** -portal_deliveries/sale_invoice_transaction_builder -portal_deliveries/sale_invoice_transaction_builder/** -portal_deliveries/sale_invoice_transaction_trade_model_builder -portal_deliveries/sale_invoice_transaction_trade_model_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/** -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_simulation_legacy/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_invoicing_simulation_legacy/bt/template_portal_type_allowed_content_type_list deleted file mode 100644 index 2318b025dd..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/bt/template_portal_type_allowed_content_type_list +++ /dev/null @@ -1,29 +0,0 @@ -Invoice Simulation Rule | Category Divergence Tester -Invoice Simulation Rule | Composed 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 | Composed Divergence Tester -Invoice Transaction Rule | Predicate -Invoice Transaction Rule | Property Divergence Tester -Invoice Transaction Rule | Quantity Divergence Tester -Invoice Transaction Simulation Rule | Category Divergence Tester -Invoice Transaction Simulation Rule | Composed Divergence Tester -Invoice Transaction Simulation Rule | Property Divergence Tester -Invoice Transaction Simulation Rule | Quantity Divergence Tester -Invoicing Rule | Category Divergence Tester -Invoicing Rule | Composed Divergence Tester -Invoicing Rule | Property Divergence Tester -Invoicing Rule | Quantity Divergence Tester -Rule Tool | Invoice Transaction Rule -Rule Tool | Invoicing Rule -Rule Tool | Trade Model Rule -Trade Model Rule | Category Divergence Tester -Trade Model Rule | Composed Divergence Tester -Trade Model Rule | Property Divergence Tester -Trade Model Rule | Quantity Divergence Tester -Trade Model Simulation Rule | Category Divergence Tester -Trade Model Simulation Rule | Composed 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_simulation_legacy/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_invoicing_simulation_legacy/bt/template_portal_type_hidden_content_type_list deleted file mode 100644 index d6b41f7c0d..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/bt/template_portal_type_hidden_content_type_list +++ /dev/null @@ -1 +0,0 @@ -Invoice Transaction Rule | Accounting Rule Cell \ No newline at end of file diff --git a/bt5/erp5_invoicing_simulation_legacy/bt/template_portal_type_id_list b/bt5/erp5_invoicing_simulation_legacy/bt/template_portal_type_id_list deleted file mode 100644 index 708de6e648..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/bt/template_portal_type_id_list +++ /dev/null @@ -1,3 +0,0 @@ -Invoice Transaction Rule -Invoicing Rule -Trade Model Rule \ No newline at end of file diff --git a/bt5/erp5_invoicing_simulation_legacy/bt/template_portal_type_workflow_chain_list b/bt5/erp5_invoicing_simulation_legacy/bt/template_portal_type_workflow_chain_list deleted file mode 100644 index 6ca072584b..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/bt/template_portal_type_workflow_chain_list +++ /dev/null @@ -1,7 +0,0 @@ -Invoice Transaction Rule | edit_workflow -Invoice Transaction Rule | rule_interaction_workflow -Invoice Transaction 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 diff --git a/bt5/erp5_invoicing_simulation_legacy/bt/template_skin_id_list b/bt5/erp5_invoicing_simulation_legacy/bt/template_skin_id_list deleted file mode 100644 index 9d099c24ce..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/bt/template_skin_id_list +++ /dev/null @@ -1 +0,0 @@ -erp5_invoicing_simulation_legacy \ No newline at end of file diff --git a/bt5/erp5_invoicing_simulation_legacy/bt/title b/bt5/erp5_invoicing_simulation_legacy/bt/title deleted file mode 100644 index 9d099c24ce..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/bt/title +++ /dev/null @@ -1 +0,0 @@ -erp5_invoicing_simulation_legacy \ No newline at end of file diff --git a/bt5/erp5_invoicing_simulation_legacy/bt/version b/bt5/erp5_invoicing_simulation_legacy/bt/version deleted file mode 100644 index ceab6e11ec..0000000000 --- a/bt5/erp5_invoicing_simulation_legacy/bt/version +++ /dev/null @@ -1 +0,0 @@ -0.1 \ No newline at end of file diff --git a/bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Production%20Order%20Model%20Root%20Simulation%20Rule/view.xml b/bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Production%20Order%20Model%20Root%20Simulation%20Rule/view.xml deleted file mode 100644 index 4a16964623..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Production%20Order%20Model%20Root%20Simulation%20Rule/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_mrp_simulation_legacy/ActionTemplateItem/portal_types/Production%20Order%20Model%20Rule/view.xml b/bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Production%20Order%20Model%20Rule/view.xml deleted file mode 100644 index 4a16964623..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Production%20Order%20Model%20Rule/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_mrp_simulation_legacy/ActionTemplateItem/portal_types/Production%20Order%20Root%20Simulation%20Rule/view.xml b/bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Production%20Order%20Root%20Simulation%20Rule/view.xml deleted file mode 100644 index 4a16964623..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Production%20Order%20Root%20Simulation%20Rule/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_mrp_simulation_legacy/ActionTemplateItem/portal_types/Production%20Order%20Rule/view.xml b/bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Production%20Order%20Rule/view.xml deleted file mode 100644 index 4a16964623..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Production%20Order%20Rule/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_mrp_simulation_legacy/ActionTemplateItem/portal_types/Transformation%20Model%20Rule/view.xml b/bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Transformation%20Model%20Rule/view.xml deleted file mode 100644 index 4a16964623..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Transformation%20Model%20Rule/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_mrp_simulation_legacy/ActionTemplateItem/portal_types/Transformation%20Rule/view.xml b/bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Transformation%20Rule/view.xml deleted file mode 100644 index 4a16964623..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Transformation%20Rule/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_mrp_simulation_legacy/ActionTemplateItem/portal_types/Transformation%20Sourcing%20Model%20Rule/view.xml b/bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Transformation%20Sourcing%20Model%20Rule/view.xml deleted file mode 100644 index 4a16964623..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Transformation%20Sourcing%20Model%20Rule/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_mrp_simulation_legacy/ActionTemplateItem/portal_types/Transformation%20Sourcing%20Rule/view.xml b/bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Transformation%20Sourcing%20Rule/view.xml deleted file mode 100644 index 4a16964623..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/ActionTemplateItem/portal_types/Transformation%20Sourcing%20Rule/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_root_simulation_rule.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_root_simulation_rule.xml deleted file mode 100644 index 92d57dab40..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_root_simulation_rule.xml +++ /dev/null @@ -1,127 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Production Order Model Root Simulation Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_Add_portal_content_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>_Delete_objects_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>_Modify_portal_content_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <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/> - </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>default_reference</string> </key> - <value> <string>default_production_order_model_rule</string> </value> - </item> - <item> - <key> <string>expandable_property</string> </key> - <value> - <tuple> - <string>destination</string> - <string>destination_section</string> - <string>start_date</string> - <string>stop_date</string> - <string>resource</string> - <string>variation_category_list</string> - <string>variation_property_dict</string> - <string>aggregate_list</string> - <string>price</string> - <string>price_currency</string> - <string>quantity</string> - <string>quantity_unit</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>default_production_order_model_root_simulation_rule</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Production Order Model Root Simulation Rule</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Production Order Model Root 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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_root_simulation_rule/default_category_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_root_simulation_rule/default_category_tester.xml deleted file mode 100644 index 29b8b4f5f8..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_root_simulation_rule/default_category_tester.xml +++ /dev/null @@ -1,122 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>solver_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_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>solver_list</string> </key> - <value> - <tuple> - <string>Teste 1 | teste 2</string> - </tuple> - </value> - </item> - <item> - <key> <string>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>source_section | Source Section</string> - <string>resource | Resource</string> - <string>destination_section | Destination Section</string> - <string>source | Source</string> - <string>destination | Destination</string> - <string>aggregate | Aggregate</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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_root_simulation_rule/default_property_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_root_simulation_rule/default_property_tester.xml deleted file mode 100644 index 314db5db2d..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_root_simulation_rule/default_property_tester.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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> - </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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_root_simulation_rule/default_quantity_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_root_simulation_rule/default_quantity_tester.xml deleted file mode 100644 index e01b40c40a..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_root_simulation_rule/default_quantity_tester.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_rule.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_rule.xml deleted file mode 100644 index 8ebfd5aa5d..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_rule.xml +++ /dev/null @@ -1,127 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Production Order Model Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_Add_portal_content_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>_Delete_objects_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>_Modify_portal_content_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <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/> - </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>default_reference</string> </key> - <value> <string>default_production_order_model_rule</string> </value> - </item> - <item> - <key> <string>expandable_property</string> </key> - <value> - <tuple> - <string>destination</string> - <string>destination_section</string> - <string>start_date</string> - <string>stop_date</string> - <string>resource</string> - <string>variation_category_list</string> - <string>variation_property_dict</string> - <string>aggregate_list</string> - <string>price</string> - <string>price_currency</string> - <string>quantity</string> - <string>quantity_unit</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>default_production_order_model_rule</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Production Order Model Rule</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Production Order Model Rule</string> </value> - </item> - <item> - <key> <string>version</string> </key> - <value> <string>1</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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_rule/default_category_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_rule/default_category_tester.xml deleted file mode 100644 index 29b8b4f5f8..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_rule/default_category_tester.xml +++ /dev/null @@ -1,122 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>solver_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_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>solver_list</string> </key> - <value> - <tuple> - <string>Teste 1 | teste 2</string> - </tuple> - </value> - </item> - <item> - <key> <string>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>source_section | Source Section</string> - <string>resource | Resource</string> - <string>destination_section | Destination Section</string> - <string>source | Source</string> - <string>destination | Destination</string> - <string>aggregate | Aggregate</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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_rule/default_property_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_rule/default_property_tester.xml deleted file mode 100644 index 314db5db2d..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_rule/default_property_tester.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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> - </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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_rule/default_quantity_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_rule/default_quantity_tester.xml deleted file mode 100644 index e01b40c40a..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_model_rule/default_quantity_tester.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_root_simulation_rule.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_root_simulation_rule.xml deleted file mode 100644 index fb7406ffeb..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_root_simulation_rule.xml +++ /dev/null @@ -1,151 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Production Order Root Simulation Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_Add_portal_content_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>_Delete_objects_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>_Modify_portal_content_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <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/> - </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>default_reference</string> </key> - <value> <string>default_production_order_rule</string> </value> - </item> - <item> - <key> <string>expandable_property</string> </key> - <value> - <tuple> - <string>aggregate_list</string> - <string>destination</string> - <string>destination_section</string> - <string>price</string> - <string>price_currency</string> - <string>quantity</string> - <string>quantity_unit</string> - <string>resource</string> - <string>start_date</string> - <string>stop_date</string> - <string>variation_category_list</string> - <string>variation_property_dict</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>default_production_order_root_simulation_rule</string> </value> - </item> - <item> - <key> <string>matching_property</string> </key> - <value> - <tuple> - <string>order</string> - </tuple> - </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Production Order Root Simulation Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Production Order Root 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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_root_simulation_rule/default_category_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_root_simulation_rule/default_category_tester.xml deleted file mode 100644 index 29b8b4f5f8..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_root_simulation_rule/default_category_tester.xml +++ /dev/null @@ -1,122 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>solver_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_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>solver_list</string> </key> - <value> - <tuple> - <string>Teste 1 | teste 2</string> - </tuple> - </value> - </item> - <item> - <key> <string>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>source_section | Source Section</string> - <string>resource | Resource</string> - <string>destination_section | Destination Section</string> - <string>source | Source</string> - <string>destination | Destination</string> - <string>aggregate | Aggregate</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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_root_simulation_rule/default_property_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_root_simulation_rule/default_property_tester.xml deleted file mode 100644 index 314db5db2d..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_root_simulation_rule/default_property_tester.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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> - </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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_root_simulation_rule/default_quantity_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_root_simulation_rule/default_quantity_tester.xml deleted file mode 100644 index e01b40c40a..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_root_simulation_rule/default_quantity_tester.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_rule.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_rule.xml deleted file mode 100644 index 26690be955..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_rule.xml +++ /dev/null @@ -1,151 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Production Order Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_Add_portal_content_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>_Delete_objects_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>_Modify_portal_content_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <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/> - </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>default_reference</string> </key> - <value> <string>default_production_order_rule</string> </value> - </item> - <item> - <key> <string>expandable_property</string> </key> - <value> - <tuple> - <string>aggregate_list</string> - <string>destination</string> - <string>destination_section</string> - <string>price</string> - <string>price_currency</string> - <string>quantity</string> - <string>quantity_unit</string> - <string>resource</string> - <string>start_date</string> - <string>stop_date</string> - <string>variation_category_list</string> - <string>variation_property_dict</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>default_production_order_rule</string> </value> - </item> - <item> - <key> <string>matching_property</string> </key> - <value> - <tuple> - <string>order</string> - </tuple> - </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Production Order Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Production Order Rule</string> </value> - </item> - <item> - <key> <string>version</string> </key> - <value> <string>1</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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_rule/default_category_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_rule/default_category_tester.xml deleted file mode 100644 index 29b8b4f5f8..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_rule/default_category_tester.xml +++ /dev/null @@ -1,122 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>solver_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_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>solver_list</string> </key> - <value> - <tuple> - <string>Teste 1 | teste 2</string> - </tuple> - </value> - </item> - <item> - <key> <string>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>source_section | Source Section</string> - <string>resource | Resource</string> - <string>destination_section | Destination Section</string> - <string>source | Source</string> - <string>destination | Destination</string> - <string>aggregate | Aggregate</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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_rule/default_property_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_rule/default_property_tester.xml deleted file mode 100644 index 314db5db2d..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_rule/default_property_tester.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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> - </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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_rule/default_quantity_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_rule/default_quantity_tester.xml deleted file mode 100644 index e01b40c40a..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_production_order_rule/default_quantity_tester.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_model_rule.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_model_rule.xml deleted file mode 100644 index dbac872d73..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_model_rule.xml +++ /dev/null @@ -1,156 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Transformation Model Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_Add_portal_content_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>_Delete_objects_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>_Modify_portal_content_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <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/> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </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_transformation_model_rule</string> </value> - </item> - <item> - <key> <string>expandable_property_list</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>default_transformation_model_rule</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Transformation Model Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple> - <string>SimulationMovement_testTransformationModelRule</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Transformation Model Rule</string> </value> - </item> - <item> - <key> <string>version</string> </key> - <value> <string>1</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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_model_rule/default_category_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_model_rule/default_category_tester.xml deleted file mode 100644 index 29b8b4f5f8..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_model_rule/default_category_tester.xml +++ /dev/null @@ -1,122 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>solver_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_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>solver_list</string> </key> - <value> - <tuple> - <string>Teste 1 | teste 2</string> - </tuple> - </value> - </item> - <item> - <key> <string>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>source_section | Source Section</string> - <string>resource | Resource</string> - <string>destination_section | Destination Section</string> - <string>source | Source</string> - <string>destination | Destination</string> - <string>aggregate | Aggregate</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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_model_rule/default_property_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_model_rule/default_property_tester.xml deleted file mode 100644 index 314db5db2d..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_model_rule/default_property_tester.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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> - </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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_model_rule/default_quantity_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_model_rule/default_quantity_tester.xml deleted file mode 100644 index e01b40c40a..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_model_rule/default_quantity_tester.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_rule.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_rule.xml deleted file mode 100644 index b29eb2ae68..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_rule.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Transformation Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_Add_portal_content_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>_Delete_objects_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>_Modify_portal_content_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <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>criterion_property</string> </key> - <value> - <tuple> - <string>portal_type</string> - </tuple> - </value> - </item> - <item> - <key> <string>default_reference</string> </key> - <value> <string>default_transformation_rule</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>default_transformation_rule</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Transformation Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple> - <string>SimulationMovement_testTransformationRule</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Transformation Rule</string> </value> - </item> - <item> - <key> <string>version</string> </key> - <value> <string>1</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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_rule/default_category_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_rule/default_category_tester.xml deleted file mode 100644 index 29b8b4f5f8..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_rule/default_category_tester.xml +++ /dev/null @@ -1,122 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>solver_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_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>solver_list</string> </key> - <value> - <tuple> - <string>Teste 1 | teste 2</string> - </tuple> - </value> - </item> - <item> - <key> <string>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>source_section | Source Section</string> - <string>resource | Resource</string> - <string>destination_section | Destination Section</string> - <string>source | Source</string> - <string>destination | Destination</string> - <string>aggregate | Aggregate</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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_rule/default_property_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_rule/default_property_tester.xml deleted file mode 100644 index 314db5db2d..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_rule/default_property_tester.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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> - </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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_rule/default_quantity_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_rule/default_quantity_tester.xml deleted file mode 100644 index e01b40c40a..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_rule/default_quantity_tester.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_model_rule.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_model_rule.xml deleted file mode 100644 index 364568019c..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_model_rule.xml +++ /dev/null @@ -1,156 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Transformation Sourcing Model Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_Add_portal_content_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>_Delete_objects_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>_Modify_portal_content_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <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/> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </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_transformation_sourcing_model_rule</string> </value> - </item> - <item> - <key> <string>expandable_property_list</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>default_transformation_sourcing_model_rule</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Transformation Sourcing Model Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple> - <string>SimulationMovement_testTransformationSourcingModelRule</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Transformation Sourcing Model Rule</string> </value> - </item> - <item> - <key> <string>version</string> </key> - <value> <string>1</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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_model_rule/default_category_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_model_rule/default_category_tester.xml deleted file mode 100644 index 29b8b4f5f8..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_model_rule/default_category_tester.xml +++ /dev/null @@ -1,122 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>solver_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_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>solver_list</string> </key> - <value> - <tuple> - <string>Teste 1 | teste 2</string> - </tuple> - </value> - </item> - <item> - <key> <string>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>source_section | Source Section</string> - <string>resource | Resource</string> - <string>destination_section | Destination Section</string> - <string>source | Source</string> - <string>destination | Destination</string> - <string>aggregate | Aggregate</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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_model_rule/default_property_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_model_rule/default_property_tester.xml deleted file mode 100644 index 314db5db2d..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_model_rule/default_property_tester.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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> - </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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_model_rule/default_quantity_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_model_rule/default_quantity_tester.xml deleted file mode 100644 index e01b40c40a..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_model_rule/default_quantity_tester.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_rule.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_rule.xml deleted file mode 100644 index fbd4aeb603..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_rule.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Transformation Sourcing Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_Add_portal_content_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>_Delete_objects_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>_Modify_portal_content_Permission</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <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>criterion_property</string> </key> - <value> - <tuple> - <string>portal_type</string> - </tuple> - </value> - </item> - <item> - <key> <string>default_reference</string> </key> - <value> <string>default_transformation_sourcing_rule</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>default_transformation_sourcing_rule</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Transformation Sourcing Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple> - <string>SimulationMovement_testTransformationSourcingRule</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Transformation Sourcing Rule</string> </value> - </item> - <item> - <key> <string>version</string> </key> - <value> <string>1</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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_rule/default_category_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_rule/default_category_tester.xml deleted file mode 100644 index 29b8b4f5f8..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_rule/default_category_tester.xml +++ /dev/null @@ -1,122 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>solver_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_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>solver_list</string> </key> - <value> - <tuple> - <string>Teste 1 | teste 2</string> - </tuple> - </value> - </item> - <item> - <key> <string>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>source_section | Source Section</string> - <string>resource | Resource</string> - <string>destination_section | Destination Section</string> - <string>source | Source</string> - <string>destination | Destination</string> - <string>aggregate | Aggregate</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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_rule/default_property_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_rule/default_property_tester.xml deleted file mode 100644 index 314db5db2d..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_rule/default_property_tester.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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> - </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_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_rule/default_quantity_tester.xml b/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_rule/default_quantity_tester.xml deleted file mode 100644 index e01b40c40a..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PathTemplateItem/portal_rules/default_transformation_sourcing_rule/default_quantity_tester.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <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_mrp_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml b/bt5/erp5_mrp_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml deleted file mode 100644 index 3d77cec922..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml +++ /dev/null @@ -1,60 +0,0 @@ -<allowed_content_type_list> - <portal_type id="Production Order Model Root Simulation Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Production Order Model Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Production Order Root Simulation Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Production Order Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Rule Tool"> - <item>Production Order Model Root Simulation Rule</item> - <item>Production Order Model Rule</item> - <item>Production Order Root Simulation Rule</item> - <item>Production Order Rule</item> - <item>Transformation Model Rule</item> - <item>Transformation Rule</item> - <item>Transformation Sourcing Model Rule</item> - <item>Transformation Sourcing Rule</item> - </portal_type> - <portal_type id="Transformation Model Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Transformation Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Transformation Sourcing Model Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Transformation Sourcing Rule"> - <item>Category Divergence Tester</item> - <item>Composed 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_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Production%20Order%20Model%20Root%20Simulation%20Rule.xml b/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Production%20Order%20Model%20Root%20Simulation%20Rule.xml deleted file mode 100644 index 6a78d65174..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Production%20Order%20Model%20Root%20Simulation%20Rule.xml +++ /dev/null @@ -1,136 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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>document.gif</string> </value> - </item> - <item> - <key> <string>content_meta_type</string> </key> - <value> <string>ERP5 Production Order Model Root Simulation Rule</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Prouction Order Model Root Simulation Rule object use a Business Process to expand a Production Order.\n -</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addProductionOrderModelRootSimulationRule</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>Production Order Model Root Simulation Rule</string> </value> - </item> - <item> - <key> <string>immediate_view</string> </key> - <value> <string>ProductionOrderRule_view</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>product</string> </key> - <value> <string>ERP5Type</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>type_class</string> </key> - <value> <string>ProductionOrderModelRootSimulationRule</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> - <none/> - </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> - <none/> - </value> - </item> - <item> - <key> <string>property_name</string> </key> - <value> <string>title</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Production%20Order%20Model%20Rule.xml b/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Production%20Order%20Model%20Rule.xml deleted file mode 100644 index 58a322ba84..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Production%20Order%20Model%20Rule.xml +++ /dev/null @@ -1,136 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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>document.gif</string> </value> - </item> - <item> - <key> <string>content_meta_type</string> </key> - <value> <string>ERP5 Production Order Model Rule</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Prouction Order Rule object use a Business Process to expand a Production Order.\n -</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addProductionOrderModelRule</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>Production Order Model Rule</string> </value> - </item> - <item> - <key> <string>immediate_view</string> </key> - <value> <string>ProductionOrderRule_view</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>product</string> </key> - <value> <string>ERP5Type</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>type_class</string> </key> - <value> <string>ProductionOrderModelRule</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> - <none/> - </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> - <none/> - </value> - </item> - <item> - <key> <string>property_name</string> </key> - <value> <string>title</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Production%20Order%20Root%20Simulation%20Rule.xml b/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Production%20Order%20Root%20Simulation%20Rule.xml deleted file mode 100644 index 687d948be1..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Production%20Order%20Root%20Simulation%20Rule.xml +++ /dev/null @@ -1,73 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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 Production Order Root Simulation Rule</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Prouction Order Root Simulation Rule object use a Supply Chain to expand a Production Order.\n -</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addProductionOrderRootSimulationRule</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>Production Order Root Simulation Rule</string> </value> - </item> - <item> - <key> <string>immediate_view</string> </key> - <value> <string>ProductionOrderRule_view</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>product</string> </key> - <value> <string>ERP5Type</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>type_class</string> </key> - <value> <string>ProductionOrderRootSimulationRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Production%20Order%20Rule.xml b/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Production%20Order%20Rule.xml deleted file mode 100644 index 495d7e2993..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Production%20Order%20Rule.xml +++ /dev/null @@ -1,73 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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 Production Order Rule</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Prouction Order Rule object use a Supply Chain to expand a Production Order.\n -</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addProductionOrderRule</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>Production Order Rule</string> </value> - </item> - <item> - <key> <string>immediate_view</string> </key> - <value> <string>ProductionOrderRule_view</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>product</string> </key> - <value> <string>ERP5Type</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>type_class</string> </key> - <value> <string>ProductionOrderRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Transformation%20Model%20Rule.xml b/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Transformation%20Model%20Rule.xml deleted file mode 100644 index 7c4c589b36..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Transformation%20Model%20Rule.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>acquire_local_roles</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>allowed_action_list</string> </key> - <value> - <tuple/> - </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 Transformation Model Rule</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>An ERP5 Rule...</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addTransformationModelRule</string> </value> - </item> - <item> - <key> <string>filter_actions</string> </key> - <value> <int>0</int> </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>Transformation Model 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> - <item> - <key> <string>type_class</string> </key> - <value> <string>TransformationModelRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Transformation%20Rule.xml b/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Transformation%20Rule.xml deleted file mode 100644 index 24774eca63..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Transformation%20Rule.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>acquire_local_roles</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>allowed_action_list</string> </key> - <value> - <tuple/> - </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 Transformation Rule</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>An ERP5 Rule...</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addTransformationRule</string> </value> - </item> - <item> - <key> <string>filter_actions</string> </key> - <value> <int>0</int> </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>Transformation 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> - <item> - <key> <string>type_class</string> </key> - <value> <string>TransformationRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Transformation%20Sourcing%20Model%20Rule.xml b/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Transformation%20Sourcing%20Model%20Rule.xml deleted file mode 100644 index 68af0c1b7f..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Transformation%20Sourcing%20Model%20Rule.xml +++ /dev/null @@ -1,66 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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 Transformation Sourcing Model Rule</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string> Transformation Sourcing Model Rule object make sure\n - items required in a Transformation are sourced\n -</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addTransformationSourcingModelRule</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>Transformation Sourcing Model 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> - <item> - <key> <string>type_class</string> </key> - <value> <string>TransformationSourcingModelRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Transformation%20Sourcing%20Rule.xml b/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Transformation%20Sourcing%20Rule.xml deleted file mode 100644 index 36f214c414..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PortalTypeTemplateItem/portal_types/Transformation%20Sourcing%20Rule.xml +++ /dev/null @@ -1,66 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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 Transformation Sourcing 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>addTransformationSourcingRule</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>Transformation Sourcing 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> - <item> - <key> <string>type_class</string> </key> - <value> <string>TransformationSourcingRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_mrp_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml deleted file mode 100644 index d5d7a1cd16..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml +++ /dev/null @@ -1,34 +0,0 @@ -<workflow_chain> - <chain> - <type>Production Order Model Root Simulation Rule</type> - <workflow>edit_workflow, rule_validation_workflow</workflow> - </chain> - <chain> - <type>Production Order Model Rule</type> - <workflow>edit_workflow, rule_validation_workflow</workflow> - </chain> - <chain> - <type>Production Order Root Simulation Rule</type> - <workflow>edit_workflow, rule_validation_workflow</workflow> - </chain> - <chain> - <type>Production Order Rule</type> - <workflow>edit_workflow, rule_validation_workflow</workflow> - </chain> - <chain> - <type>Transformation Model Rule</type> - <workflow>edit_workflow, rule_validation_workflow</workflow> - </chain> - <chain> - <type>Transformation Rule</type> - <workflow>edit_workflow, rule_validation_workflow</workflow> - </chain> - <chain> - <type>Transformation Sourcing Model Rule</type> - <workflow>edit_workflow, rule_validation_workflow</workflow> - </chain> - <chain> - <type>Transformation Sourcing Rule</type> - <workflow>edit_workflow, rule_validation_workflow</workflow> - </chain> -</workflow_chain> \ No newline at end of file diff --git a/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy.xml b/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy.xml deleted file mode 100644 index f232c31066..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy.xml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Folder" module="OFS.Folder"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>business_template_skin_layer_priority</string> </value> - </item> - <item> - <key> <string>type</string> </key> - <value> <string>float</string> </value> - </item> - </dictionary> - </tuple> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>business_template_skin_layer_priority</string> </key> - <value> <float>30.0</float> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>erp5_mrp_simulation_legacy</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/ProductionOrderRule_asPredicate.xml b/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/ProductionOrderRule_asPredicate.xml deleted file mode 100644 index 6c2561026b..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/ProductionOrderRule_asPredicate.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return context.generatePredicate(criterion_property_list=("start_date",))\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>ProductionOrderRule_asPredicate</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/SimulationMovement_testTransformationModelRule.xml b/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/SimulationMovement_testTransformationModelRule.xml deleted file mode 100644 index 57b9ba1708..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/SimulationMovement_testTransformationModelRule.xml +++ /dev/null @@ -1,83 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>movement = context\n -\n -try:\n - root_applied_rule = movement.getRootAppliedRule()\n -except AttributeError:\n - return False\n -root_rule = root_applied_rule.getSpecialiseValue()\n -order = root_applied_rule.getCausalityValue()\n -\n -# Test movement\n -if (root_rule is None or\n - root_rule.getPortalType() not in ("Production Order Model Rule", "Production Order Model Root Simulation Rule") or\n - order is None or\n - movement.getSource() is None):\n - return False\n -\n -return rule.getTransformationValue(movement=movement) is not None\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>rule</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>SimulationMovement_testTransformationModelRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/SimulationMovement_testTransformationRule.xml b/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/SimulationMovement_testTransformationRule.xml deleted file mode 100644 index d762845f4a..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/SimulationMovement_testTransformationRule.xml +++ /dev/null @@ -1,108 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -from Products.ERP5Type.Errors import TransformationRuleError\n -# Test if we must transform\n -# The test should actually be based on nodes, paths\n -# and capacities, which is not possible now\n -\n -movement = context\n -\n -try:\n - root_applied_rule = movement.getRootAppliedRule()\n -except AttributeError:\n - return False\n -root_rule = root_applied_rule.getSpecialiseValue()\n -order = root_applied_rule.getCausalityValue()\n -root_movement = movement.getRootSimulationMovement()\n -\n -# Test movement\n -if (root_rule is None or\n - root_rule.getPortalType() not in ("Production Order Rule", "Production Order Root Simulation Rule") or\n - order is None or\n - movement.getResourceValue() is None or\n - movement.getSourceValue() is None or\n - movement.getResourceValue() != root_movement.getResourceValue()):\n - return False\n -if root_rule.getPortalType() in ("Production Order Root Simulation Rule",) and\\\n - movement.getPath() == root_movement.getPath():\n - return False\n -\n -supply_chain = rule.getSupplyChain(movement.getParentValue())\n -parent_supply_link = rule.getCurrentSupplyLink(movement)\n -current_tranfo_link_list = supply_chain.getPreviousProductionSupplyLinkList(parent_supply_link)\n -length = len(current_tranfo_link_list)\n -if length == 0:\n - return False\n -elif length > 1:\n - # XXX FIXME: implementation needed\n - raise TransformationRuleError,\\\n - "TransformationRule not able to use multiple SupplyLink."\n -return True\n - - -]]></string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>rule</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>SimulationMovement_testTransformationRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/SimulationMovement_testTransformationSourcingModelRule.xml b/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/SimulationMovement_testTransformationSourcingModelRule.xml deleted file mode 100644 index 7a07b07e08..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/SimulationMovement_testTransformationSourcingModelRule.xml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>movement = context\n -\n -try:\n - root_applied_rule = movement.getRootAppliedRule()\n -except AttributeError:\n - return False\n -root_rule = root_applied_rule.getSpecialiseValue()\n -order = root_applied_rule.getCausalityValue()\n -parent_rule = movement.getParentValue().getSpecialiseValue()\n -\n -# Test movement\n -if (root_rule is None or\n - root_rule.getPortalType() not in ("Production Order Model Rule", "Production Order Model Root Simulation Rule") or\n - order is None or\n - parent_rule.getPortalType() != "Transformation Model Rule"):\n - return False\n -\n -return rule.getTransformationValue(movement=movement) is None\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>rule</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>SimulationMovement_testTransformationSourcingModelRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/SimulationMovement_testTransformationSourcingRule.xml b/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/SimulationMovement_testTransformationSourcingRule.xml deleted file mode 100644 index 9f243574d1..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/SimulationMovement_testTransformationSourcingRule.xml +++ /dev/null @@ -1,92 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string># Test if we must transform\n -# The test should actually be based on nodes, paths\n -# and capacities, which is not possible now\n -\n -movement = context\n -\n -try:\n - root_applied_rule = movement.getRootAppliedRule()\n -except AttributeError:\n - return False\n -root_rule = root_applied_rule.getSpecialiseValue()\n -order = root_applied_rule.getCausalityValue()\n -\n -# Test movement\n -if (root_rule is None or\n - root_rule.getPortalType() not in ("Production Order Rule", "Production Order Root Simulation Rule") or\n - order is None or\n - movement.getResourceValue() is None or\n - movement.getSourceValue() is None):\n - return False\n -\n -supply_chain = rule.getSupplyChain(movement.getParentValue())\n -parent_supply_link = rule.getCurrentSupplyLink(movement)\n -if not supply_chain.test(parent_supply_link, movement):\n - return False\n -return True\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>rule</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>SimulationMovement_testTransformationSourcingRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/TransformationRule_asPredicate.xml b/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/TransformationRule_asPredicate.xml deleted file mode 100644 index f5d6bbc6db..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/TransformationRule_asPredicate.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return context.generatePredicate(criterion_property_list=("start_date",))\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>TransformationRule_asPredicate</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/TransformationSourcingRule_asPredicate.xml b/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/TransformationSourcingRule_asPredicate.xml deleted file mode 100644 index c1cec16b44..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/SkinTemplateItem/portal_skins/erp5_mrp_simulation_legacy/TransformationSourcingRule_asPredicate.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return context.generatePredicate(criterion_property_list=("start_date",))\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>TransformationSourcingRule_asPredicate</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp_simulation_legacy/bt/copyright_list b/bt5/erp5_mrp_simulation_legacy/bt/copyright_list deleted file mode 100644 index fe948b9fb7..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/bt/copyright_list +++ /dev/null @@ -1 +0,0 @@ -Copyright (c) 2010 Nexedi SA \ No newline at end of file diff --git a/bt5/erp5_mrp_simulation_legacy/bt/dependency_list b/bt5/erp5_mrp_simulation_legacy/bt/dependency_list deleted file mode 100644 index bfa01baaa5..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/bt/dependency_list +++ /dev/null @@ -1,2 +0,0 @@ -erp5_simulation_legacy -erp5_mrp \ No newline at end of file diff --git a/bt5/erp5_mrp_simulation_legacy/bt/license b/bt5/erp5_mrp_simulation_legacy/bt/license deleted file mode 100644 index 3a3e12bcad..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/bt/license +++ /dev/null @@ -1 +0,0 @@ -GPL \ No newline at end of file diff --git a/bt5/erp5_mrp_simulation_legacy/bt/revision b/bt5/erp5_mrp_simulation_legacy/bt/revision deleted file mode 100644 index 7813681f5b..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/bt/revision +++ /dev/null @@ -1 +0,0 @@ -5 \ No newline at end of file diff --git a/bt5/erp5_mrp_simulation_legacy/bt/template_action_path_list b/bt5/erp5_mrp_simulation_legacy/bt/template_action_path_list deleted file mode 100644 index 09fcf95c9b..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/bt/template_action_path_list +++ /dev/null @@ -1,8 +0,0 @@ -Production Order Model Root Simulation Rule | view -Production Order Model Rule | view -Production Order Root Simulation Rule | view -Production Order Rule | view -Transformation Model Rule | view -Transformation Rule | view -Transformation Sourcing Model Rule | view -Transformation Sourcing Rule | view \ No newline at end of file diff --git a/bt5/erp5_mrp_simulation_legacy/bt/template_format_version b/bt5/erp5_mrp_simulation_legacy/bt/template_format_version deleted file mode 100644 index 56a6051ca2..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/bt/template_format_version +++ /dev/null @@ -1 +0,0 @@ -1 \ No newline at end of file diff --git a/bt5/erp5_mrp_simulation_legacy/bt/template_path_list b/bt5/erp5_mrp_simulation_legacy/bt/template_path_list deleted file mode 100644 index 3c1b6ef5f2..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/bt/template_path_list +++ /dev/null @@ -1,16 +0,0 @@ -portal_rules/default_production_order_model_root_simulation_rule -portal_rules/default_production_order_model_root_simulation_rule/** -portal_rules/default_production_order_model_rule -portal_rules/default_production_order_model_rule/** -portal_rules/default_production_order_root_simulation_rule -portal_rules/default_production_order_root_simulation_rule/** -portal_rules/default_production_order_rule -portal_rules/default_production_order_rule/** -portal_rules/default_transformation_model_rule -portal_rules/default_transformation_model_rule/** -portal_rules/default_transformation_rule -portal_rules/default_transformation_rule/** -portal_rules/default_transformation_sourcing_model_rule -portal_rules/default_transformation_sourcing_model_rule/** -portal_rules/default_transformation_sourcing_rule -portal_rules/default_transformation_sourcing_rule/** \ No newline at end of file diff --git a/bt5/erp5_mrp_simulation_legacy/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_mrp_simulation_legacy/bt/template_portal_type_allowed_content_type_list deleted file mode 100644 index d1cdc31d06..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/bt/template_portal_type_allowed_content_type_list +++ /dev/null @@ -1,40 +0,0 @@ -Production Order Model Root Simulation Rule | Category Divergence Tester -Production Order Model Root Simulation Rule | Composed Divergence Tester -Production Order Model Root Simulation Rule | Property Divergence Tester -Production Order Model Root Simulation Rule | Quantity Divergence Tester -Production Order Model Rule | Category Divergence Tester -Production Order Model Rule | Composed Divergence Tester -Production Order Model Rule | Property Divergence Tester -Production Order Model Rule | Quantity Divergence Tester -Production Order Root Simulation Rule | Category Divergence Tester -Production Order Root Simulation Rule | Composed Divergence Tester -Production Order Root Simulation Rule | Property Divergence Tester -Production Order Root Simulation Rule | Quantity Divergence Tester -Production Order Rule | Category Divergence Tester -Production Order Rule | Composed Divergence Tester -Production Order Rule | Property Divergence Tester -Production Order Rule | Quantity Divergence Tester -Rule Tool | Production Order Model Root Simulation Rule -Rule Tool | Production Order Model Rule -Rule Tool | Production Order Root Simulation Rule -Rule Tool | Production Order Rule -Rule Tool | Transformation Model Rule -Rule Tool | Transformation Rule -Rule Tool | Transformation Sourcing Model Rule -Rule Tool | Transformation Sourcing Rule -Transformation Model Rule | Category Divergence Tester -Transformation Model Rule | Composed Divergence Tester -Transformation Model Rule | Property Divergence Tester -Transformation Model Rule | Quantity Divergence Tester -Transformation Rule | Category Divergence Tester -Transformation Rule | Composed Divergence Tester -Transformation Rule | Property Divergence Tester -Transformation Rule | Quantity Divergence Tester -Transformation Sourcing Model Rule | Category Divergence Tester -Transformation Sourcing Model Rule | Composed Divergence Tester -Transformation Sourcing Model Rule | Property Divergence Tester -Transformation Sourcing Model Rule | Quantity Divergence Tester -Transformation Sourcing Rule | Category Divergence Tester -Transformation Sourcing Rule | Composed Divergence Tester -Transformation Sourcing Rule | Property Divergence Tester -Transformation Sourcing Rule | Quantity Divergence Tester \ No newline at end of file diff --git a/bt5/erp5_mrp_simulation_legacy/bt/template_portal_type_id_list b/bt5/erp5_mrp_simulation_legacy/bt/template_portal_type_id_list deleted file mode 100644 index 58fc1f6eb1..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/bt/template_portal_type_id_list +++ /dev/null @@ -1,8 +0,0 @@ -Production Order Model Root Simulation Rule -Production Order Model Rule -Production Order Root Simulation Rule -Production Order Rule -Transformation Model Rule -Transformation Rule -Transformation Sourcing Model Rule -Transformation Sourcing Rule \ No newline at end of file diff --git a/bt5/erp5_mrp_simulation_legacy/bt/template_portal_type_workflow_chain_list b/bt5/erp5_mrp_simulation_legacy/bt/template_portal_type_workflow_chain_list deleted file mode 100644 index b7c45d8079..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/bt/template_portal_type_workflow_chain_list +++ /dev/null @@ -1,16 +0,0 @@ -Production Order Model Root Simulation Rule | edit_workflow -Production Order Model Root Simulation Rule | rule_validation_workflow -Production Order Model Rule | edit_workflow -Production Order Model Rule | rule_validation_workflow -Production Order Root Simulation Rule | edit_workflow -Production Order Root Simulation Rule | rule_validation_workflow -Production Order Rule | edit_workflow -Production Order Rule | rule_validation_workflow -Transformation Model Rule | edit_workflow -Transformation Model Rule | rule_validation_workflow -Transformation Rule | edit_workflow -Transformation Rule | rule_validation_workflow -Transformation Sourcing Model Rule | edit_workflow -Transformation Sourcing Model Rule | rule_validation_workflow -Transformation Sourcing Rule | edit_workflow -Transformation Sourcing Rule | rule_validation_workflow \ No newline at end of file diff --git a/bt5/erp5_mrp_simulation_legacy/bt/template_skin_id_list b/bt5/erp5_mrp_simulation_legacy/bt/template_skin_id_list deleted file mode 100644 index db3e7056a6..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/bt/template_skin_id_list +++ /dev/null @@ -1 +0,0 @@ -erp5_mrp_simulation_legacy \ No newline at end of file diff --git a/bt5/erp5_mrp_simulation_legacy/bt/title b/bt5/erp5_mrp_simulation_legacy/bt/title deleted file mode 100644 index db3e7056a6..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/bt/title +++ /dev/null @@ -1 +0,0 @@ -erp5_mrp_simulation_legacy \ No newline at end of file diff --git a/bt5/erp5_mrp_simulation_legacy/bt/version b/bt5/erp5_mrp_simulation_legacy/bt/version deleted file mode 100644 index ceab6e11ec..0000000000 --- a/bt5/erp5_mrp_simulation_legacy/bt/version +++ /dev/null @@ -1 +0,0 @@ -0.1 \ No newline at end of file diff --git a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder.xml b/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder.xml deleted file mode 100644 index bbe0a62596..0000000000 --- a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder.xml +++ /dev/null @@ -1,180 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Builder" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>collect_order</string> </key> - <value> - <tuple> - <string>OrderMovementGroup</string> - <string>PathMovementGroup</string> - <string>DateMovementGroup</string> - <string>ResourceMovementGroup</string> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>collect_order_list</string> </key> - <value> - <list> - <string>test</string> - <string>test2</string> - </list> - </value> - </item> - <item> - <key> <string>collect_order_list_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>comment</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_method_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_script_id</string> </key> - <value> <string>InvoiceTransaction_postGeneration</string> </value> - </item> - <item> - <key> <string>delivery_cell_collect_order</string> </key> - <value> - <tuple> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_cell_portal_type</string> </key> - <value> <string>Invoice Cell</string> </value> - </item> - <item> - <key> <string>delivery_cell_separate_order</string> </key> - <value> - <tuple> - <string>calculateSeparatePrice</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_collect_order</string> </key> - <value> - <tuple> - <string>SourceProjectMovementGroup</string> - <string>SectionPathMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_collect_order</string> </key> - <value> - <tuple> - <string>ResourceMovementGroup</string> - <string>BaseVariantMovementGroup</string> - <string>DateMovementGroup</string> - <string>TitleMovementGroup</string> - <string>PathMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_portal_type</string> </key> - <value> <string>Invoice Line</string> </value> - </item> - <item> - <key> <string>delivery_module</string> </key> - <value> <string>accounting_module</string> </value> - </item> - <item> - <key> <string>delivery_portal_type</string> </key> - <value> <string>Sale Invoice Transaction</string> </value> - </item> - <item> - <key> <string>delivery_select_method_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Builds Sale Invoices from Task Reports related simulation movements</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>task_invoice_builder</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Builder</string> </value> - </item> - <item> - <key> <string>resource_portal_type</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>simulation_select_method_id</string> </key> - <value> <string>SaleInvoiceTransaction_selectTaskReportMovement</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Task Invoice Builder</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_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/base_variant_movement_group_in_line.xml b/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/base_variant_movement_group_in_line.xml deleted file mode 100644 index 5d8672824a..0000000000 --- a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/base_variant_movement_group_in_line.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Base Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/category_movement_group_on_delivery.xml b/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/category_movement_group_on_delivery.xml deleted file mode 100644 index cf1723da10..0000000000 --- a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/category_movement_group_on_delivery.xml +++ /dev/null @@ -1,55 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>source_section</string> - <string>destination_section</string> - <string>source_project</string> - <string>source_payment</string> - <string>destination_payment</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/category_movement_group_on_line.xml b/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/category_movement_group_on_line.xml deleted file mode 100644 index 8968afc153..0000000000 --- a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/category_movement_group_on_line.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>resource</string> - <string>source</string> - <string>destination</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/property_movement_group_on_line.xml b/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/property_movement_group_on_line.xml deleted file mode 100644 index 072bb01941..0000000000 --- a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/property_movement_group_on_line.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>start_date</string> - <string>stop_date</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>property_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/title_movement_group_on_line.xml b/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/title_movement_group_on_line.xml deleted file mode 100644 index c4bc1a3164..0000000000 --- a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/title_movement_group_on_line.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Title Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>title_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Title Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>title_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/variant_movement_group_on_cell.xml b/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/variant_movement_group_on_cell.xml deleted file mode 100644 index 0fb0ec2196..0000000000 --- a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_invoice_builder/variant_movement_group_on_cell.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/cell</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder.xml b/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder.xml deleted file mode 100644 index d27278b699..0000000000 --- a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder.xml +++ /dev/null @@ -1,141 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Builder" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>comment</string> </key> - <value> <string>delivery_line_collect_order\t(\'RequirementMovementGroup\', \'SplitMovementGroup\')</string> </value> - </item> - <item> - <key> <string>delivery_after_generation_script_id</string> </key> - <value> <string>TaskReport_copyOrderPropertiesAndNotifyAssignee</string> </value> - </item> - <item> - <key> <string>delivery_cell_collect_order</string> </key> - <value> - <tuple> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_cell_portal_type</string> </key> - <value> <string>Sale Packing List Cell</string> </value> - </item> - <item> - <key> <string>delivery_cell_separate_order</string> </key> - <value> - <tuple> - <string>calculateAveragePrice</string> - <string>calculateAddQuantity</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_collect_order</string> </key> - <value> - <tuple> - <string>OrderMovementGroup</string> - <string>DateMovementGroup</string> - <string>SectionPathMovementGroup</string> - <string>PathMovementGroup</string> - <string>SourceProjectMovementGroup</string> - <string>PriceCurrencyMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_collect_order</string> </key> - <value> - <tuple> - <string>ResourceMovementGroup</string> - <string>TitleMovementGroup</string> - <string>BaseVariantMovementGroup</string> - <string>RequirementMovementGroup</string> - <string>QuantityUnitMovementGroup</string> - <string>SplitMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_portal_type</string> </key> - <value> <string>Task Report Line</string> </value> - </item> - <item> - <key> <string>delivery_module</string> </key> - <value> <string>task_report_module</string> </value> - </item> - <item> - <key> <string>delivery_portal_type</string> </key> - <value> <string>Task Report</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>task_report_builder</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Builder</string> </value> - </item> - <item> - <key> <string>simulation_select_method_id</string> </key> - <value> <string>Task_selectMovement</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Task Report Builder</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_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/base_variant_movement_group_in_line.xml b/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/base_variant_movement_group_in_line.xml deleted file mode 100644 index 49938b9369..0000000000 --- a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/base_variant_movement_group_in_line.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Base Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/category_movement_group_on_delivery.xml b/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/category_movement_group_on_delivery.xml deleted file mode 100644 index 35d3921d22..0000000000 --- a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/category_movement_group_on_delivery.xml +++ /dev/null @@ -1,59 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>source</string> - <string>destination</string> - <string>source_section</string> - <string>destination_section</string> - <string>source_project</string> - <string>destination_project</string> - <string>source_payment</string> - <string>destination_payment</string> - <string>price_currency</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/category_movement_group_on_line.xml b/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/category_movement_group_on_line.xml deleted file mode 100644 index 52a615a1e5..0000000000 --- a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/category_movement_group_on_line.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>resource</string> - <string>aggregate</string> - <string>quantity_unit</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/order_movement_group_on_delivery.xml b/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/order_movement_group_on_delivery.xml deleted file mode 100644 index 4b4699de2a..0000000000 --- a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/order_movement_group_on_delivery.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Order Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>order_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Order Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>order_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/property_movement_group_on_delivery.xml b/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/property_movement_group_on_delivery.xml deleted file mode 100644 index 6436fb8009..0000000000 --- a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/property_movement_group_on_delivery.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>start_date</string> - <string>stop_date</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/property_movement_group_on_line.xml b/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/property_movement_group_on_line.xml deleted file mode 100644 index 6910871a44..0000000000 --- a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/property_movement_group_on_line.xml +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>description</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>property_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/requirement_movement_group_on_line.xml b/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/requirement_movement_group_on_line.xml deleted file mode 100644 index f2ad5e5523..0000000000 --- a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/requirement_movement_group_on_line.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Requirement Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>requirement_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>5</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Requirement Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>requirement_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/split_movement_group_on_line.xml b/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/split_movement_group_on_line.xml deleted file mode 100644 index aa1360acdb..0000000000 --- a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/split_movement_group_on_line.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Split Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>split_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>6</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Split Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>split_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/title_movement_group_on_line.xml b/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/title_movement_group_on_line.xml deleted file mode 100644 index c4bc1a3164..0000000000 --- a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/title_movement_group_on_line.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Title Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>title_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Title Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>title_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/variant_movement_group_on_cell.xml b/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/variant_movement_group_on_cell.xml deleted file mode 100644 index 0fb0ec2196..0000000000 --- a/bt5/erp5_project_simulation_legacy/PathTemplateItem/portal_deliveries/task_report_builder/variant_movement_group_on_cell.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/cell</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project_simulation_legacy/bt/copyright_list b/bt5/erp5_project_simulation_legacy/bt/copyright_list deleted file mode 100644 index fe948b9fb7..0000000000 --- a/bt5/erp5_project_simulation_legacy/bt/copyright_list +++ /dev/null @@ -1 +0,0 @@ -Copyright (c) 2010 Nexedi SA \ No newline at end of file diff --git a/bt5/erp5_project_simulation_legacy/bt/dependency_list b/bt5/erp5_project_simulation_legacy/bt/dependency_list deleted file mode 100644 index a568716c83..0000000000 --- a/bt5/erp5_project_simulation_legacy/bt/dependency_list +++ /dev/null @@ -1,2 +0,0 @@ -erp5_simulation_legacy -erp5_project \ No newline at end of file diff --git a/bt5/erp5_project_simulation_legacy/bt/license b/bt5/erp5_project_simulation_legacy/bt/license deleted file mode 100644 index 3a3e12bcad..0000000000 --- a/bt5/erp5_project_simulation_legacy/bt/license +++ /dev/null @@ -1 +0,0 @@ -GPL \ No newline at end of file diff --git a/bt5/erp5_project_simulation_legacy/bt/revision b/bt5/erp5_project_simulation_legacy/bt/revision deleted file mode 100644 index bf0d87ab1b..0000000000 --- a/bt5/erp5_project_simulation_legacy/bt/revision +++ /dev/null @@ -1 +0,0 @@ -4 \ No newline at end of file diff --git a/bt5/erp5_project_simulation_legacy/bt/template_format_version b/bt5/erp5_project_simulation_legacy/bt/template_format_version deleted file mode 100644 index 56a6051ca2..0000000000 --- a/bt5/erp5_project_simulation_legacy/bt/template_format_version +++ /dev/null @@ -1 +0,0 @@ -1 \ No newline at end of file diff --git a/bt5/erp5_project_simulation_legacy/bt/template_path_list b/bt5/erp5_project_simulation_legacy/bt/template_path_list deleted file mode 100644 index 2dd9307796..0000000000 --- a/bt5/erp5_project_simulation_legacy/bt/template_path_list +++ /dev/null @@ -1,4 +0,0 @@ -portal_deliveries/task_invoice_builder -portal_deliveries/task_invoice_builder/** -portal_deliveries/task_report_builder -portal_deliveries/task_report_builder/** \ No newline at end of file diff --git a/bt5/erp5_project_simulation_legacy/bt/title b/bt5/erp5_project_simulation_legacy/bt/title deleted file mode 100644 index 9d0664b45a..0000000000 --- a/bt5/erp5_project_simulation_legacy/bt/title +++ /dev/null @@ -1 +0,0 @@ -erp5_project_simulation_legacy \ No newline at end of file diff --git a/bt5/erp5_project_simulation_legacy/bt/version b/bt5/erp5_project_simulation_legacy/bt/version deleted file mode 100644 index ceab6e11ec..0000000000 --- a/bt5/erp5_project_simulation_legacy/bt/version +++ /dev/null @@ -1 +0,0 @@ -0.1 \ No newline at end of file diff --git a/bt5/erp5_simulation_legacy/ActionTemplateItem/portal_types/Category%20Divergence%20Tester/view.xml b/bt5/erp5_simulation_legacy/ActionTemplateItem/portal_types/Category%20Divergence%20Tester/view.xml deleted file mode 100644 index 9777ca63a0..0000000000 --- a/bt5/erp5_simulation_legacy/ActionTemplateItem/portal_types/Category%20Divergence%20Tester/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/PropertyDivergenceTester_view</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/ActionTemplateItem/portal_types/Composed%20Divergence%20Tester/view.xml b/bt5/erp5_simulation_legacy/ActionTemplateItem/portal_types/Composed%20Divergence%20Tester/view.xml deleted file mode 100644 index 05008ade26..0000000000 --- a/bt5/erp5_simulation_legacy/ActionTemplateItem/portal_types/Composed%20Divergence%20Tester/view.xml +++ /dev/null @@ -1,81 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <none/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/ComposedDivergenceTester_view</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/ActionTemplateItem/portal_types/Property%20Divergence%20Tester/view.xml b/bt5/erp5_simulation_legacy/ActionTemplateItem/portal_types/Property%20Divergence%20Tester/view.xml deleted file mode 100644 index 9777ca63a0..0000000000 --- a/bt5/erp5_simulation_legacy/ActionTemplateItem/portal_types/Property%20Divergence%20Tester/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/PropertyDivergenceTester_view</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/ActionTemplateItem/portal_types/Quantity%20Divergence%20Tester/view.xml b/bt5/erp5_simulation_legacy/ActionTemplateItem/portal_types/Quantity%20Divergence%20Tester/view.xml deleted file mode 100644 index 91aff91234..0000000000 --- a/bt5/erp5_simulation_legacy/ActionTemplateItem/portal_types/Quantity%20Divergence%20Tester/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/QuantityDivergenceTester_view</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/DocumentTemplateItem/AccountingTransactionRootSimulationRule.py b/bt5/erp5_simulation_legacy/DocumentTemplateItem/AccountingTransactionRootSimulationRule.py deleted file mode 100644 index 3d0869d9a4..0000000000 --- a/bt5/erp5_simulation_legacy/DocumentTemplateItem/AccountingTransactionRootSimulationRule.py +++ /dev/null @@ -1,66 +0,0 @@ -############################################################################## -# -# Copyright (c) 2010 Nexedi SARL 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.ERP5Legacy.Document.DeliveryRule import DeliveryRule - -class AccountingTransactionRootSimulationRule(DeliveryRule): - """ - Accounting Transaction Root Simulation Rule is a root level rule for - Accounting Transaction. - """ - # CMF Type Definition - meta_type = 'ERP5 Accounting Transaction Root Simulation Rule' - portal_type = 'Accounting Transaction Root Simulation Rule' - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - def _getExpandablePropertyUpdateDict(self, applied_rule, movement, - business_link, current_property_dict): - """Order rule specific update dictionary""" - return { - 'delivery': movement.getRelativeUrl(), - } - - def _getInputMovementList(self, applied_rule): - """Return list of movements from delivery""" - delivery = applied_rule.getDefaultCausalityValue() - movement_list = [] - delivery_movement_type_list = self.getPortalAccountingMovementTypeList() - if delivery is not None: - existing_movement_list = applied_rule.objectValues() - for movement in delivery.getMovementList( - portal_type=delivery_movement_type_list): - simulation_movement = self._getDeliveryRelatedSimulationMovement( - movement) - if simulation_movement is None or \ - simulation_movement in existing_movement_list: - movement_list.append(movement) - return movement_list diff --git a/bt5/erp5_simulation_legacy/DocumentTemplateItem/BusinessProcess.py b/bt5/erp5_simulation_legacy/DocumentTemplateItem/BusinessProcess.py deleted file mode 100644 index 96168bfda8..0000000000 --- a/bt5/erp5_simulation_legacy/DocumentTemplateItem/BusinessProcess.py +++ /dev/null @@ -1,267 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved. -# Jean-Paul Smets-Solanes <jp@nexedi.com> -# Yusuke Muraoka <yusuke@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo -from Products.ERP5Type import Permissions, PropertySheet, interfaces -from Products.ERP5Type.XMLObject import XMLObject -from Products.ERP5.Document.Path import Path - -import zope.interface - -class BusinessProcess(Path, XMLObject): - """ - The BusinessProcess class is a container class which is used - to describe business processes in the area of trade, payroll - and production. - - TODO: - - finish interface implementation - """ - meta_type = 'ERP5 Business Process' - portal_type = 'Business Process' - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - # Declarative properties - property_sheets = ( PropertySheet.Base - , PropertySheet.XMLObject - , PropertySheet.CategoryCore - , PropertySheet.DublinCore - , PropertySheet.Folder - , PropertySheet.Comment - , PropertySheet.Arrow - , PropertySheet.BusinessProcess - ) - - # Declarative interfaces - zope.interface.implements(interfaces.IBusinessProcess, - interfaces.IArrowBase) - - # Access to path and states of the business process - security.declareProtected(Permissions.AccessContentsInformation, 'getPathValueList') - def getPathValueList(self, trade_phase=None, context=None, **kw): - """ - Returns all Path of the current BusinessProcess which - are matching the given trade_phase and the optional context. - - trade_phase -- a single trade phase category or a list of - trade phases - - context -- the context to search matching predicates for - - **kw -- same parameters as for searchValues / contentValues - """ - if trade_phase is None: - trade_phase = set() - elif not isinstance(trade_phase, (list, tuple)): - trade_phase = set((trade_phase,)) - else: - trade_phase = set(trade_phase) - result = [] - if len(trade_phase) == 0: - return result - # Separate the selection of business paths into twp steps - # for easier debugging. - # First, collect business paths which can be applicable to a given context. - business_path_list = [] - for business_path in self.objectValues(portal_type='Business Path', - sort_on='int_index'): - if trade_phase.intersection(business_path.getTradePhaseList()): - business_path_list.append(business_path) - # Then, filter business paths by Predicate API. - # FIXME: Ideally, we should use the Domain Tool to search business paths, - # and avoid using the low level Predicate API. But the Domain Tool does - # support the condition above without scripting? - for business_path in business_path_list: - if business_path.test(context): - result.append(business_path) - return result - - security.declareProtected(Permissions.AccessContentsInformation, 'getStateValueList') - def getStateValueList(self, *args, **kw): - """ - Returns all states of the business process. The method - **kw parameters follows the API of searchValues / contentValues - """ - # Naive implementation to redo XXX - kw['portal_type'] = "Business State" - return self.contentValues(*args, **kw) - - # Access to path and states of the business process - def isCompleted(self, explanation): - """ - True if all states are completed - """ - for state in self.getStateValueList(): - if not state.isCompleted(explanation): - return False - return True - - def isBuildable(self, explanation): - """ - True if all any path is buildable - """ - return len(self.getBuildablePathValueList(explanation)) != 0 - - def getBuildablePathValueList(self, explanation): - """ - Returns the list of Business Path which are ready to - be built - """ - return filter(lambda x:x.isBuildable(explanation), - self.objectValues(portal_type='Business Path')) - - def getCompletedStateValueList(self, explanation): - """ - Returns the list of Business States which are finished - """ - return filter(lambda x:x.isCompleted(explanation), self.getStateValueList()) - - def getPartiallyCompletedStateValueList(self, explanation): - """ - Returns the list of Business States which are finished - """ - return filter(lambda x:x.isPartiallyCompleted(explanation), self.getStateValueList()) - - def getLatestCompletedStateValue(self, explanation): - """ - Returns the most advanced completed state - """ - for state in self.getCompletedStateValueList(explanation): - for path in state.getPredecessorRelatedValueList(): - if not path.isCompleted(explanation): - return state - return None - - def getLatestPartiallyCompletedStateValue(self, explanation): - """ - Returns the most advanced completed state - """ - for state in self.getCompletedStateValueList(explanation): - for path in state.getPredecessorRelatedValueList(): - if not path.isPartiallyCompleted(explanation): - return state - return None - - def getLatestCompletedStateValueList(self, explanation): - """ - Returns the most advanced completed state - """ - result = [] - for state in self.getCompletedStateValueList(explanation): - for path in state.getPredecessorRelatedValueList(): - if not path.isCompleted(explanation): - result.append(state) - return result - - def getLatestPartiallyCompletedStateValueList(self, explanation): - """ - Returns the most advanced completed state - """ - result = [] - for state in self.getCompletedStateValueList(explanation): - for path in state.getPredecessorRelatedValueList(): - if not path.isPartiallyCompleted(explanation): - result.append(state) - return result - - def build(self, explanation_relative_url): - """ - Build whatever is buildable - """ - explanation = self.restrictedTraverse(explanation_relative_url) - for path in self.getBuildablePathValueList(explanation): - path.build(explanation) - - def isStartDateReferential(self): # XXX - not in interface - return self.getReferentialDate() == 'start_date' - - def isStopDateReferential(self): # XXX - not in interface - return self.getReferentialDate() == 'stop_date' - - def getTradePhaseList(self): - """ - Returns all trade_phase of this business process - """ - path_list = self.objectValues(portal_type=self.getPortalBusinessPathTypeList()) - return filter(None, [path.getTradePhase() - for path in path_list]) - - def getRootExplanationPathValue(self): - """ - Returns a root path of this business process - """ - path_list = self.objectValues(portal_type=self.getPortalBusinessPathTypeList()) - path_list = filter(lambda x: x.isDeliverable(), path_list) - - if len(path_list) > 1: - raise Exception, "this business process has multi root paths" - - if len(path_list) == 1: - return path_list[0] - - def getHeadPathValueList(self, trade_phase_list=None): - """ - Returns a list of head path(s) of this business process - - trade_phase_list -- used to filtering, means that discovering - a list of head path with the trade_phase_list - """ - head_path_list = list() - for state in self.getStateValueList(): - if len(state.getSuccessorRelatedValueList()) == 0: - head_path_list += state.getPredecessorRelatedValueList() - - if trade_phase_list is not None: - _set = set(trade_phase_list) - _list = list() - # start to discover a head path with the trade_phase_list from head path(s) of whole - for path in head_path_list: - _list += self._getHeadPathValueList(path, _set) - head_path_list = map(lambda t: t[0], filter(lambda t: t != (None, None), _list)) - - return head_path_list - - def _getHeadPathValueList(self, path, trade_phase_set): - # if the path has target trade_phase, it is a head path. - _set = set(path.getTradePhaseList()) - if _set & trade_phase_set: - return [(path, _set & trade_phase_set)] - - node = path.getSuccessorValue() - if node is None: - return [(None, None)] - - _list = list() - for next_path in node.getPredecessorRelatedValueList(): - _list += self._getHeadPathValueList(next_path, trade_phase_set) - return _list diff --git a/bt5/erp5_simulation_legacy/DocumentTemplateItem/DeliveryRootSimulationRule.py b/bt5/erp5_simulation_legacy/DocumentTemplateItem/DeliveryRootSimulationRule.py deleted file mode 100644 index c01fa0d601..0000000000 --- a/bt5/erp5_simulation_legacy/DocumentTemplateItem/DeliveryRootSimulationRule.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# 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.ERP5Legacy.Document.DeliveryRule import DeliveryRule - -class DeliveryRootSimulationRule(DeliveryRule): - """ - Delivery Root Simulation Rule is a root level rule for Deliveries. - """ - - # CMF Type Definition - meta_type = 'ERP5 Delivery Root Simulation Rule' - portal_type = 'Delivery Root Simulation Rule' - add_permission = Permissions.AddPortalContent - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - def _getExpandablePropertyUpdateDict(self, applied_rule, movement, - business_link, current_property_dict): - """Order rule specific update dictionary""" - return { - 'delivery': movement.getRelativeUrl(), - } diff --git a/bt5/erp5_simulation_legacy/DocumentTemplateItem/DeliverySimulationRule.py b/bt5/erp5_simulation_legacy/DocumentTemplateItem/DeliverySimulationRule.py deleted file mode 100644 index 1e1cae802c..0000000000 --- a/bt5/erp5_simulation_legacy/DocumentTemplateItem/DeliverySimulationRule.py +++ /dev/null @@ -1,61 +0,0 @@ -############################################################################## -# -# 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.ERP5Legacy.Document.Rule import Rule - -class DeliverySimulationRule(Rule): - """ - Delivery Simulation Rule expand simulation created by a order root - simulation rule or delivery root simulation rule. - """ - - # CMF Type Definition - meta_type = 'ERP5 Delivery Simulation Rule' - portal_type = 'Delivery Simulation Rule' - add_permission = Permissions.AddPortalContent - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - security.declareProtected(Permissions.ModifyPortalContent, 'expand') - def expand(self, applied_rule, force=0, **kw): - """ - Expands the rule: - - generate a list of previsions - - compare the prevision with existing children - - get the list of existing movements (immutable, mutable, deletable) - - compute the difference between prevision and existing (add, - modify, remove) - - add/modify/remove child movements to match prevision - """ - return Rule._expand(self, applied_rule, force=force, **kw) - - def isDeliverable(self, movement): - return movement.getResource() is not None diff --git a/bt5/erp5_simulation_legacy/DocumentTemplateItem/InvoiceRootSimulationRule.py b/bt5/erp5_simulation_legacy/DocumentTemplateItem/InvoiceRootSimulationRule.py deleted file mode 100644 index 835a789e44..0000000000 --- a/bt5/erp5_simulation_legacy/DocumentTemplateItem/InvoiceRootSimulationRule.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# 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.ERP5Legacy.Document.InvoiceRule import InvoiceRule - -class InvoiceRootSimulationRule(InvoiceRule): - """ - Invoice Root Simulation Rule is a root level rule for Deliveries. - """ - - # CMF Type Definition - meta_type = 'ERP5 Invoice Root Simulation Rule' - portal_type = 'Invoice Root Simulation Rule' - add_permission = Permissions.AddPortalContent - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - def _getExpandablePropertyUpdateDict(self, applied_rule, movement, - business_link, current_property_dict): - """Order rule specific update dictionary""" - return { - 'delivery': movement.getRelativeUrl(), - } diff --git a/bt5/erp5_simulation_legacy/DocumentTemplateItem/InvoiceSimulationRule.py b/bt5/erp5_simulation_legacy/DocumentTemplateItem/InvoiceSimulationRule.py deleted file mode 100644 index aa7543e52f..0000000000 --- a/bt5/erp5_simulation_legacy/DocumentTemplateItem/InvoiceSimulationRule.py +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################## -# -# 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.ERP5Legacy.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/bt5/erp5_simulation_legacy/DocumentTemplateItem/InvoiceTransactionSimulationRule.py b/bt5/erp5_simulation_legacy/DocumentTemplateItem/InvoiceTransactionSimulationRule.py deleted file mode 100644 index 58489ff66a..0000000000 --- a/bt5/erp5_simulation_legacy/DocumentTemplateItem/InvoiceTransactionSimulationRule.py +++ /dev/null @@ -1,47 +0,0 @@ -############################################################################## -# -# 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.ERP5Legacy.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/bt5/erp5_simulation_legacy/DocumentTemplateItem/OrderBuilder.py b/bt5/erp5_simulation_legacy/DocumentTemplateItem/OrderBuilder.py deleted file mode 100644 index e0a363deaf..0000000000 --- a/bt5/erp5_simulation_legacy/DocumentTemplateItem/OrderBuilder.py +++ /dev/null @@ -1,27 +0,0 @@ -############################################################################## -# 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 advised 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 Products.ERP5Legacy.OrderBuilder import OrderBuilder diff --git a/bt5/erp5_simulation_legacy/DocumentTemplateItem/OrderRootSimulationRule.py b/bt5/erp5_simulation_legacy/DocumentTemplateItem/OrderRootSimulationRule.py deleted file mode 100644 index 93bea750f6..0000000000 --- a/bt5/erp5_simulation_legacy/DocumentTemplateItem/OrderRootSimulationRule.py +++ /dev/null @@ -1,55 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2002, 2005 Nexedi SARL and Contributors. All Rights Reserved. -# Jean-Paul Smets-Solanes <jp@nexedi.com> -# Romain Courteaud <romain@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo -from Products.ERP5Type import Permissions -from Products.ERP5Legacy.Document.OrderRule import OrderRule - -class OrderRootSimulationRule(OrderRule): - """ - Order Rule object make sure an Order in the simulation - is consistent with the real order - - WARNING: what to do with movement split ? - """ - # CMF Type Definition - meta_type = 'ERP5 Order Root Simulation Rule' - portal_type = 'Order Root Simulation Rule' - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - def _getExpandablePropertyUpdateDict(self, applied_rule, movement, - business_link, current_property_dict): - """Order rule specific update dictionary""" - return { - 'delivery': movement.getRelativeUrl(), - } diff --git a/bt5/erp5_simulation_legacy/DocumentTemplateItem/PaymentSimulationRule.py b/bt5/erp5_simulation_legacy/DocumentTemplateItem/PaymentSimulationRule.py deleted file mode 100644 index 2c11f90fd5..0000000000 --- a/bt5/erp5_simulation_legacy/DocumentTemplateItem/PaymentSimulationRule.py +++ /dev/null @@ -1,152 +0,0 @@ -############################################################################## -# -# 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.ERP5Legacy.Document.Rule import Rule -from Products.ERP5.Document.PredicateMatrix import PredicateMatrix - -class PaymentSimulationRule(Rule, PredicateMatrix): - """ - Payment Simulation Rule generates payment simulation movements from - accounting / invoice transaction simulation movements. - """ - - # CMF Type Definition - meta_type = 'ERP5 Payment Simulation Rule' - portal_type = 'Payment Simulation Rule' - add_permission = Permissions.AddPortalContent - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - def _generatePrevisionList(self, applied_rule, **kw): - """ - Generate a list of dictionaries, that contain calculated content of - current Simulation Movements in applied rule. - based on its context (parent movement, delivery, configuration ...) - - These previsions are returned as dictionaries. - - * source and destination (i.e. account) are provided by rule cells. - * start_date, stop_date and quantity are calculated according to - payment conditions. - """ - # Find an input movement and using Payment Conditions. - # XXX we also need to support local Payment Conditions, that are not - # provided by BPM. - movement_and_tuple_list = self._getInputMovementAndPathTupleList( - applied_rule) - input_movement = movement_and_tuple_list[0][0] - - payment_condition_list = [] - - # try to find local payment conditions from the upper level delivery - rule = applied_rule - movement = input_movement - delivery = movement.getDeliveryValue() - while delivery is None and not(rule.isRootAppliedRule()): - rule = movement.getParentValue() - movement = rule.getParentValue() - delivery = movement.getDeliveryValue() - if delivery is not None: - payment_condition_list = delivery.getPaymentConditionValueList() - - # try to find payment conditions in specialised trade conditions - if len(payment_condition_list) == 0: - specialise = input_movement.getSpecialiseValue() - if specialise is None and delivery is not None: - specialise = delivery.getSpecialiseValue() - if specialise is not None: - payment_condition_list = specialise.getPaymentConditionValueList() - - # try to use payment conditions in BPM configuration - if len(payment_condition_list) == 0: - payment_condition_list = [x[1] for x in movement_and_tuple_list if x[1] is not None] - - kw = self._getExpandablePropertyDict(applied_rule, input_movement, None) - prevision_list = [] - - # Find a matching cell - cell = self._getMatchingCell(input_movement) - - if cell is not None : # else, we do nothing - for payment_condition in payment_condition_list: - # XXX - if (payment_condition.getCalculationScript(input_movement) is not None - or payment_condition.getEfficiency() != 1): - raise NotImplementedError - #amount, = payment_condition.getAggregatedAmountList((input_movement,)) - #start_date = amount.getStartDate() # does it depend on any property - #stop_date = amount.getStopDate() # of payment_condition ? - #quantity = amount.getQuantity() - start_date = input_movement.getStartDate() - stop_date = input_movement.getStopDate() - quantity = input_movement.getTotalPrice() * payment_condition.getQuantity(1) - payment_mode = payment_condition.getPaymentMode() - - # one for payable - prevision_line = kw.copy() - prevision_line.update( - start_date=start_date, - stop_date=stop_date, - source=input_movement.getSource(), - destination=input_movement.getDestination(), - payment_mode=payment_mode, - quantity=-quantity - ) - prevision_list.append(prevision_line) - # one for cash, bank etc. - payment_rule_cell_line_list = cell.objectValues() - assert len(payment_rule_cell_line_list) == 1 - payment_rule_cell_line = payment_rule_cell_line_list[0] - prevision_line = kw.copy() - prevision_line.update( - start_date=start_date, - stop_date=stop_date, - source=payment_rule_cell_line.getSource(), - destination=payment_rule_cell_line.getDestination(), - payment_mode=payment_mode, - quantity=quantity - ) - prevision_list.append(prevision_line) - return prevision_list - - security.declareProtected(Permissions.ModifyPortalContent, 'expand') - def expand(self, applied_rule, **kw): - """Expands the current movement downward. - """ - return Rule._expand(self, applied_rule, **kw) - - # Matrix related - security.declareProtected( Permissions.ModifyPortalContent, - 'newCellContent' ) - def newCellContent(self, id, portal_type='Accounting Rule Cell', **kw): - """Overriden to specify default portal type - """ - return self.newContent(id=id, portal_type=portal_type, **kw) diff --git a/bt5/erp5_simulation_legacy/DocumentTemplateItem/ProductionOrderModelRootSimulationRule.py b/bt5/erp5_simulation_legacy/DocumentTemplateItem/ProductionOrderModelRootSimulationRule.py deleted file mode 100644 index 87636f487c..0000000000 --- a/bt5/erp5_simulation_legacy/DocumentTemplateItem/ProductionOrderModelRootSimulationRule.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved. -# Romain Courteaud <romain@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo -from Products.ERP5Type import Permissions, interfaces -from Products.ERP5Legacy.Document.ProductionOrderModelRule import ProductionOrderModelRule - -class ProductionOrderModelRootSimulationRule(ProductionOrderModelRule): - """ - Prouction Order Model Simulation Rule object use a Supply Chain to expand a - Production Order. - """ - - # CMF Type Definition - meta_type = 'ERP5 Production Order Model Root Simulation Rule' - portal_type = 'Production Order Model Root Simulation Rule' - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - def _getExpandablePropertyUpdateDict(self, applied_rule, movement, - business_path, current_property_dict): - """Order rule specific update dictionary""" - return { - 'delivery': movement.getRelativeUrl(), - } diff --git a/bt5/erp5_simulation_legacy/DocumentTemplateItem/ProductionOrderRootSimulationRule.py b/bt5/erp5_simulation_legacy/DocumentTemplateItem/ProductionOrderRootSimulationRule.py deleted file mode 100644 index fcfece2c48..0000000000 --- a/bt5/erp5_simulation_legacy/DocumentTemplateItem/ProductionOrderRootSimulationRule.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved. -# Romain Courteaud <romain@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo -from Products.ERP5Type import Permissions, interfaces -from Products.ERP5Legacy.Document.ProductionOrderRule import ProductionOrderRule - -class ProductionOrderRootSimulationRule(ProductionOrderRule): - """ - Prouction Order Simulation Rule object use a Supply Chain to expand a - Production Order. - """ - - # CMF Type Definition - meta_type = 'ERP5 Production Order Root Simulation Rule' - portal_type = 'Production Order Root Simulation Rule' - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - def _getExpandablePropertyUpdateDict(self, applied_rule, movement, - business_path, current_property_dict): - """Order rule specific update dictionary""" - return { - 'delivery': movement.getRelativeUrl(), - } diff --git a/bt5/erp5_simulation_legacy/DocumentTemplateItem/RootAppliedRuleCausalityMovementGroup.py b/bt5/erp5_simulation_legacy/DocumentTemplateItem/RootAppliedRuleCausalityMovementGroup.py deleted file mode 100644 index f56f497d4e..0000000000 --- a/bt5/erp5_simulation_legacy/DocumentTemplateItem/RootAppliedRuleCausalityMovementGroup.py +++ /dev/null @@ -1,53 +0,0 @@ -############################################################################## -# -# Copyright (c) 2008 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 Products.ERP5.Document.MovementGroup import MovementGroup - -class RootAppliedRuleCausalityMovementGroup(MovementGroup): - """ - The purpose of MovementGroup is to define how movements are grouped, - and how values are updated from simulation movements. - - This movement group is used to group movements whose root apply rule - has the same causality. - """ - meta_type = 'ERP5 Root Applied Rule Causality Movement Group' - portal_type = 'Root Applied Rule Causality Movement Group' - - def _getPropertyDict(self, movement, **kw): - property_dict = {} - root_causality_value = self._getRootCausalityValue(movement) - property_dict['root_causality_value_list'] = [root_causality_value] - return property_dict - - def test(self, movement, property_dict, **kw): - # We can always update - return True, property_dict - - def _getRootCausalityValue(self, movement): - """ Get the causality value of the root applied rule for a movement """ - return movement.getRootAppliedRule().getCausalityValue() diff --git a/bt5/erp5_simulation_legacy/DocumentTemplateItem/SimulatedDeliveryBuilder.py b/bt5/erp5_simulation_legacy/DocumentTemplateItem/SimulatedDeliveryBuilder.py deleted file mode 100644 index 6606405225..0000000000 --- a/bt5/erp5_simulation_legacy/DocumentTemplateItem/SimulatedDeliveryBuilder.py +++ /dev/null @@ -1,27 +0,0 @@ -############################################################################## -# 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 advised 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 Products.ERP5Legacy.Document.DeliveryBuilder import DeliveryBuilder as SimulatedDeliveryBuilder diff --git a/bt5/erp5_simulation_legacy/DocumentTemplateItem/SimulationLegacyPatches.py b/bt5/erp5_simulation_legacy/DocumentTemplateItem/SimulationLegacyPatches.py deleted file mode 100644 index 5b7f2b49b9..0000000000 --- a/bt5/erp5_simulation_legacy/DocumentTemplateItem/SimulationLegacyPatches.py +++ /dev/null @@ -1,142 +0,0 @@ -import warnings -from Products.ERP5.mixin import composition -from Products.ERP5.ERP5Site import ERP5Site - -def patch(): - from AccessControl.PermissionRole import PermissionRole - from Products.ERP5Type import Permissions - def declareProtected(cls, permission, *name_list): - roles = PermissionRole(permission) - for name in name_list: - setattr(cls, name + '__roles__', roles) - - ## ERP5Site - - declareProtected(ERP5Site, Permissions.AccessContentsInformation, - 'getPortalBusinessStateTypeList', - 'getPortalBusinessPathTypeList') - - def getPortalBusinessStateTypeList(self): - """ - Return business state types. - """ - return ('Business State',) - - ERP5Site.getPortalBusinessStateTypeList = getPortalBusinessStateTypeList - - def getPortalBusinessPathTypeList(self): - """ - Return business path types. - """ - return ('Business Path',) - - ERP5Site.getPortalBusinessPathTypeList = getPortalBusinessPathTypeList - - ## CompositionMixin - - composition._LEGACY_SIMULATION = True - - ## Movement - - from Products.ERP5.Document.Movement import Movement - - def isFrozen(self): - """ - Returns the frozen status of this movement. - a movement in stopped, delivered or cancelled states is automatically frozen. - If frozen is locally set to '0', we must check for a parent set to '1', in - which case, we want the children to be frozen as well. - - BPM evaluation allows to set frozen state list per Business Path. - """ - business_path = self.getCausalityValue(portal_type='Business Path') - if business_path is None: - # XXX Hardcoded - # Maybe, we should use getPortalCurrentInventoryStateList - # and another portal method for cancelled (and deleted) - # LOG("Movement, isFrozen", DEBUG, "Hardcoded state list") - if self.getSimulationState() in ('stopped', 'delivered', 'cancelled'): - return 1 - else: - # conditional BPM enabled frozen state check - # BPM dynamic configuration - if self.getSimulationState() in business_path.getFrozenStateList(): - return True - - # manually frozen - frozen = self._baseIsFrozen() - if frozen == 0: - self._baseSetFrozen(None) - return frozen or False - - Movement.isFrozen = isFrozen - - ## SimulationMovement - - from Products.ERP5.Document.SimulationMovement import SimulationMovement - try: - del SimulationMovement.isFrozen - except AttributeError: - pass - - def isCompleted(self): - """Zope publisher docstring. Documentation in ISimulationMovement""" - # only available in BPM, so fail totally in case of working without BPM - return self.getSimulationState() in self.getCausalityValue( - portal_type='Business Path').getCompletedStateList() - - SimulationMovement.isCompleted = isCompleted - - def asComposedDocument(self, *args, **kw): - # XXX: What delivery should be used to find amount generator lines ? - # With the currently enabled code, entire branches in the simulation - # tree get (temporary) deleted when new delivery lines are being built - # (and don't have yet a specialise value). - # With the commented code, changing the STC on a SIT generated from a - # SPL/SO would have no impact (and would never make the SIT divergent). - #return self.getRootSimulationMovement() \ - # .getDeliveryValue() \ - # .asComposedDocument(*args, **kw) - while 1: - delivery_value = self.getDeliveryValue() - if delivery_value is not None: - return delivery_value.asComposedDocument(*args, **kw) - # below code is for compatibility with old rules - grand_parent = self.getParentValue().getParentValue() - if grand_parent.getPortalType() == 'Simulation Tool': - return self.getOrderValue().asComposedDocument(*args, **kw) - self = grand_parent - - SimulationMovement.asComposedDocument = asComposedDocument - - def isBuildable(self): - """Simulation Movement buildable logic""" - if self.getDeliveryValue() is not None: - # already delivered - return False - - # might be buildable - business path dependent - business_path = self.getCausalityValue(portal_type='Business Path') - explanation_value = self.getExplanationValue() - if business_path is None or explanation_value is None: - return True - - return len(business_path.filterBuildableMovementList([self])) == 1 - - SimulationMovement.isBuildable = isBuildable - - def _asSuccessorContext(self): - """ Legacy SimulationMovement doesn't try to look up successor trade phases - """ - return self - - SimulationMovement._asSuccessorContext = _asSuccessorContext - - def _checkSuccessorContext(self): - """ Legacy SimulationMovement doesn't try to look up successor trade phases - """ - pass - - SimulationMovement._checkSuccessorContext = _checkSuccessorContext - -patch() diff --git a/bt5/erp5_simulation_legacy/DocumentTemplateItem/TradeModelSimulationRule.py b/bt5/erp5_simulation_legacy/DocumentTemplateItem/TradeModelSimulationRule.py deleted file mode 100644 index 8e4c314999..0000000000 --- a/bt5/erp5_simulation_legacy/DocumentTemplateItem/TradeModelSimulationRule.py +++ /dev/null @@ -1,43 +0,0 @@ -############################################################################## -# -# 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.ERP5Legacy.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) diff --git a/bt5/erp5_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml b/bt5/erp5_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml deleted file mode 100644 index 262f53a000..0000000000 --- a/bt5/erp5_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml +++ /dev/null @@ -1,7 +0,0 @@ -<allowed_content_type_list> - <portal_type id="Composed Divergence Tester"> - <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_simulation_legacy/PortalTypeTemplateItem/portal_types/Category%20Divergence%20Tester.xml b/bt5/erp5_simulation_legacy/PortalTypeTemplateItem/portal_types/Category%20Divergence%20Tester.xml deleted file mode 100644 index 346d678d85..0000000000 --- a/bt5/erp5_simulation_legacy/PortalTypeTemplateItem/portal_types/Category%20Divergence%20Tester.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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 Divergence Tester</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string> ERP5 Document\n -</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addCategoryDivergenceTester</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>divergence_tester</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Category Divergence Tester</string> </value> - </item> - <item> - <key> <string>init_script</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>type_class</string> </key> - <value> <string>CategoryDivergenceTester</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/PortalTypeTemplateItem/portal_types/Composed%20Divergence%20Tester.xml b/bt5/erp5_simulation_legacy/PortalTypeTemplateItem/portal_types/Composed%20Divergence%20Tester.xml deleted file mode 100644 index 21b48a2dfe..0000000000 --- a/bt5/erp5_simulation_legacy/PortalTypeTemplateItem/portal_types/Composed%20Divergence%20Tester.xml +++ /dev/null @@ -1,113 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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>document.gif</string> </value> - </item> - <item> - <key> <string>content_meta_type</string> </key> - <value> <string>ERP5 Composed Divergence Tester</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>A container of testers that acts as a single tester.</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addComposedDivergenceTester</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>divergence_tester</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Composed Divergence Tester</string> </value> - </item> - <item> - <key> <string>init_script</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> - <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>domain_name</string> </key> - <value> - <none/> - </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> - <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>domain_name</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>property_name</string> </key> - <value> <string>title</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/PortalTypeTemplateItem/portal_types/Property%20Divergence%20Tester.xml b/bt5/erp5_simulation_legacy/PortalTypeTemplateItem/portal_types/Property%20Divergence%20Tester.xml deleted file mode 100644 index 9c9bc039a1..0000000000 --- a/bt5/erp5_simulation_legacy/PortalTypeTemplateItem/portal_types/Property%20Divergence%20Tester.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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 Divergence Tester</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string> ERP5 Document\n -</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addPropertyDivergenceTester</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>divergence_tester</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Property Divergence Tester</string> </value> - </item> - <item> - <key> <string>init_script</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>type_class</string> </key> - <value> <string>PropertyDivergenceTester</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/PortalTypeTemplateItem/portal_types/Quantity%20Divergence%20Tester.xml b/bt5/erp5_simulation_legacy/PortalTypeTemplateItem/portal_types/Quantity%20Divergence%20Tester.xml deleted file mode 100644 index 8d4bbc1760..0000000000 --- a/bt5/erp5_simulation_legacy/PortalTypeTemplateItem/portal_types/Quantity%20Divergence%20Tester.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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 Divergence Tester</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string> ERP5 Document\n -</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addQuantityDivergenceTester</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>divergence_tester</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Quantity Divergence Tester</string> </value> - </item> - <item> - <key> <string>init_script</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>type_class</string> </key> - <value> <string>QuantityDivergenceTester</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml deleted file mode 100644 index 3252ebb80c..0000000000 --- a/bt5/erp5_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml +++ /dev/null @@ -1,18 +0,0 @@ -<workflow_chain> - <chain> - <type>Category Divergence Tester</type> - <workflow>edit_workflow</workflow> - </chain> - <chain> - <type>Composed Divergence Tester</type> - <workflow>edit_workflow</workflow> - </chain> - <chain> - <type>Property Divergence Tester</type> - <workflow>edit_workflow</workflow> - </chain> - <chain> - <type>Quantity Divergence Tester</type> - <workflow>edit_workflow</workflow> - </chain> -</workflow_chain> \ No newline at end of file diff --git a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath.xml b/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath.xml deleted file mode 100644 index 9615ea7682..0000000000 --- a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath.xml +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Sheet" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>BusinessPath</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Sheet</string> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Length" module="BTrees.Length"/> - </pickle> - <pickle> <int>0</int> </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="OOBTree" module="BTrees.OOBTree"/> - </pickle> - <pickle> - <none/> - </pickle> - </record> - <record id="4" aka="AAAAAAAAAAQ="> - <pickle> - <global name="OOBTree" module="BTrees.OOBTree"/> - </pickle> - <pickle> - <none/> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/completed_state_property.xml b/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/completed_state_property.xml deleted file mode 100644 index 6b0356ad7b..0000000000 --- a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/completed_state_property.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Standard Property" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>mode</string> </value> - </item> - <item> - <key> <string>type</string> </key> - <value> <string>string</string> </value> - </item> - </dictionary> - </tuple> - </value> - </item> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>elementary_type/lines</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>List of states for which related Simulation Movement is considered as completed</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>completed_state_property</string> </value> - </item> - <item> - <key> <string>mode</string> </key> - <value> <string>w</string> </value> - </item> - <item> - <key> <string>multivalued</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Standard Property</string> </value> - </item> - <item> - <key> <string>property_default</string> </key> - <value> <string>python: []</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/deliverable_property.xml b/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/deliverable_property.xml deleted file mode 100644 index 73a6750137..0000000000 --- a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/deliverable_property.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Standard Property" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>mode</string> </value> - </item> - <item> - <key> <string>type</string> </key> - <value> <string>string</string> </value> - </item> - </dictionary> - </tuple> - </value> - </item> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>elementary_type/boolean</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>If 1 it is related to root of simulation tree (root explanation)</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>deliverable_property</string> </value> - </item> - <item> - <key> <string>mode</string> </key> - <value> <string>w</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Standard Property</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/delivery_builder_category.xml b/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/delivery_builder_category.xml deleted file mode 100644 index 9f5c54456f..0000000000 --- a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/delivery_builder_category.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Property" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>delivery_builder_category</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Property</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/destination_method_id_property.xml b/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/destination_method_id_property.xml deleted file mode 100644 index f08e129252..0000000000 --- a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/destination_method_id_property.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Standard Property" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>mode</string> </value> - </item> - <item> - <key> <string>type</string> </key> - <value> <string>string</string> </value> - </item> - </dictionary> - </tuple> - </value> - </item> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>elementary_type/string</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>ID of method to get destination list of categories</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>destination_method_id_property</string> </value> - </item> - <item> - <key> <string>mode</string> </key> - <value> <string>w</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Standard Property</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/end_of_category.xml b/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/end_of_category.xml deleted file mode 100644 index 5496ba2302..0000000000 --- a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/end_of_category.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Property" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>end_of_category</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Property</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/frozen_state_property.xml b/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/frozen_state_property.xml deleted file mode 100644 index d13ac1d5c9..0000000000 --- a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/frozen_state_property.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Standard Property" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>mode</string> </value> - </item> - <item> - <key> <string>type</string> </key> - <value> <string>string</string> </value> - </item> - </dictionary> - </tuple> - </value> - </item> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>elementary_type/lines</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>List of states for which related Simulation Movement is considered as frozen</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>frozen_state_property</string> </value> - </item> - <item> - <key> <string>mode</string> </key> - <value> <string>w</string> </value> - </item> - <item> - <key> <string>multivalued</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Standard Property</string> </value> - </item> - <item> - <key> <string>property_default</string> </key> - <value> <string>python: []</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/incoterm_category.xml b/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/incoterm_category.xml deleted file mode 100644 index 4cbefc675e..0000000000 --- a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/incoterm_category.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Property" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>incoterm_category</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Property</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/lead_time_property.xml b/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/lead_time_property.xml deleted file mode 100644 index 3e6cfa96da..0000000000 --- a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/lead_time_property.xml +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Standard Property" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>mode</string> </value> - </item> - <item> - <key> <string>type</string> </key> - <value> <string>string</string> </value> - </item> - </dictionary> - </tuple> - </value> - </item> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>elementary_type/float</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>How much time shall be spent on path</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>lead_time_property</string> </value> - </item> - <item> - <key> <string>mode</string> </key> - <value> <string>w</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Standard Property</string> </value> - </item> - <item> - <key> <string>property_default</string> </key> - <value> <string>python: 0.0</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/order_builder_category.xml b/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/order_builder_category.xml deleted file mode 100644 index 61c6648389..0000000000 --- a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/order_builder_category.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Property" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>order_builder_category</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Property</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/source_method_id_property.xml b/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/source_method_id_property.xml deleted file mode 100644 index a144991602..0000000000 --- a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/source_method_id_property.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Standard Property" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>mode</string> </value> - </item> - <item> - <key> <string>type</string> </key> - <value> <string>string</string> </value> - </item> - </dictionary> - </tuple> - </value> - </item> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>elementary_type/string</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>ID of method to get source list of categories</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>source_method_id_property</string> </value> - </item> - <item> - <key> <string>mode</string> </key> - <value> <string>w</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Standard Property</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/trade_phase_category.xml b/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/trade_phase_category.xml deleted file mode 100644 index f1bf0180b6..0000000000 --- a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/trade_phase_category.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Property" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>trade_phase_category</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Property</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/wait_time_property.xml b/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/wait_time_property.xml deleted file mode 100644 index e128c02d5f..0000000000 --- a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/BusinessPath/wait_time_property.xml +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Standard Property" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>mode</string> </value> - </item> - <item> - <key> <string>type</string> </key> - <value> <string>string</string> </value> - </item> - </dictionary> - </tuple> - </value> - </item> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>elementary_type/float</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>How much time to wait before initiating path</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>wait_time_property</string> </value> - </item> - <item> - <key> <string>mode</string> </key> - <value> <string>w</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Standard Property</string> </value> - </item> - <item> - <key> <string>property_default</string> </key> - <value> <string>python: 0.0</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/DivergenceTester.xml b/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/DivergenceTester.xml deleted file mode 100644 index 5778302b90..0000000000 --- a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/DivergenceTester.xml +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Sheet" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>DivergenceTester</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Sheet</string> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Length" module="BTrees.Length"/> - </pickle> - <pickle> <int>0</int> </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="OOBTree" module="BTrees.OOBTree"/> - </pickle> - <pickle> - <none/> - </pickle> - </record> - <record id="4" aka="AAAAAAAAAAQ="> - <pickle> - <global name="OOBTree" module="BTrees.OOBTree"/> - </pickle> - <pickle> - <none/> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/DivergenceTester/tested_property_property.xml b/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/DivergenceTester/tested_property_property.xml deleted file mode 100644 index 03967b85c2..0000000000 --- a/bt5/erp5_simulation_legacy/PropertySheetTemplateItem/portal_property_sheets/DivergenceTester/tested_property_property.xml +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Standard Property" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>mode</string> </value> - </item> - <item> - <key> <string>type</string> </key> - <value> <string>string</string> </value> - </item> - </dictionary> - </tuple> - </value> - </item> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>elementary_type/lines</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Property used to Test</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>tested_property_property</string> </value> - </item> - <item> - <key> <string>mode</string> </key> - <value> <string>w</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Standard Property</string> </value> - </item> - <item> - <key> <string>property_default</string> </key> - <value> <string>python: ()</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy.xml deleted file mode 100644 index df9eda02e8..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy.xml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Folder" module="OFS.Folder"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>business_template_skin_layer_priority</string> </value> - </item> - <item> - <key> <string>type</string> </key> - <value> <string>float</string> </value> - </item> - </dictionary> - </tuple> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>business_template_skin_layer_priority</string> </key> - <value> <float>30.0</float> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>erp5_simulation_legacy</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/BusinessPath_build.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/BusinessPath_build.xml deleted file mode 100644 index c0bc7950bd..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/BusinessPath_build.xml +++ /dev/null @@ -1,106 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string># This script is a helper to perform a global build safely.\n -\n -builder = context.getDeliveryBuilderValue()\n -if builder is None:\n - raise RuntimeError(\'No delivery builder available in the business path %s\' % (context.getPath(),))\n -\n -# The key points are:\n -#\n -# - that making multiple deliveries when they should be merged must be avoided (safety)\n -# - that waiting for unrelated active objects to be finished should be avoided (low latency)\n -#\n -# There are two case worth considering. One of them is where new deliveries may be created.\n -# In this case, we must make sure that multiple builder processes (whether the same builder\n -# or different builders) would not run against the same delivery portal type under the same\n -# module, because they might need to merge deliveries. This case is a bit complicated, as\n -# delivery select methods often depend on the catalog, thus it is necessary to wait for\n -# the indexing of new deliveries.\n -#\n -# The other case is where no new deliveries may be created. This is typical when using\n -# trade model lines or simplified accounting. In this case, we only need to make sure that\n -# the same builder would not run in parallel, because the result is unpredictable when\n -# the builder selects the same movements. Besides that, there is no risk to run the builder,\n -# as the builder does no harm, even if it could not find updatable deliveries.\n -if builder.getDeliveryCreatable():\n - module_id = builder.getDeliveryModule()\n - delivery_portal_type = builder.getDeliveryPortalType()\n - serialization_tag = \'build:%s:%s\' % (module_id, delivery_portal_type)\n - indexing_tag = \'indexing:%s:%s\' % (module_id, delivery_portal_type)\n - after_tag = indexing_tag\n - # XXX actually, this parameter is used even for lines and cells as well as only modifying\n - # existing deliveries. So this implies that the builder may still wait unnecessarily.\n - activate_kw = dict(tag=indexing_tag)\n -else:\n - builder_uid = builder.getUid()\n - serialization_tag = \'build:%s\' % (builder_uid)\n - after_tag = None\n - activate_kw = None\n -\n -builder.activate(serialization_tag=serialization_tag, after_tag=after_tag) \\\n - .build(activate_kw=activate_kw)\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>**kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>BusinessPath_build</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/BusinessPath_zSelectBuildableMovementList.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/BusinessPath_zSelectBuildableMovementList.xml deleted file mode 100644 index 73cca34722..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/BusinessPath_zSelectBuildableMovementList.xml +++ /dev/null @@ -1,130 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="SQL" module="Products.ZSQLMethods.SQL"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>allow_simple_one_argument_traversal</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>arguments_src</string> </key> - <value> <string>from_table_list\r\n -where_expression\r\n -business_path_uid\r\n -predecessor_uid_list</string> </value> - </item> - <item> - <key> <string>cache_time_</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>class_file_</string> </key> - <value> <string>ZSQLCatalog.zsqlbrain</string> </value> - </item> - <item> - <key> <string>class_name_</string> </key> - <value> <string>ZSQLBrain</string> </value> - </item> - <item> - <key> <string>connection_hook</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>connection_id</string> </key> - <value> <string>erp5_sql_connection</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>BusinessPath_zSelectBuildableMovementList</string> </value> - </item> - <item> - <key> <string>max_cache_</string> </key> - <value> <int>100</int> </value> - </item> - <item> - <key> <string>max_rows_</string> </key> - <value> <int>1000</int> </value> - </item> - <item> - <key> <string>src</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -SELECT\n - catalog.uid,\n - catalog.path,\n - catalog.relative_url,\n - catalog.id\n -\n -FROM\n - movement\n - , category as causality\n - , catalog\n - LEFT JOIN category as delivery ON (\n - catalog.uid = delivery.uid\n - AND <dtml-sqltest "portal_categories.delivery.getUid()" column="delivery.base_category_uid" type="int">\n - )\n -<dtml-if from_table_list>\n -<dtml-in prefix="table" expr="from_table_list">\n - <dtml-if expr="table_key not in (\'catalog\', \'movement\')">\n - , <dtml-var table_item> AS <dtml-var table_key>\n - </dtml-if>\n -</dtml-in>\n -</dtml-if>\n - LEFT JOIN (\n - /*\n - predecessor movements that are not delivered\n - (to be used to discard related movements)\n - */\n - select\n - SUBSTRING_INDEX(catalog.path, "/", <dtml-sqlvar "len(portal_simulation.getPhysicalPath()) + 1" type="int">) as root_applied_rule_path\n - from\n - movement\n - , category as causality\n - , catalog\n - LEFT JOIN category as delivery ON (\n - catalog.uid = delivery.uid\n - AND <dtml-sqltest "portal_categories.delivery.getUid()" column="delivery.base_category_uid" type="int">\n - )\n - WHERE\n - delivery.category_uid is NULL\n -\n - AND catalog.uid = movement.uid\n - AND movement.resource_uid is not NULL\n -\n - AND catalog.uid = causality.uid\n - AND <dtml-sqltest "portal_categories.causality.getUid()" column="causality.base_category_uid" type="int">\n - AND <dtml-sqltest predecessor_uid_list column="causality.category_uid" multiple type="int">\n - ) AS non_delivered_predecessor ON\n - root_applied_rule_path = SUBSTRING_INDEX(catalog.path, "/", <dtml-sqlvar "len(portal_simulation.getPhysicalPath()) + 1" type="int">)\n -\n -WHERE\n - delivery.category_uid is NULL\n -\n - AND catalog.uid = causality.uid\n - AND <dtml-sqltest "portal_categories.causality.getUid()" column="causality.base_category_uid" type="int">\n - AND <dtml-sqltest business_path_uid column="causality.category_uid" type="int">\n -\n - AND catalog.uid = movement.uid\n - AND movement.resource_uid is not NULL\n -\n - AND root_applied_rule_path is NULL\n -\n - <dtml-if where_expression>AND <dtml-var where_expression> </dtml-if>\n - - -]]></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view.xml deleted file mode 100644 index 9750b43483..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view.xml +++ /dev/null @@ -1,146 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string>multipart/form-data</string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list> - <string>listbox</string> - </list> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list> - <string>my_description</string> - </list> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list> - <string>listbox_tested_property_list</string> - </list> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list> - <string>my_title</string> - </list> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list> - <string>my_solver_list</string> - </list> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>ComposedDivergenceTester_view</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>ComposedDivergenceTester_view</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Divergence Tester</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/listbox.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/listbox.xml deleted file mode 100644 index 991e056ab2..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/listbox.xml +++ /dev/null @@ -1,163 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>columns</string> - <string>selection_name</string> - <string>portal_types</string> - <string>editable_columns</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>columns</string> </key> - <value> - <list> - <tuple> - <string>title</string> - <string>Title</string> - </tuple> - <tuple> - <string>tested_property_list</string> - <string>Tested properties</string> - </tuple> - <tuple> - <string>translated_portal_type</string> - <string>Portal Type</string> - </tuple> - <tuple> - <string>description</string> - <string>Description</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> - <list> - <tuple> - <string>tested_property_list</string> - <string>tested_property_list</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string>divergence_tester_selection</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Divergence Testers</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python: [(x, x) for x in here.getPortalDivergenceTesterTypeList()]</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/listbox_tested_property_list.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/listbox_tested_property_list.xml deleted file mode 100644 index a69a1cc1e2..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/listbox_tested_property_list.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_tested_property_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_lines_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/my_description.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/my_description.xml deleted file mode 100644 index 47e0fc0109..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/my_description.xml +++ /dev/null @@ -1,101 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>height</string> - <string>width</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_description</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_description</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>height</string> </key> - <value> <int>7</int> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>width</string> </key> - <value> <int>50</int> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/my_solver_list.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/my_solver_list.xml deleted file mode 100644 index 5a287977b8..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/my_solver_list.xml +++ /dev/null @@ -1,126 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>items</string> - <string>title</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_solver_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_multi_list_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Solvers</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python:map(lambda x: (x, \'portal_solvers/%s\' % x), here.getPortalTargetSolverTypeList())</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/my_tested_property_list.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/my_tested_property_list.xml deleted file mode 100644 index 1ab068ad53..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/my_tested_property_list.xml +++ /dev/null @@ -1,116 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>default</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_tested_property_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>default</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_lines_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Property</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python: [str(x) for x in here.getTestedPropertyList([])]</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/my_title.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/my_title.xml deleted file mode 100644 index c5bf384370..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/ComposedDivergenceTester_view/my_title.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>display_width</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog.xml deleted file mode 100644 index 1d93a606a6..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog.xml +++ /dev/null @@ -1,157 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Workflow_statusModify</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>edit_order</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list> - <string>delivery_group_listbox</string> - <string>line_group_listbox</string> - <string>cell_group_listbox</string> - </list> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list> - <string>delivery_group_listbox_choice</string> - <string>line_group_listbox_choice</string> - <string>cell_group_listbox_choice</string> - </list> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list> - <string>my_comment</string> - <string>your_workflow_action</string> - </list> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list/> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Delivery_viewSolveDivergenceDialog</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>Delivery_viewSolveActionsDialog</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_dialog</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Solve Divergences</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/cell_group_listbox.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/cell_group_listbox.xml deleted file mode 100644 index cf07c0bb34..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/cell_group_listbox.xml +++ /dev/null @@ -1,555 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ListBox" module="Products.ERP5Form.ListBox"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>cell_group_listbox</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>all_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>all_editable_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>count_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>domain_root_list</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>domain_tree</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>global_attributes</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>lines</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>list_action</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>list_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>meta_types</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>report_root_list</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>report_tree</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>search</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>search_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>select</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>sort</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>sort_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>stat_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>stat_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>url_columns</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>all_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>all_editable_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>anchor</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>count_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>domain_root_list</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>domain_tree</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>global_attributes</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>lines</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>list_action</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>list_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>meta_types</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>page_template</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>report_root_list</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>report_tree</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>search</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>search_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>select</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>sort</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>sort_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>stat_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>stat_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>untranslatable_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>url_columns</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>all_columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>all_editable_columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>anchor</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>columns</string> </key> - <value> - <list> - <tuple> - <string>object_title</string> - <string>Delivery Cell Title</string> - </tuple> - <tuple> - <string>message</string> - <string>Description</string> - </tuple> - <tuple> - <string>decision_title</string> - <string>Current Value</string> - </tuple> - <tuple> - <string>prevision_title</string> - <string>Prevision Value</string> - </tuple> - <tuple> - <string>choice</string> - <string>Choice</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>count_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default_params</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>domain_root_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>domain_tree</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> - <list> - <tuple> - <string>choice</string> - <string>Choice</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>global_attributes</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>lines</string> </key> - <value> <int>40</int> </value> - </item> - <item> - <key> <string>list_action</string> </key> - <value> <string>list</string> </value> - </item> - <item> - <key> <string>list_method</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>meta_types</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>page_template</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>report_root_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>report_tree</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>search</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>search_columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>select</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string>cell_group_solve_divergence_selection</string> </value> - </item> - <item> - <key> <string>sort</string> </key> - <value> - <list> - <tuple> - <string>object_title</string> - <string>object_title</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>sort_columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>stat_columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>stat_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Cell Level Divergences</string> </value> - </item> - <item> - <key> <string>url_columns</string> </key> - <value> - <list/> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="Method" module="Products.Formulator.MethodField"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>method_name</string> </key> - <value> <string>Delivery_getCellGroupDivergenceList</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/cell_group_listbox_choice.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/cell_group_listbox_choice.xml deleted file mode 100644 index 1b91b09369..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/cell_group_listbox_choice.xml +++ /dev/null @@ -1,268 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="RadioField" module="Products.Formulator.StandardFields"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>cell_group_listbox_choice</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - <item> - <key> <string>required_not_found</string> </key> - <value> <string>Input is required but no input given.</string> </value> - </item> - <item> - <key> <string>unknown_selection</string> </key> - <value> <string>You selected an item that was not in the list.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra_item</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>first_item</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>orientation</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra_item</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>first_item</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>orientation</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra_item</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>first_item</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>orientation</string> </key> - <value> <string>vertical</string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>cell_group_listbox_choice</string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <int>0</int> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>cell/candidate_list</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/delivery_group_listbox.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/delivery_group_listbox.xml deleted file mode 100644 index 91f1df3d90..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/delivery_group_listbox.xml +++ /dev/null @@ -1,543 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ListBox" module="Products.ERP5Form.ListBox"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>delivery_group_listbox</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>all_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>all_editable_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>count_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>domain_root_list</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>domain_tree</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>global_attributes</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>lines</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>list_action</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>list_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>meta_types</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>report_root_list</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>report_tree</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>search</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>search_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>select</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>sort</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>sort_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>stat_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>stat_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>url_columns</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>all_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>all_editable_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>count_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>domain_root_list</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>domain_tree</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>global_attributes</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>lines</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>list_action</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>list_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>meta_types</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>report_root_list</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>report_tree</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>search</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>search_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>select</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>sort</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>sort_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>stat_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>stat_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>url_columns</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>all_columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>all_editable_columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>anchor</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>columns</string> </key> - <value> - <list> - <tuple> - <string>object_title</string> - <string>Delivery Title</string> - </tuple> - <tuple> - <string>message</string> - <string>Description</string> - </tuple> - <tuple> - <string>decision_title</string> - <string>Current Value</string> - </tuple> - <tuple> - <string>prevision_title</string> - <string>Prevision Value</string> - </tuple> - <tuple> - <string>choice</string> - <string>Choice</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>count_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default_params</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>domain_root_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>domain_tree</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> - <list> - <tuple> - <string>choice</string> - <string>Choice</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>global_attributes</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>lines</string> </key> - <value> <int>40</int> </value> - </item> - <item> - <key> <string>list_action</string> </key> - <value> <string>list</string> </value> - </item> - <item> - <key> <string>list_method</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>meta_types</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>page_template</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>report_root_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>report_tree</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>search</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>search_columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>select</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string>delivery_solve_divergence_selection</string> </value> - </item> - <item> - <key> <string>sort</string> </key> - <value> - <list> - <tuple> - <string>object_title</string> - <string>object_title</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>sort_columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>stat_columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>stat_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Delivery Level Divergences</string> </value> - </item> - <item> - <key> <string>url_columns</string> </key> - <value> - <list/> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="Method" module="Products.Formulator.MethodField"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>method_name</string> </key> - <value> <string>Delivery_getDeliveryGroupDivergenceList</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/delivery_group_listbox_choice.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/delivery_group_listbox_choice.xml deleted file mode 100644 index adc87ece38..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/delivery_group_listbox_choice.xml +++ /dev/null @@ -1,268 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="RadioField" module="Products.Formulator.StandardFields"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>delivery_group_listbox_choice</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - <item> - <key> <string>required_not_found</string> </key> - <value> <string>Input is required but no input given.</string> </value> - </item> - <item> - <key> <string>unknown_selection</string> </key> - <value> <string>You selected an item that was not in the list.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra_item</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>first_item</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>orientation</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra_item</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>first_item</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>orientation</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra_item</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>first_item</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>orientation</string> </key> - <value> <string>vertical</string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>delivery_group_listbox_choice</string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <int>0</int> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>cell/candidate_list</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/line_group_listbox.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/line_group_listbox.xml deleted file mode 100644 index 315f9b4471..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/line_group_listbox.xml +++ /dev/null @@ -1,561 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ListBox" module="Products.ERP5Form.ListBox"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>line_group_listbox</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>all_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>all_editable_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>count_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>domain_root_list</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>domain_tree</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>global_attributes</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>lines</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>list_action</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>list_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>meta_types</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>report_root_list</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>report_tree</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>search</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>search_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>select</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>sort</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>sort_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>stat_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>stat_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>url_columns</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>all_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>all_editable_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>anchor</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>count_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>domain_root_list</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>domain_tree</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>global_attributes</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>lines</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>list_action</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>list_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>meta_types</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>page_template</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>report_root_list</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>report_tree</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>search</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>search_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>select</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>sort</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>sort_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>stat_columns</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>stat_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>url_columns</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>all_columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>all_editable_columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>anchor</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>columns</string> </key> - <value> - <list> - <tuple> - <string>object_title</string> - <string>Delivery Line Title</string> - </tuple> - <tuple> - <string>object_portal_type</string> - <string>Delivery Line Type</string> - </tuple> - <tuple> - <string>message</string> - <string>Description</string> - </tuple> - <tuple> - <string>decision_title</string> - <string>Current Value</string> - </tuple> - <tuple> - <string>prevision_title</string> - <string>Prevision Value</string> - </tuple> - <tuple> - <string>choice</string> - <string>Choice</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>count_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default_params</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>domain_root_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>domain_tree</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> - <list> - <tuple> - <string>choice</string> - <string>Choice</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>global_attributes</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>lines</string> </key> - <value> <int>40</int> </value> - </item> - <item> - <key> <string>list_action</string> </key> - <value> <string>list</string> </value> - </item> - <item> - <key> <string>list_method</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>meta_types</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>page_template</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>report_root_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>report_tree</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>search</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>search_columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>select</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string>line_group_solve_divergence_selection</string> </value> - </item> - <item> - <key> <string>sort</string> </key> - <value> - <list> - <tuple> - <string>object_title</string> - <string>object_title</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>sort_columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>stat_columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>stat_method</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Line Level Divergences</string> </value> - </item> - <item> - <key> <string>untranslatable_columns</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>url_columns</string> </key> - <value> - <list/> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="Method" module="Products.Formulator.MethodField"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>method_name</string> </key> - <value> <string>Delivery_getLineGroupDivergenceList</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/line_group_listbox_choice.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/line_group_listbox_choice.xml deleted file mode 100644 index d6ecc2c925..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/line_group_listbox_choice.xml +++ /dev/null @@ -1,268 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="RadioField" module="Products.Formulator.StandardFields"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>line_group_listbox_choice</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - <item> - <key> <string>required_not_found</string> </key> - <value> <string>Input is required but no input given.</string> </value> - </item> - <item> - <key> <string>unknown_selection</string> </key> - <value> <string>You selected an item that was not in the list.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra_item</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>first_item</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>orientation</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra_item</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>first_item</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>orientation</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra_item</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>first_item</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>orientation</string> </key> - <value> <string>vertical</string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>line_group_listbox_choice</string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <int>0</int> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>cell/candidate_list</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/my_comment.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/my_comment.xml deleted file mode 100644 index c7bc053d3d..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/my_comment.xml +++ /dev/null @@ -1,301 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TextAreaField" module="Products.Formulator.StandardFields"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>my_comment</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - <item> - <key> <string>line_too_long</string> </key> - <value> <string>A line was too long.</string> </value> - </item> - <item> - <key> <string>required_not_found</string> </key> - <value> <string>Input is required but no input given.</string> </value> - </item> - <item> - <key> <string>too_long</string> </key> - <value> <string>You entered too many characters.</string> </value> - </item> - <item> - <key> <string>too_many_lines</string> </key> - <value> <string>You entered too many lines.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>height</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>max_length</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>max_linelength</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>max_lines</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>width</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>height</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>max_length</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>max_linelength</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>max_lines</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>width</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Comments which can be read by internal users but unlike description, are not printed out on official documents.</string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>height</string> </key> - <value> <int>5</int> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>max_length</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>max_linelength</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>max_lines</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Comments</string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>width</string> </key> - <value> <int>80</int> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <tuple> - <string>Products.Formulator.TALESField</string> - <string>TALESMethod</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python:\'\'</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/your_workflow_action.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/your_workflow_action.xml deleted file mode 100644 index daba696a40..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Delivery_viewSolveDivergenceDialog/your_workflow_action.xml +++ /dev/null @@ -1,275 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StringField" module="Products.Formulator.StandardFields"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>your_workflow_action</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - <item> - <key> <string>required_not_found</string> </key> - <value> <string>Input is required but no input given.</string> </value> - </item> - <item> - <key> <string>too_long</string> </key> - <value> <string>Too much input was given.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>display_maxwidth</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>display_width</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>max_length</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>truncate</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>display_maxwidth</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>display_width</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>max_length</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>truncate</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>alternate_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>default</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>display_maxwidth</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>enabled</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>max_length</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>truncate</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <int>0</int> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>request/workflow_action | nothing</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view.xml deleted file mode 100644 index 14425f649b..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view.xml +++ /dev/null @@ -1,136 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string>multipart/form-data</string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list> - <string>my_description</string> - </list> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list> - <string>my_title</string> - <string>my_tested_property_list</string> - </list> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list> - <string>my_solver_list</string> - </list> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>PropertyDivergenceTester_view</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>PropertyDivergenceTester_view</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Divergence Tester</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view/my_description.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view/my_description.xml deleted file mode 100644 index 47e0fc0109..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view/my_description.xml +++ /dev/null @@ -1,101 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>height</string> - <string>width</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_description</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_description</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>height</string> </key> - <value> <int>7</int> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>width</string> </key> - <value> <int>50</int> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view/my_solver_list.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view/my_solver_list.xml deleted file mode 100644 index 5a287977b8..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view/my_solver_list.xml +++ /dev/null @@ -1,126 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>items</string> - <string>title</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_solver_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_multi_list_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Solvers</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python:map(lambda x: (x, \'portal_solvers/%s\' % x), here.getPortalTargetSolverTypeList())</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view/my_tested_property_list.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view/my_tested_property_list.xml deleted file mode 100644 index 1ab068ad53..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view/my_tested_property_list.xml +++ /dev/null @@ -1,116 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>default</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_tested_property_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>default</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_lines_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Property</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python: [str(x) for x in here.getTestedPropertyList([])]</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view/my_title.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view/my_title.xml deleted file mode 100644 index c5bf384370..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/PropertyDivergenceTester_view/my_title.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>display_width</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view.xml deleted file mode 100644 index 5bca96879f..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view.xml +++ /dev/null @@ -1,138 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string>multipart/form-data</string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list> - <string>my_description</string> - </list> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list> - <string>my_title</string> - <string>my_decimal_alignment_enabled</string> - <string>my_decimal_rounding_option</string> - <string>my_decimal_exponent</string> - </list> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list> - <string>my_solver_list</string> - </list> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>QuantityDivergenceTester_view</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>PropertyDivergenceTester_view</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Divergence Tester</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_decimal_alignment_enabled.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_decimal_alignment_enabled.xml deleted file mode 100644 index 8583d2436d..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_decimal_alignment_enabled.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_decimal_alignment_enabled</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_checkbox</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Decimal Alignment Enabled</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_decimal_exponent.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_decimal_exponent.xml deleted file mode 100644 index f0830df55d..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_decimal_exponent.xml +++ /dev/null @@ -1,121 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>display_width</string> - <string>title</string> - <string>enabled</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_decimal_exponent</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>enabled</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_string_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Decimal Exponent</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>here/isDecimalAlignmentEnabled</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_decimal_rounding_option.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_decimal_rounding_option.xml deleted file mode 100644 index 92337f5e71..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_decimal_rounding_option.xml +++ /dev/null @@ -1,157 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>first_item</string> - <string>title</string> - <string>items</string> - <string>enabled</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_decimal_rounding_option</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>enabled</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_list_field</string> </value> - </item> - <item> - <key> <string>first_item</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <list> - <tuple> - <string>ROUND_DOWN</string> - <string>ROUND_DOWN</string> - </tuple> - <tuple> - <string>ROUND_UP</string> - <string>ROUND_UP</string> - </tuple> - <tuple> - <string>ROUND_CEILING</string> - <string>ROUND_CEILING</string> - </tuple> - <tuple> - <string>ROUND_FLOOR</string> - <string>ROUND_FLOOR</string> - </tuple> - <tuple> - <string>ROUND_HALF_DOWN</string> - <string>ROUND_HALF_DOWN</string> - </tuple> - <tuple> - <string>ROUND_HALF_EVEN</string> - <string>ROUND_HALF_EVEN</string> - </tuple> - <tuple> - <string>ROUND_HALF_UP</string> - <string>ROUND_HALF_UP</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Decimal Rounding Option</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>here/isDecimalAlignmentEnabled</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_description.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_description.xml deleted file mode 100644 index 47e0fc0109..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_description.xml +++ /dev/null @@ -1,101 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>height</string> - <string>width</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_description</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_description</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>height</string> </key> - <value> <int>7</int> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>width</string> </key> - <value> <int>50</int> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_solver_list.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_solver_list.xml deleted file mode 100644 index 5a287977b8..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_solver_list.xml +++ /dev/null @@ -1,126 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>items</string> - <string>title</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_solver_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_multi_list_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Solvers</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python:map(lambda x: (x, \'portal_solvers/%s\' % x), here.getPortalTargetSolverTypeList())</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_title.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_title.xml deleted file mode 100644 index c5bf384370..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/QuantityDivergenceTester_view/my_title.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>display_width</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view.xml deleted file mode 100644 index 7e921e493b..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view.xml +++ /dev/null @@ -1,160 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list> - <string>listbox</string> - <string>mapped_property_listbox</string> - </list> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list> - <string>my_description</string> - </list> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list> - <string>listbox_tested_property_list</string> - <string>mapped_property_listbox_mapping_property_list</string> - </list> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list> - <string>my_title</string> - <string>my_reference</string> - <string>my_version</string> - <string>my_expandable_property_list</string> - <string>my_trade_phase_list</string> - </list> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list> - <string>my_start_date_range_min</string> - <string>my_start_date_range_max</string> - <string>my_test_method_id</string> - <string>my_matching_property_list</string> - <string>my_translated_validation_state_title</string> - </list> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Rule_view</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>Rule_view</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Rule</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/listbox.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/listbox.xml deleted file mode 100644 index 991e056ab2..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/listbox.xml +++ /dev/null @@ -1,163 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>columns</string> - <string>selection_name</string> - <string>portal_types</string> - <string>editable_columns</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>columns</string> </key> - <value> - <list> - <tuple> - <string>title</string> - <string>Title</string> - </tuple> - <tuple> - <string>tested_property_list</string> - <string>Tested properties</string> - </tuple> - <tuple> - <string>translated_portal_type</string> - <string>Portal Type</string> - </tuple> - <tuple> - <string>description</string> - <string>Description</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> - <list> - <tuple> - <string>tested_property_list</string> - <string>tested_property_list</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string>divergence_tester_selection</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Divergence Testers</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python: [(x, x) for x in here.getPortalDivergenceTesterTypeList()]</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/listbox_tested_property_list.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/listbox_tested_property_list.xml deleted file mode 100644 index a69a1cc1e2..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/listbox_tested_property_list.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_tested_property_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_lines_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/mapped_property_listbox.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/mapped_property_listbox.xml deleted file mode 100644 index 7dddd47e4f..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/mapped_property_listbox.xml +++ /dev/null @@ -1,128 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>columns</string> - <string>portal_types</string> - <string>title</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>mapped_property_listbox</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>columns</string> </key> - <value> - <list> - <tuple> - <string>title</string> - <string>Title</string> - </tuple> - <tuple> - <string>mapping_property_list</string> - <string>Mapped Property</string> - </tuple> - <tuple> - <string>description</string> - <string>Description</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> - <list> - <tuple> - <string>Mapped Property</string> - <string>Mapped Property</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Mapped Properties</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/mapped_property_listbox_mapping_property_list.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/mapped_property_listbox_mapping_property_list.xml deleted file mode 100644 index 6a6a69b74f..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/mapped_property_listbox_mapping_property_list.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>mapped_property_listbox_mapping_property_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>editable</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_lines_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_description.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_description.xml deleted file mode 100644 index e98bd2614b..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_description.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_description</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_description</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_expandable_property_list.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_expandable_property_list.xml deleted file mode 100644 index 25e05ee868..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_expandable_property_list.xml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>my_expandable_property_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_expandable_property_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Rule_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_matching_property_list.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_matching_property_list.xml deleted file mode 100644 index 79f63d4bb4..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_matching_property_list.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_matching_property_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_matching_property_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Rule_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_reference.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_reference.xml deleted file mode 100644 index c7585c7dfc..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_reference.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>display_width</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_reference</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>The reference of the rule</string> </value> - </item> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_reference</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Rule_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Reference</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_start_date_range_max.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_start_date_range_max.xml deleted file mode 100644 index bd3f8eb813..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_start_date_range_max.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_start_date_range_max</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_start_date_range_max</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Rule_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_start_date_range_min.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_start_date_range_min.xml deleted file mode 100644 index d81f41e5e8..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_start_date_range_min.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_start_date_range_min</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_start_date_range_min</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Rule_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_test_method_id.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_test_method_id.xml deleted file mode 100644 index a50fc0d16d..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_test_method_id.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>display_width</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_test_method_id</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>display_width</string> </key> - <value> <int>40</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_test_method_id</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Rule_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_title.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_title.xml deleted file mode 100644 index 10dda70494..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_title.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>display_width</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>The title of the document</string> </value> - </item> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Title</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_trade_phase_list.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_trade_phase_list.xml deleted file mode 100644 index b7b044497f..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_trade_phase_list.xml +++ /dev/null @@ -1,122 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>items</string> - <string>title</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_trade_phase_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_category_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Trade Phases</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python: getattr(here.portal_categories[field.getId().replace(\'my_\', \'\', 1).replace(\'_list\', \'\')], preferences.getPreference(\'preferred_category_child_item_list_method_id\', \'getCategoryChildCompactLogicalPathItemList\'))(local_sort_id=(\'int_index\', \'translated_title\'), checked_permission=\'View\', filter_node=1)</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_translated_validation_state_title.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_translated_validation_state_title.xml deleted file mode 100644 index 38145b50e8..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_translated_validation_state_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_translated_validation_state_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_translated_workflow_state_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_version.xml b/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_version.xml deleted file mode 100644 index bdfccb4acd..0000000000 --- a/bt5/erp5_simulation_legacy/SkinTemplateItem/portal_skins/erp5_simulation_legacy/Rule_view/my_version.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>display_width</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_version</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>The Version of the Rule</string> </value> - </item> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_version</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Rule_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Version</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation_legacy/bt/change_log b/bt5/erp5_simulation_legacy/bt/change_log deleted file mode 100644 index 6c5ea586ab..0000000000 --- a/bt5/erp5_simulation_legacy/bt/change_log +++ /dev/null @@ -1,2 +0,0 @@ -2011-04-14 yusei -* Add legacy solve divergence dialog. \ No newline at end of file diff --git a/bt5/erp5_simulation_legacy/bt/copyright_list b/bt5/erp5_simulation_legacy/bt/copyright_list deleted file mode 100644 index fe948b9fb7..0000000000 --- a/bt5/erp5_simulation_legacy/bt/copyright_list +++ /dev/null @@ -1 +0,0 @@ -Copyright (c) 2010 Nexedi SA \ No newline at end of file diff --git a/bt5/erp5_simulation_legacy/bt/dependency_list b/bt5/erp5_simulation_legacy/bt/dependency_list deleted file mode 100644 index bafd6513ea..0000000000 --- a/bt5/erp5_simulation_legacy/bt/dependency_list +++ /dev/null @@ -1 +0,0 @@ -erp5_simulation \ No newline at end of file diff --git a/bt5/erp5_simulation_legacy/bt/license b/bt5/erp5_simulation_legacy/bt/license deleted file mode 100644 index 3a3e12bcad..0000000000 --- a/bt5/erp5_simulation_legacy/bt/license +++ /dev/null @@ -1 +0,0 @@ -GPL \ No newline at end of file diff --git a/bt5/erp5_simulation_legacy/bt/revision b/bt5/erp5_simulation_legacy/bt/revision deleted file mode 100644 index 8e2afd3427..0000000000 --- a/bt5/erp5_simulation_legacy/bt/revision +++ /dev/null @@ -1 +0,0 @@ -17 \ No newline at end of file diff --git a/bt5/erp5_simulation_legacy/bt/template_action_path_list b/bt5/erp5_simulation_legacy/bt/template_action_path_list deleted file mode 100644 index b35210750f..0000000000 --- a/bt5/erp5_simulation_legacy/bt/template_action_path_list +++ /dev/null @@ -1,4 +0,0 @@ -Category Divergence Tester | view -Composed Divergence Tester | view -Property Divergence Tester | view -Quantity Divergence Tester | view \ No newline at end of file diff --git a/bt5/erp5_simulation_legacy/bt/template_document_id_list b/bt5/erp5_simulation_legacy/bt/template_document_id_list deleted file mode 100644 index 26d0c82057..0000000000 --- a/bt5/erp5_simulation_legacy/bt/template_document_id_list +++ /dev/null @@ -1,16 +0,0 @@ -AccountingTransactionRootSimulationRule -BusinessProcess -DeliveryRootSimulationRule -DeliverySimulationRule -InvoiceRootSimulationRule -InvoiceSimulationRule -InvoiceTransactionSimulationRule -OrderBuilder -OrderRootSimulationRule -PaymentSimulationRule -ProductionOrderModelRootSimulationRule -ProductionOrderRootSimulationRule -RootAppliedRuleCausalityMovementGroup -SimulatedDeliveryBuilder -SimulationLegacyPatches -TradeModelSimulationRule \ No newline at end of file diff --git a/bt5/erp5_simulation_legacy/bt/template_format_version b/bt5/erp5_simulation_legacy/bt/template_format_version deleted file mode 100644 index 56a6051ca2..0000000000 --- a/bt5/erp5_simulation_legacy/bt/template_format_version +++ /dev/null @@ -1 +0,0 @@ -1 \ No newline at end of file diff --git a/bt5/erp5_simulation_legacy/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_simulation_legacy/bt/template_portal_type_allowed_content_type_list deleted file mode 100644 index 72e83708df..0000000000 --- a/bt5/erp5_simulation_legacy/bt/template_portal_type_allowed_content_type_list +++ /dev/null @@ -1,3 +0,0 @@ -Composed Divergence Tester | Category Divergence Tester -Composed Divergence Tester | Property Divergence Tester -Composed Divergence Tester | Quantity Divergence Tester \ No newline at end of file diff --git a/bt5/erp5_simulation_legacy/bt/template_portal_type_id_list b/bt5/erp5_simulation_legacy/bt/template_portal_type_id_list deleted file mode 100644 index 8caf94fafb..0000000000 --- a/bt5/erp5_simulation_legacy/bt/template_portal_type_id_list +++ /dev/null @@ -1,4 +0,0 @@ -Category Divergence Tester -Composed Divergence Tester -Property Divergence Tester -Quantity Divergence Tester \ No newline at end of file diff --git a/bt5/erp5_simulation_legacy/bt/template_portal_type_workflow_chain_list b/bt5/erp5_simulation_legacy/bt/template_portal_type_workflow_chain_list deleted file mode 100644 index f5134224f2..0000000000 --- a/bt5/erp5_simulation_legacy/bt/template_portal_type_workflow_chain_list +++ /dev/null @@ -1,4 +0,0 @@ -Category Divergence Tester | edit_workflow -Composed Divergence Tester | edit_workflow -Property Divergence Tester | edit_workflow -Quantity Divergence Tester | edit_workflow \ No newline at end of file diff --git a/bt5/erp5_simulation_legacy/bt/template_property_sheet_id_list b/bt5/erp5_simulation_legacy/bt/template_property_sheet_id_list deleted file mode 100644 index acf831b14e..0000000000 --- a/bt5/erp5_simulation_legacy/bt/template_property_sheet_id_list +++ /dev/null @@ -1,2 +0,0 @@ -BusinessPath -DivergenceTester \ No newline at end of file diff --git a/bt5/erp5_simulation_legacy/bt/template_skin_id_list b/bt5/erp5_simulation_legacy/bt/template_skin_id_list deleted file mode 100644 index 4a4851b1a8..0000000000 --- a/bt5/erp5_simulation_legacy/bt/template_skin_id_list +++ /dev/null @@ -1 +0,0 @@ -erp5_simulation_legacy \ No newline at end of file diff --git a/bt5/erp5_simulation_legacy/bt/title b/bt5/erp5_simulation_legacy/bt/title deleted file mode 100644 index 4a4851b1a8..0000000000 --- a/bt5/erp5_simulation_legacy/bt/title +++ /dev/null @@ -1 +0,0 @@ -erp5_simulation_legacy \ No newline at end of file diff --git a/bt5/erp5_simulation_legacy/bt/version b/bt5/erp5_simulation_legacy/bt/version deleted file mode 100644 index ceab6e11ec..0000000000 --- a/bt5/erp5_simulation_legacy/bt/version +++ /dev/null @@ -1 +0,0 @@ -0.1 \ No newline at end of file diff --git a/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20Path/profile.xml b/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20Path/profile.xml deleted file mode 100644 index 22970d1b45..0000000000 --- a/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20Path/profile.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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>profile</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>3.0</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Profile</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/BusinessPath_viewProfile</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20Path/view.xml b/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20Path/view.xml deleted file mode 100644 index d05ec6143a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20Path/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/BusinessPath_view</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20Path/view_advanced.xml b/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20Path/view_advanced.xml deleted file mode 100644 index 36aecb02b1..0000000000 --- a/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20Path/view_advanced.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_advanced</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>Advanced</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/BusinessPath_viewAdvanced</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20Process/view_supply_state_list.xml b/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20Process/view_supply_state_list.xml deleted file mode 100644 index bb824e738c..0000000000 --- a/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20Process/view_supply_state_list.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_supply_state_list</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>Business States</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/BusinessProcess_viewBusinessStates</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20State/view.xml b/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20State/view.xml deleted file mode 100644 index aa809d6473..0000000000 --- a/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Business%20State/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/BusinessState_view</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Delivery%20Rule/view.xml b/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Delivery%20Rule/view.xml deleted file mode 100644 index 4a16964623..0000000000 --- a/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Delivery%20Rule/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_trade_simulation_legacy/ActionTemplateItem/portal_types/Order%20Rule/view.xml b/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Order%20Rule/view.xml deleted file mode 100644 index 4a16964623..0000000000 --- a/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Order%20Rule/view.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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> - <global name="Expression" module="Products.CMFCore.Expression"/> - </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_trade_simulation_legacy/ActionTemplateItem/portal_types/Purchase%20Order/view_trade_model_line_list.xml b/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Purchase%20Order/view_trade_model_line_list.xml deleted file mode 100644 index eb5d988e4b..0000000000 --- a/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Purchase%20Order/view_trade_model_line_list.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_trade_model_line_list</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>3.3</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Trade Model Lines</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/Delivery_viewTradeModelLineList</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Sale%20Order/view_trade_model_line_list.xml b/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Sale%20Order/view_trade_model_line_list.xml deleted file mode 100644 index eb5d988e4b..0000000000 --- a/bt5/erp5_trade_simulation_legacy/ActionTemplateItem/portal_types/Sale%20Order/view_trade_model_line_list.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> - </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_trade_model_line_list</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>3.3</float> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Trade Model Lines</string> </value> - </item> - <item> - <key> <string>visible</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>string:${object_url}/Delivery_viewTradeModelLineList</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder.xml deleted file mode 100644 index 1d8d83ad39..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder.xml +++ /dev/null @@ -1,146 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Builder" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>comment</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_script_id</string> </key> - <value> <string>PurchasePackingList_copyOrderProperties</string> </value> - </item> - <item> - <key> <string>delivery_cell_collect_order</string> </key> - <value> - <tuple> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_cell_portal_type</string> </key> - <value> <string>Internal Packing List Cell</string> </value> - </item> - <item> - <key> <string>delivery_cell_separate_order</string> </key> - <value> - <tuple> - <string>calculateAveragePrice</string> - <string>calculateAddQuantity</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_collect_order</string> </key> - <value> - <tuple> - <string>OrderMovementGroup</string> - <string>DateMovementGroup</string> - <string>PathMovementGroup</string> - <string>SectionPathMovementGroup</string> - <string>PriceCurrencyMovementGroup</string> - <string>DecisionPathMovementGroup</string> - <string>AdministrationPathMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_collect_order</string> </key> - <value> - <tuple> - <string>ResourceMovementGroup</string> - <string>AggregateMovementGroup</string> - <string>BaseVariantMovementGroup</string> - <string>CausalityAssignmentMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_portal_type</string> </key> - <value> <string>Internal Packing List Line</string> </value> - </item> - <item> - <key> <string>delivery_module</string> </key> - <value> <string>internal_packing_list_module</string> </value> - </item> - <item> - <key> <string>delivery_portal_type</string> </key> - <value> <string>Internal Packing List</string> </value> - </item> - <item> - <key> <string>delivery_select_method_id</string> </key> - <value> <string>DeliveryBuilder_selectConfirmedDeliveryList</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>internal_packing_list_builder</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Builder</string> </value> - </item> - <item> - <key> <string>simulation_select_method_id</string> </key> - <value> <string>InternalOrder_selectMovement</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Internal Packing List Builder</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_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/base_variant_movement_group_in_line.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/base_variant_movement_group_in_line.xml deleted file mode 100644 index 5d8672824a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/base_variant_movement_group_in_line.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Base Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/category_movement_group_on_delivery.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/category_movement_group_on_delivery.xml deleted file mode 100644 index d91b04895a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/category_movement_group_on_delivery.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>delivery_mode</string> - <string>incoterm</string> - <string>source</string> - <string>destination</string> - <string>source_section</string> - <string>destination_section</string> - <string>source_decision</string> - <string>destination_decision</string> - <string>source_administration</string> - <string>destination_administration</string> - <string>source_project</string> - <string>destination_project</string> - <string>source_payment</string> - <string>destination_payment</string> - <string>price_currency</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/category_movement_group_on_line.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/category_movement_group_on_line.xml deleted file mode 100644 index 9577f007bd..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/category_movement_group_on_line.xml +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>resource</string> - <string>aggregate</string> - <string>quantity_unit</string> - <string>source_account</string> - <string>destination_account</string> - <string>source_function</string> - <string>destination_function</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/causality_assignment_movement_group_on_line.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/causality_assignment_movement_group_on_line.xml deleted file mode 100644 index 41ee05ae60..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/causality_assignment_movement_group_on_line.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Causality Assignment Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>causality_assignment_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Causality Assignment Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>causality_assignment_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/order_movement_group_on_delivery.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/order_movement_group_on_delivery.xml deleted file mode 100644 index 4b4699de2a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/order_movement_group_on_delivery.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Order Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>order_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Order Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>order_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/property_movement_group_on_delivery.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/property_movement_group_on_delivery.xml deleted file mode 100644 index 6436fb8009..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/property_movement_group_on_delivery.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>start_date</string> - <string>stop_date</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/property_movement_group_on_line.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/property_movement_group_on_line.xml deleted file mode 100644 index 885ac3a97a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/property_movement_group_on_line.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>description</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> - <none/> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/variant_movement_group_on_cell.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/variant_movement_group_on_cell.xml deleted file mode 100644 index f9f4145ef0..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/internal_packing_list_builder/variant_movement_group_on_cell.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/cell</string> - <string>divergence_scope/category</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder.xml deleted file mode 100644 index acb335ca38..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder.xml +++ /dev/null @@ -1,146 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Builder" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>comment</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_script_id</string> </key> - <value> <string>PurchasePackingList_copyOrderProperties</string> </value> - </item> - <item> - <key> <string>delivery_cell_collect_order</string> </key> - <value> - <tuple> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_cell_portal_type</string> </key> - <value> <string>Purchase Packing List Cell</string> </value> - </item> - <item> - <key> <string>delivery_cell_separate_order</string> </key> - <value> - <tuple> - <string>calculateAveragePrice</string> - <string>calculateAddQuantity</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_collect_order</string> </key> - <value> - <tuple> - <string>OrderMovementGroup</string> - <string>DateMovementGroup</string> - <string>PathMovementGroup</string> - <string>SectionPathMovementGroup</string> - <string>PriceCurrencyMovementGroup</string> - <string>DecisionPathMovementGroup</string> - <string>AdministrationPathMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_collect_order</string> </key> - <value> - <tuple> - <string>ResourceMovementGroup</string> - <string>AggregateMovementGroup</string> - <string>BaseVariantMovementGroup</string> - <string>CausalityAssignmentMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_portal_type</string> </key> - <value> <string>Purchase Packing List Line</string> </value> - </item> - <item> - <key> <string>delivery_module</string> </key> - <value> <string>purchase_packing_list_module</string> </value> - </item> - <item> - <key> <string>delivery_portal_type</string> </key> - <value> <string>Purchase Packing List</string> </value> - </item> - <item> - <key> <string>delivery_select_method_id</string> </key> - <value> <string>DeliveryBuilder_selectConfirmedDeliveryList</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>purchase_packing_list_builder</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Builder</string> </value> - </item> - <item> - <key> <string>simulation_select_method_id</string> </key> - <value> <string>PurchaseOrder_selectMovement</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Purchase Packing List Builder</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_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/base_variant_movement_group_in_line.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/base_variant_movement_group_in_line.xml deleted file mode 100644 index 5d8672824a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/base_variant_movement_group_in_line.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Base Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/category_movement_group_on_delivery.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/category_movement_group_on_delivery.xml deleted file mode 100644 index d91b04895a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/category_movement_group_on_delivery.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>delivery_mode</string> - <string>incoterm</string> - <string>source</string> - <string>destination</string> - <string>source_section</string> - <string>destination_section</string> - <string>source_decision</string> - <string>destination_decision</string> - <string>source_administration</string> - <string>destination_administration</string> - <string>source_project</string> - <string>destination_project</string> - <string>source_payment</string> - <string>destination_payment</string> - <string>price_currency</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/category_movement_group_on_line.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/category_movement_group_on_line.xml deleted file mode 100644 index 9577f007bd..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/category_movement_group_on_line.xml +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>resource</string> - <string>aggregate</string> - <string>quantity_unit</string> - <string>source_account</string> - <string>destination_account</string> - <string>source_function</string> - <string>destination_function</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/causality_assignment_movement_group_on_line.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/causality_assignment_movement_group_on_line.xml deleted file mode 100644 index 41ee05ae60..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/causality_assignment_movement_group_on_line.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Causality Assignment Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>causality_assignment_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Causality Assignment Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>causality_assignment_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/order_movement_group_on_delivery.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/order_movement_group_on_delivery.xml deleted file mode 100644 index 4b4699de2a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/order_movement_group_on_delivery.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Order Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>order_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Order Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>order_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/property_movement_group_on_delivery.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/property_movement_group_on_delivery.xml deleted file mode 100644 index 6436fb8009..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/property_movement_group_on_delivery.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>start_date</string> - <string>stop_date</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/property_movement_group_on_line.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/property_movement_group_on_line.xml deleted file mode 100644 index 885ac3a97a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/property_movement_group_on_line.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>description</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> - <none/> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/variant_movement_group_on_cell.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/variant_movement_group_on_cell.xml deleted file mode 100644 index f9f4145ef0..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/purchase_packing_list_builder/variant_movement_group_on_cell.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/cell</string> - <string>divergence_scope/category</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder.xml deleted file mode 100644 index 9e57caa49c..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder.xml +++ /dev/null @@ -1,186 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Builder" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>collect_order</string> </key> - <value> - <tuple> - <string>OrderMovementGroup</string> - <string>PathMovementGroup</string> - <string>DateMovementGroup</string> - <string>ResourceMovementGroup</string> - <string>VariantMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>collect_order_list</string> </key> - <value> - <list> - <string>test</string> - <string>test2</string> - </list> - </value> - </item> - <item> - <key> <string>collect_order_list_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>comment</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_method_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_script_id</string> </key> - <value> <string>SalePackingList_copyOrderProperties</string> </value> - </item> - <item> - <key> <string>delivery_cell_collect_order</string> </key> - <value> - <tuple> - <string>VariantMovementGroup</string> - <string>CausalityAssignmentMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_cell_portal_type</string> </key> - <value> <string>Sale Packing List Cell</string> </value> - </item> - <item> - <key> <string>delivery_cell_separate_order</string> </key> - <value> - <tuple> - <string>calculateAveragePrice</string> - <string>calculateAddQuantity</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_collect_order</string> </key> - <value> - <tuple> - <string>OrderMovementGroup</string> - <string>DateMovementGroup</string> - <string>PathMovementGroup</string> - <string>SectionPathMovementGroup</string> - <string>PriceCurrencyMovementGroup</string> - <string>DecisionPathMovementGroup</string> - <string>AdministrationPathMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_collect_order</string> </key> - <value> - <tuple> - <string>ResourceMovementGroup</string> - <string>BaseVariantMovementGroup</string> - <string>AggregateMovementGroup</string> - <string>CausalityAssignmentMovementGroup</string> - </tuple> - </value> - </item> - <item> - <key> <string>delivery_line_portal_type</string> </key> - <value> <string>Sale Packing List Line</string> </value> - </item> - <item> - <key> <string>delivery_module</string> </key> - <value> <string>sale_packing_list_module</string> </value> - </item> - <item> - <key> <string>delivery_portal_type</string> </key> - <value> <string>Sale Packing List</string> </value> - </item> - <item> - <key> <string>delivery_select_method_id</string> </key> - <value> <string>DeliveryBuilder_selectConfirmedDeliveryList</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>sale_packing_list_builder</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Builder</string> </value> - </item> - <item> - <key> <string>resource_portal_type</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>simulation_select_method_id</string> </key> - <value> <string>SaleOrder_selectMovement</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Sale Packing List Builder</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_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/base_variant_movement_group_in_line.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/base_variant_movement_group_in_line.xml deleted file mode 100644 index 5d8672824a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/base_variant_movement_group_in_line.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Base Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>base_variant_movement_group_in_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/category_movement_group_on_delivery.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/category_movement_group_on_delivery.xml deleted file mode 100644 index d91b04895a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/category_movement_group_on_delivery.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>delivery_mode</string> - <string>incoterm</string> - <string>source</string> - <string>destination</string> - <string>source_section</string> - <string>destination_section</string> - <string>source_decision</string> - <string>destination_decision</string> - <string>source_administration</string> - <string>destination_administration</string> - <string>source_project</string> - <string>destination_project</string> - <string>source_payment</string> - <string>destination_payment</string> - <string>price_currency</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/category_movement_group_on_line.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/category_movement_group_on_line.xml deleted file mode 100644 index 7005c6263f..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/category_movement_group_on_line.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/category</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Category Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>resource</string> - <string>aggregate</string> - <string>quantity_unit</string> - <string>source_account</string> - <string>destination_account</string> - <string>source_function</string> - <string>destination_function</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>category_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>0</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/causality_assignment_movement_group_on_cell.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/causality_assignment_movement_group_on_cell.xml deleted file mode 100644 index 2f2c71f553..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/causality_assignment_movement_group_on_cell.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Causality Assignment Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/cell</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>causality_assignment_movement_group_on_cell</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Causality Assignment Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>causality_assignment_movement_group_on_cell</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/causality_assignment_movement_group_on_line.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/causality_assignment_movement_group_on_line.xml deleted file mode 100644 index 41ee05ae60..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/causality_assignment_movement_group_on_line.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Causality Assignment Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>causality_assignment_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Causality Assignment Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>causality_assignment_movement_group_on_line</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/order_movement_group_on_delivery.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/order_movement_group_on_delivery.xml deleted file mode 100644 index 4b4699de2a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/order_movement_group_on_delivery.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Order Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>order_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Order Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>order_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/property_movement_group_on_delivery.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/property_movement_group_on_delivery.xml deleted file mode 100644 index 6436fb8009..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/property_movement_group_on_delivery.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>start_date</string> - <string>stop_date</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>property_movement_group_on_delivery</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/property_movement_group_on_line.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/property_movement_group_on_line.xml deleted file mode 100644 index 885ac3a97a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/property_movement_group_on_line.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>divergence_scope/property</string> - <string>collect_order_group/line</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>property_movement_group_on_line</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>2</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Property Movement Group</string> </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <tuple> - <string>description</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> - <none/> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/variant_movement_group_on_cell.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/variant_movement_group_on_cell.xml deleted file mode 100644 index f9f4145ef0..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_deliveries/sale_packing_list_builder/variant_movement_group_on_cell.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Variant Movement Group" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>categories</string> </key> - <value> - <tuple> - <string>collect_order_group/cell</string> - <string>divergence_scope/category</string> - </tuple> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - <item> - <key> <string>int_index</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Variant Movement Group</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>variant_movement_group_on_cell</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_root_simulation_rule.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_root_simulation_rule.xml deleted file mode 100644 index 97114b46c6..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_root_simulation_rule.xml +++ /dev/null @@ -1,136 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Root Simulation Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_identity_criterion</string> </key> - <value> - <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>default_reference</string> </key> - <value> <string>default_delivery_rule</string> </value> - </item> - <item> - <key> <string>expandable_property</string> </key> - <value> - <tuple> - <string>aggregate_list</string> - <string>base_application_list</string> - <string>base_contribution_list</string> - <string>delivery_mode</string> - <string>description</string> - <string>destination</string> - <string>destination_account</string> - <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>incoterm</string> - <string>price</string> - <string>price_currency</string> - <string>quantity</string> - <string>quantity_unit</string> - <string>resource</string> - <string>source</string> - <string>source_account</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> - <string>variation_category_list</string> - <string>variation_property_dict</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>default_delivery_root_simulation_rule</string> </value> - </item> - <item> - <key> <string>matching_property</string> </key> - <value> - <tuple> - <string>delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Root Simulation Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Delivery Root 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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_root_simulation_rule/default_category_tester.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_root_simulation_rule/default_category_tester.xml deleted file mode 100644 index c3be26880b..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_root_simulation_rule/default_category_tester.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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>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>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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_root_simulation_rule/default_property_tester.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_root_simulation_rule/default_property_tester.xml deleted file mode 100644 index 314db5db2d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_root_simulation_rule/default_property_tester.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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> - </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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_root_simulation_rule/default_quantity_tester.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_root_simulation_rule/default_quantity_tester.xml deleted file mode 100644 index 796fbb7a8f..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_root_simulation_rule/default_quantity_tester.xml +++ /dev/null @@ -1,91 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_rule.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_rule.xml deleted file mode 100644 index 9bc4a973de..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_rule.xml +++ /dev/null @@ -1,135 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_identity_criterion</string> </key> - <value> - <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>default_reference</string> </key> - <value> <string>default_delivery_rule</string> </value> - </item> - <item> - <key> <string>expandable_property</string> </key> - <value> - <tuple> - <string>aggregate_list</string> - <string>base_application_list</string> - <string>base_contribution_list</string> - <string>description</string> - <string>destination</string> - <string>destination_account</string> - <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>incoterm</string> - <string>price</string> - <string>price_currency</string> - <string>quantity</string> - <string>quantity_unit</string> - <string>resource</string> - <string>source</string> - <string>source_account</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> - <string>variation_category_list</string> - <string>variation_property_dict</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>default_delivery_rule</string> </value> - </item> - <item> - <key> <string>matching_property</string> </key> - <value> - <tuple> - <string>delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Delivery Rule</string> </value> - </item> - <item> - <key> <string>version</string> </key> - <value> <string>1</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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_rule/default_category_tester.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_rule/default_category_tester.xml deleted file mode 100644 index c3be26880b..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_rule/default_category_tester.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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>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>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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_rule/default_property_tester.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_rule/default_property_tester.xml deleted file mode 100644 index 314db5db2d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_rule/default_property_tester.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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> - </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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_rule/default_quantity_tester.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_rule/default_quantity_tester.xml deleted file mode 100644 index 796fbb7a8f..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_rule/default_quantity_tester.xml +++ /dev/null @@ -1,91 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_simulation_rule.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_simulation_rule.xml deleted file mode 100644 index 4d8f69eb60..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_simulation_rule.xml +++ /dev/null @@ -1,175 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Delivery Simulation Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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_delivering_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_delivery_simulation_rule</string> </value> - </item> - <item> - <key> <string>matching_property</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Delivery Simulation Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple> - <string>SimulationMovement_testDeliverySimulationRule</string> - </tuple> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Delivery Simulation Rule</string> </value> - </item> - <item> - <key> <string>version</string> </key> - <value> <string>1</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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_simulation_rule/default_category_tester.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_simulation_rule/default_category_tester.xml deleted file mode 100644 index e1394274bf..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_simulation_rule/default_category_tester.xml +++ /dev/null @@ -1,106 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_simulation_rule/default_property_tester.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_simulation_rule/default_property_tester.xml deleted file mode 100644 index 275e9d36fa..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_simulation_rule/default_property_tester.xml +++ /dev/null @@ -1,113 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_simulation_rule/default_quantity_tester.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_simulation_rule/default_quantity_tester.xml deleted file mode 100644 index 796fbb7a8f..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_delivery_simulation_rule/default_quantity_tester.xml +++ /dev/null @@ -1,91 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_root_simulation_rule.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_root_simulation_rule.xml deleted file mode 100644 index b5155f205d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_root_simulation_rule.xml +++ /dev/null @@ -1,157 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Order Root Simulation Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_identity_criterion</string> </key> - <value> - <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>default_reference</string> </key> - <value> <string>default_order_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>base_contribution_list</string> - <string>delivery_mode</string> - <string>description</string> - <string>destination</string> - <string>destination_account</string> - <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>incoterm</string> - <string>price</string> - <string>price_currency</string> - <string>quantity</string> - <string>quantity_unit</string> - <string>resource</string> - <string>source</string> - <string>source_account</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> - <string>variation_category_list</string> - <string>variation_property_dict</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>default_order_root_simulation_rule</string> </value> - </item> - <item> - <key> <string>matching_property</string> </key> - <value> - <tuple> - <string>delivery</string> - </tuple> - </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Order Root Simulation Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Order Root 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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_root_simulation_rule/default_category_tester.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_root_simulation_rule/default_category_tester.xml deleted file mode 100644 index c3be26880b..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_root_simulation_rule/default_category_tester.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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>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>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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_root_simulation_rule/default_property_tester.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_root_simulation_rule/default_property_tester.xml deleted file mode 100644 index 314db5db2d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_root_simulation_rule/default_property_tester.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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> - </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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_root_simulation_rule/default_quantity_tester.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_root_simulation_rule/default_quantity_tester.xml deleted file mode 100644 index e01b40c40a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_root_simulation_rule/default_quantity_tester.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_rule.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_rule.xml deleted file mode 100644 index 4a138ce27d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_rule.xml +++ /dev/null @@ -1,156 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Order Rule" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_identity_criterion</string> </key> - <value> - <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>default_reference</string> </key> - <value> <string>default_order_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>base_contribution_list</string> - <string>description</string> - <string>destination</string> - <string>destination_account</string> - <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>incoterm</string> - <string>price</string> - <string>price_currency</string> - <string>quantity</string> - <string>quantity_unit</string> - <string>resource</string> - <string>source</string> - <string>source_account</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> - <string>variation_category_list</string> - <string>variation_property_dict</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>default_order_rule</string> </value> - </item> - <item> - <key> <string>matching_property</string> </key> - <value> - <tuple> - <string>order</string> - </tuple> - </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> <string>Order Rule</string> </value> - </item> - <item> - <key> <string>test_method_id</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Default Order Rule</string> </value> - </item> - <item> - <key> <string>version</string> </key> - <value> <string>1</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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_rule/default_category_tester.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_rule/default_category_tester.xml deleted file mode 100644 index c3be26880b..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_rule/default_category_tester.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Category Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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>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>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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_rule/default_property_tester.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_rule/default_property_tester.xml deleted file mode 100644 index 314db5db2d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_rule/default_property_tester.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Property Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_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> - </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_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_rule/default_quantity_tester.xml b/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_rule/default_quantity_tester.xml deleted file mode 100644 index e01b40c40a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PathTemplateItem/portal_rules/default_order_rule/default_quantity_tester.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Quantity Divergence Tester" module="erp5.portal_type"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_count</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>_mt_index</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>_tree</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> - </value> - </item> - <item> - <key> <string>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>solver_script</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>tested_property</string> </key> - <value> - <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_trade_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml b/bt5/erp5_trade_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml deleted file mode 100644 index fd9f75a0ae..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml +++ /dev/null @@ -1,46 +0,0 @@ -<allowed_content_type_list> - <portal_type id="Business Process"> - <item>Business Path</item> - <item>Business State</item> - </portal_type> - <portal_type id="Delivery Root Simulation Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Delivery Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Delivery Simulation Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Order Root Simulation Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Order Rule"> - <item>Category Divergence Tester</item> - <item>Composed Divergence Tester</item> - <item>Property Divergence Tester</item> - <item>Quantity Divergence Tester</item> - </portal_type> - <portal_type id="Purchase Order"> - <item>Trade Model Line</item> - </portal_type> - <portal_type id="Rule Tool"> - <item>Delivery Rule</item> - <item>Order Rule</item> - </portal_type> - <portal_type id="Sale Order"> - <item>Trade Model Line</item> - </portal_type> -</allowed_content_type_list> \ No newline at end of file diff --git a/bt5/erp5_trade_simulation_legacy/PortalTypePropertySheetTemplateItem/property_sheet_list.xml b/bt5/erp5_trade_simulation_legacy/PortalTypePropertySheetTemplateItem/property_sheet_list.xml deleted file mode 100644 index b38c936cfb..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PortalTypePropertySheetTemplateItem/property_sheet_list.xml +++ /dev/null @@ -1,5 +0,0 @@ -<property_sheet_list> - <portal_type id="Business Path"> - <item>PaymentCondition</item> - </portal_type> -</property_sheet_list> \ No newline at end of file diff --git a/bt5/erp5_trade_simulation_legacy/PortalTypeTemplateItem/portal_types/Business%20Path.xml b/bt5/erp5_trade_simulation_legacy/PortalTypeTemplateItem/portal_types/Business%20Path.xml deleted file mode 100644 index 125495f3e3..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PortalTypeTemplateItem/portal_types/Business%20Path.xml +++ /dev/null @@ -1,119 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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>document.gif</string> </value> - </item> - <item> - <key> <string>content_meta_type</string> </key> - <value> <string>ERP5 Business Path</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Supply Link defines possible movements of resources between source and destination Supply Nodes. Each Supply Link is associated with one or more industrial phases.</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addBusinessPath</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/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Business Path</string> </value> - </item> - <item> - <key> <string>init_script</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>permission</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>type_class</string> </key> - <value> <string>BusinessPath</string> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>domain_name</string> </key> - <value> <string></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> - <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>domain_name</string> </key> - <value> <string></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_trade_simulation_legacy/PortalTypeTemplateItem/portal_types/Business%20State.xml b/bt5/erp5_trade_simulation_legacy/PortalTypeTemplateItem/portal_types/Business%20State.xml deleted file mode 100644 index 34f344267a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PortalTypeTemplateItem/portal_types/Business%20State.xml +++ /dev/null @@ -1,115 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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>document.gif</string> </value> - </item> - <item> - <key> <string>content_meta_type</string> </key> - <value> <string>ERP5 Business State</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Defines node for graph used by Supply Chain</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addBusinessState</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/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Business State</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> - <item> - <key> <string>type_class</string> </key> - <value> <string>BusinessState</string> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>domain_name</string> </key> - <value> <string></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> - <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>domain_name</string> </key> - <value> <string></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_trade_simulation_legacy/PortalTypeTemplateItem/portal_types/Delivery%20Rule.xml b/bt5/erp5_trade_simulation_legacy/PortalTypeTemplateItem/portal_types/Delivery%20Rule.xml deleted file mode 100644 index 80e4ef56ae..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PortalTypeTemplateItem/portal_types/Delivery%20Rule.xml +++ /dev/null @@ -1,64 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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>rule_icon.gif</string> </value> - </item> - <item> - <key> <string>content_meta_type</string> </key> - <value> <string>ERP5 Delivery Rule</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>An ERP5 Rule...</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addDeliveryRule</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>Delivery 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> - <item> - <key> <string>type_class</string> </key> - <value> <string>DeliveryRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PortalTypeTemplateItem/portal_types/Order%20Rule.xml b/bt5/erp5_trade_simulation_legacy/PortalTypeTemplateItem/portal_types/Order%20Rule.xml deleted file mode 100644 index 7ce8680974..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PortalTypeTemplateItem/portal_types/Order%20Rule.xml +++ /dev/null @@ -1,64 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Base Type" module="erp5.portal_type"/> - </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>rule_icon.gif</string> </value> - </item> - <item> - <key> <string>content_meta_type</string> </key> - <value> <string>ERP5 Order Rule</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>An ERP5 Rule...</string> </value> - </item> - <item> - <key> <string>factory</string> </key> - <value> <string>addOrderRule</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>Order 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> - <item> - <key> <string>type_class</string> </key> - <value> <string>OrderRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_trade_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml deleted file mode 100644 index feea1bd688..0000000000 --- a/bt5/erp5_trade_simulation_legacy/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml +++ /dev/null @@ -1,10 +0,0 @@ -<workflow_chain> - <chain> - <type>Delivery Rule</type> - <workflow>edit_workflow, rule_validation_workflow</workflow> - </chain> - <chain> - <type>Order Rule</type> - <workflow>edit_workflow, rule_validation_workflow</workflow> - </chain> -</workflow_chain> \ No newline at end of file diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy.xml deleted file mode 100644 index 3a69a5134d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy.xml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Folder" module="OFS.Folder"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_local_properties</string> </key> - <value> - <tuple> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>business_template_skin_layer_priority</string> </value> - </item> - <item> - <key> <string>type</string> </key> - <value> <string>float</string> </value> - </item> - </dictionary> - </tuple> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>business_template_skin_layer_priority</string> </key> - <value> <float>30.0</float> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>erp5_trade_simulation_legacy</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary.xml deleted file mode 100644 index 03f8fadb4a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary.xml +++ /dev/null @@ -1,158 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>edit_order</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list> - <string>my_view_mode_lead_time</string> - <string>my_view_mode_wait_time</string> - <string>my_view_mode_deliverable</string> - <string>my_view_mode_delivery_builder_list</string> - <string>my_view_mode_order_builder_list</string> - <string>my_view_mode_predecessor_title</string> - <string>my_view_mode_successor_title</string> - </list> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list/> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Base_viewTradeSimulationLegacyFieldLibrary</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>Base_viewTradeSimulationLegacyFieldLibrary</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>OBSOLETE! Do not use</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>update_action_title</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_deliverable.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_deliverable.xml deleted file mode 100644 index ae89335af1..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_deliverable.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_view_mode_deliverable</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_checkbox</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Root Explanation</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_delivery_builder_list.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_delivery_builder_list.xml deleted file mode 100644 index 97ae0b9e7c..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_delivery_builder_list.xml +++ /dev/null @@ -1,119 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>items</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_view_mode_delivery_builder_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_multi_list_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Delivery Builders</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python: [(\'\',\'\')] + [(q.getTitle(),q.getRelativeUrl()) for q in context.portal_catalog(portal_type=\'Delivery Builder\', sort_on=((\'title\',\'ascending\'),))]</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_lead_time.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_lead_time.xml deleted file mode 100644 index 0bd2593408..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_lead_time.xml +++ /dev/null @@ -1,129 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>css_class</string> - <string>input_style</string> - <string>display_width</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_view_mode_lead_time</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>display_width</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>css_class</string> </key> - <value> <string>figure</string> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_float_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>input_style</string> </key> - <value> <string>-1 234.5</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Lead Time</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python: preferences.getPreference(\'preferred_quantity_field_width\', 5)</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_order_builder_list.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_order_builder_list.xml deleted file mode 100644 index ad9e45bea2..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_order_builder_list.xml +++ /dev/null @@ -1,119 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>items</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_view_mode_order_builder_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_multi_list_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Order Builders</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python: [(\'\',\'\')] + [(q.getTitle(),q.getRelativeUrl()) for q in context.portal_catalog(portal_type=\'Order Builder\', sort_on=((\'title\',\'ascending\'),))]</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_predecessor_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_predecessor_title.xml deleted file mode 100644 index 7fb044c5ef..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_predecessor_title.xml +++ /dev/null @@ -1,131 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>portal_type</string> - <string>parameter_list</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_view_mode_predecessor_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>parameter_list</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_relation_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> - <list> - <tuple> - <string>Business State</string> - <string>Business State</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Predecessor</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python: ((\'parent_uid\',here.getParentUid()),)</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_successor_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_successor_title.xml deleted file mode 100644 index b1dbc29dc3..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_successor_title.xml +++ /dev/null @@ -1,131 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>portal_type</string> - <string>parameter_list</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_view_mode_successor_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>parameter_list</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_relation_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> - <list> - <tuple> - <string>Business State</string> - <string>Business State</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Successor</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python: ((\'parent_uid\',here.getParentUid()),)</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_wait_time.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_wait_time.xml deleted file mode 100644 index 5f5908f592..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Base_viewTradeSimulationLegacyFieldLibrary/my_view_mode_wait_time.xml +++ /dev/null @@ -1,129 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>css_class</string> - <string>input_style</string> - <string>display_width</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_view_mode_wait_time</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>display_width</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>css_class</string> </key> - <value> <string>figure</string> </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_float_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>input_style</string> </key> - <value> <string>-1 234.5</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Wait Time</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python: preferences.getPreference(\'preferred_quantity_field_width\', 5)</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_getDefaultDestinationList.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_getDefaultDestinationList.xml deleted file mode 100644 index 4b76e7cdc9..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_getDefaultDestinationList.xml +++ /dev/null @@ -1,73 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>category_list = []\n -for base_category in context.getDestinationArrowBaseCategoryList():\n - category = movement.getDefaultAcquiredCategoryMembership(base_category, base=1)\n - if category:\n - category_list.append(category)\n -\n -return category_list\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>movement</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>BusinessPath_getDefaultDestinationList</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_getDefaultSourceList.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_getDefaultSourceList.xml deleted file mode 100644 index de7992bf25..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_getDefaultSourceList.xml +++ /dev/null @@ -1,73 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>category_list = []\n -for base_category in context.getSourceArrowBaseCategoryList():\n - category = movement.getDefaultAcquiredCategoryMembership(base_category, base=1)\n - if category:\n - category_list.append(category)\n -\n -return category_list\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>movement</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>BusinessPath_getDefaultSourceList</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view.xml deleted file mode 100644 index 06de3c0e64..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view.xml +++ /dev/null @@ -1,164 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>edit_order</string> </key> - <value> - <list> - <string>title</string> - <string>reference</string> - </list> - </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list> - <string>my_description</string> - </list> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list> - <string>my_title</string> - <string>my_int_index</string> - <string>my_reference</string> - <string>my_payment_mode</string> - <string>my_delivery_mode</string> - <string>my_incoterm</string> - </list> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list> - <string>my_lead_time</string> - <string>my_end_of</string> - <string>my_wait_time</string> - <string>my_efficiency</string> - <string>my_quantity</string> - </list> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>BusinessPath_view</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>BusinessPath_view</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Business Path</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_delivery_mode.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_delivery_mode.xml deleted file mode 100644 index b52ed6f9ae..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_delivery_mode.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_delivery_mode</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_delivery_mode</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_description.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_description.xml deleted file mode 100644 index 407313748d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_description.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_description</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_description</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_efficiency.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_efficiency.xml deleted file mode 100644 index 736f276445..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_efficiency.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_efficiency</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_efficiency</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_end_of.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_end_of.xml deleted file mode 100644 index fb7ae27cf0..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_end_of.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_end_of</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_end_of</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_incoterm.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_incoterm.xml deleted file mode 100644 index 4078d5340f..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_incoterm.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_incoterm</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_incoterm</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_int_index.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_int_index.xml deleted file mode 100644 index b82f731d50..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_int_index.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_int_index</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_int_index</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_lead_time.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_lead_time.xml deleted file mode 100644 index a4f0fb6e78..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_lead_time.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_lead_time</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_lead_time</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeSimulationLegacyFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_payment_mode.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_payment_mode.xml deleted file mode 100644 index 4902bb5c4d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_payment_mode.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_payment_mode</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_payment_mode</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_quantity.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_quantity.xml deleted file mode 100644 index a8c09c41be..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_quantity.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_quantity</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_batch_quantity</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_reference.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_reference.xml deleted file mode 100644 index 0bb8ef4f85..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_reference.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_reference</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_reference</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_title.xml deleted file mode 100644 index 52bff3e19d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_wait_time.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_wait_time.xml deleted file mode 100644 index 329a0a4a47..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_view/my_wait_time.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_wait_time</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_wait_time</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeSimulationLegacyFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced.xml deleted file mode 100644 index b048f3cd97..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced.xml +++ /dev/null @@ -1,163 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>edit_order</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list> - <string>my_title</string> - <string>my_order_builder_list</string> - <string>my_source_method_id</string> - <string>my_completed_state_list</string> - <string>my_predecessor_title</string> - </list> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list> - <string>my_trade_phase</string> - <string>my_delivery_builder_list</string> - <string>my_destination_method_id</string> - <string>my_frozen_state_list</string> - <string>my_successor_title</string> - <string>my_deliverable</string> - </list> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>BusinessPath_viewAdvanced</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>BusinessPath_viewAdvanced</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Advanced</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>update_action_title</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_completed_state_list.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_completed_state_list.xml deleted file mode 100644 index db33b32735..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_completed_state_list.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_completed_state_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_completed_state_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_deliverable.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_deliverable.xml deleted file mode 100644 index b3e1c581d0..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_deliverable.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_deliverable</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_deliverable</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeSimulationLegacyFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_delivery_builder_list.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_delivery_builder_list.xml deleted file mode 100644 index d5ed04b9f6..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_delivery_builder_list.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_delivery_builder_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_delivery_builder_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeSimulationLegacyFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_destination_method_id.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_destination_method_id.xml deleted file mode 100644 index 69aa7e52bd..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_destination_method_id.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_destination_method_id</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_destination_method_id</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_frozen_state_list.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_frozen_state_list.xml deleted file mode 100644 index bebdf0c906..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_frozen_state_list.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_frozen_state_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_frozen_state_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_order_builder_list.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_order_builder_list.xml deleted file mode 100644 index ab07327f79..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_order_builder_list.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_order_builder_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_order_builder_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeSimulationLegacyFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_predecessor_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_predecessor_title.xml deleted file mode 100644 index 64b039cc4d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_predecessor_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_predecessor_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_predecessor_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeSimulationLegacyFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_source_method_id.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_source_method_id.xml deleted file mode 100644 index 4aaea31285..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_source_method_id.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_source_method_id</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_source_method_id</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_successor_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_successor_title.xml deleted file mode 100644 index 3d69d03a84..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_successor_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_successor_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_successor_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeSimulationLegacyFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_title.xml deleted file mode 100644 index 52bff3e19d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_trade_phase.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_trade_phase.xml deleted file mode 100644 index 5dec61f603..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewAdvanced/my_trade_phase.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_trade_phase</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_trade_phase</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile.xml deleted file mode 100644 index 75ebf0febb..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile.xml +++ /dev/null @@ -1,147 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>edit_order</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>left</string> </key> - <value> - <list> - <string>my_source_section_title</string> - <string>my_source_title</string> - <string>my_source_decision_title</string> - <string>my_source_administration_title</string> - <string>my_source_payment</string> - <string>my_source_project_title</string> - <string>my_source_reference</string> - <string>my_source_carrier_title</string> - </list> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list> - <string>my_destination_section_title</string> - <string>my_destination_title</string> - <string>my_destination_decision_title</string> - <string>my_destination_administration_title</string> - <string>my_destination_payment</string> - <string>my_destination_project_title</string> - <string>my_destination_reference</string> - <string>my_destination_carrier_title</string> - </list> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>BusinessPath_viewProfile</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>BusinessPath_viewProfile</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Profile</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>update_action_title</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_administration_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_administration_title.xml deleted file mode 100644 index 6d4c45f7d8..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_administration_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_destination_administration_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_destination_administration_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_carrier_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_carrier_title.xml deleted file mode 100644 index 0b4f9b0ab8..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_carrier_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_destination_carrier_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_destination_carrier_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_decision_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_decision_title.xml deleted file mode 100644 index b98f68cbc5..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_decision_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_destination_decision_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_destination_decision_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_payment.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_payment.xml deleted file mode 100644 index aced695d18..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_payment.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_destination_payment</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_destination_payment</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_project_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_project_title.xml deleted file mode 100644 index 935ab0dcee..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_project_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_destination_project_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_destination_project_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_reference.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_reference.xml deleted file mode 100644 index fc5bb49974..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_reference.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_destination_reference</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_destination_reference</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_section_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_section_title.xml deleted file mode 100644 index e0e60d5139..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_section_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_destination_section_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_destination_section_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_title.xml deleted file mode 100644 index 7a9cad918e..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_destination_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_destination_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_destination_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_administration_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_administration_title.xml deleted file mode 100644 index f143ab0372..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_administration_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_source_administration_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_source_administration_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_carrier_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_carrier_title.xml deleted file mode 100644 index 97437b655f..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_carrier_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_source_carrier_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_source_carrier_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_decision_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_decision_title.xml deleted file mode 100644 index f692f155ae..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_decision_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_source_decision_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_source_decision_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_payment.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_payment.xml deleted file mode 100644 index 808121a15a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_payment.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_source_payment</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_source_payment</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_project_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_project_title.xml deleted file mode 100644 index cbc0849b6b..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_project_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_source_project_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_source_project_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_reference.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_reference.xml deleted file mode 100644 index 39fde25474..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_reference.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_source_reference</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_source_reference</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_section_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_section_title.xml deleted file mode 100644 index ede173029a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_section_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_source_section_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_source_section_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_title.xml deleted file mode 100644 index 12e747d387..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessPath_viewProfile/my_source_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_source_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_source_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view.xml deleted file mode 100644 index c190be8e84..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view.xml +++ /dev/null @@ -1,163 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>edit_order</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list> - <string>listbox</string> - </list> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list> - <string>my_description</string> - </list> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list> - <string>listbox_deliverable</string> - <string>listbox_int_index</string> - <string>listbox_order_builder_title_list</string> - <string>listbox_delivery_builder_title_list</string> - </list> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list> - <string>my_title</string> - <string>my_version</string> - <string>my_specialise_title_list</string> - <string>my_referential_date</string> - </list> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list> - <string>my_reference</string> - <string>my_translated_validation_state_title</string> - </list> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>BusinessProcess_view</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>BusinessProcessModel_view</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Business Process Model</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox.xml deleted file mode 100644 index 0ffb71aab9..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox.xml +++ /dev/null @@ -1,181 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable_columns</string> - <string>sort</string> - <string>title</string> - <string>selection_name</string> - <string>portal_types</string> - <string>columns</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>columns</string> </key> - <value> - <list> - <tuple> - <string>int_index</string> - <string>Index</string> - </tuple> - <tuple> - <string>title</string> - <string>Title</string> - </tuple> - <tuple> - <string>predecessor_title</string> - <string>Predecessor</string> - </tuple> - <tuple> - <string>successor_title</string> - <string>Successor</string> - </tuple> - <tuple> - <string>order_builder_title_list</string> - <string>Order Builders</string> - </tuple> - <tuple> - <string>delivery_builder_title_list</string> - <string>Delivery Builders</string> - </tuple> - <tuple> - <string>trade_phase_title</string> - <string>Trade Phase</string> - </tuple> - <tuple> - <string>deliverable</string> - <string>Root Explanation</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> - <list> - <tuple> - <string>deliverable</string> - <string>deliverable</string> - </tuple> - <tuple> - <string>int_index</string> - <string>int_index</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> - <list> - <tuple> - <string>Business Path</string> - <string>Business Path</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string>business_process_model_view_selection</string> </value> - </item> - <item> - <key> <string>sort</string> </key> - <value> - <list> - <tuple> - <string>int_index</string> - <string>ascending</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Business Paths</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox_deliverable.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox_deliverable.xml deleted file mode 100644 index c712e8e1f2..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox_deliverable.xml +++ /dev/null @@ -1,116 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>title</string> - <string>default</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_deliverable</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>default</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_checkbox</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Root Explanation</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python: cell.getDeliverable()</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox_delivery_builder_title_list.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox_delivery_builder_title_list.xml deleted file mode 100644 index 73128f9761..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox_delivery_builder_title_list.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_delivery_builder_title_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox_delivery_builder_title_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox_int_index.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox_int_index.xml deleted file mode 100644 index 0e10804225..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox_int_index.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_int_index</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox_int_index</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox_order_builder_title_list.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox_order_builder_title_list.xml deleted file mode 100644 index 2b8e7f7777..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/listbox_order_builder_title_list.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_order_builder_title_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox_order_builder_title_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_description.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_description.xml deleted file mode 100644 index 407313748d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_description.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_description</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_description</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_reference.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_reference.xml deleted file mode 100644 index 0bb8ef4f85..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_reference.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_reference</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_reference</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_referential_date.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_referential_date.xml deleted file mode 100644 index 60c0577d43..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_referential_date.xml +++ /dev/null @@ -1,117 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>items</string> - <string>orientation</string> - <string>title</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_referential_date</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_radio_field</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewFieldLibrary</string> </value> - </item> - <item> - <key> <string>items</string> </key> - <value> - <list> - <tuple> - <string>Start Date</string> - <string>start_date</string> - </tuple> - <tuple> - <string>Stop Date</string> - <string>stop_date</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>orientation</string> </key> - <value> <string>horizontal</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Referential Date</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_specialise_title_list.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_specialise_title_list.xml deleted file mode 100644 index 1ca815e81f..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_specialise_title_list.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_specialise_title_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_business_process_specialise_title_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_title.xml deleted file mode 100644 index 52bff3e19d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_translated_validation_state_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_translated_validation_state_title.xml deleted file mode 100644 index 1f8ddf9a42..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_translated_validation_state_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_translated_validation_state_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_translated_validation_state_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_version.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_version.xml deleted file mode 100644 index 3fd6812675..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_view/my_version.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_version</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_version</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_viewBusinessStates.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_viewBusinessStates.xml deleted file mode 100644 index 4d28aa6a37..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_viewBusinessStates.xml +++ /dev/null @@ -1,152 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>edit_order</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list> - <string>listbox</string> - </list> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list> - <string>my_title</string> - </list> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list> - <string>listbox_int_index</string> - </list> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list/> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>BusinessProcess_viewBusinessStates</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>BusinessProcess_viewBusinessStates</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Business States</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_viewBusinessStates/listbox.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_viewBusinessStates/listbox.xml deleted file mode 100644 index b442d8041f..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_viewBusinessStates/listbox.xml +++ /dev/null @@ -1,161 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable_columns</string> - <string>sort</string> - <string>title</string> - <string>selection_name</string> - <string>portal_types</string> - <string>columns</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>columns</string> </key> - <value> - <list> - <tuple> - <string>int_index</string> - <string>Index</string> - </tuple> - <tuple> - <string>title</string> - <string>Title</string> - </tuple> - <tuple> - <string>reference</string> - <string>Reference</string> - </tuple> - <tuple> - <string>description</string> - <string>Description</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> - <list> - <tuple> - <string>int_index</string> - <string>int_index</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> - <list> - <tuple> - <string>Business State</string> - <string>Business State</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string>trade_condition_view_supply_state_list_selection</string> </value> - </item> - <item> - <key> <string>sort</string> </key> - <value> - <list> - <tuple> - <string>int_index</string> - <string>ascending</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Business States</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_viewBusinessStates/listbox_int_index.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_viewBusinessStates/listbox_int_index.xml deleted file mode 100644 index 0e10804225..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_viewBusinessStates/listbox_int_index.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_int_index</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox_int_index</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_viewBusinessStates/my_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_viewBusinessStates/my_title.xml deleted file mode 100644 index dcbf555a26..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessProcess_viewBusinessStates/my_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_read_only_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view.xml deleted file mode 100644 index 31915af67c..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view.xml +++ /dev/null @@ -1,155 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>edit_order</string> </key> - <value> - <list> - <string>title</string> - <string>reference</string> - </list> - </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list> - <string>my_description</string> - </list> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list> - <string>my_title</string> - <string>my_reference</string> - <string>my_int_index</string> - </list> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list/> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>BusinessState_view</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>BusinessState_view</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Business State</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view/my_description.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view/my_description.xml deleted file mode 100644 index 407313748d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view/my_description.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_description</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_description</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view/my_int_index.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view/my_int_index.xml deleted file mode 100644 index b82f731d50..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view/my_int_index.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_int_index</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_int_index</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view/my_reference.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view/my_reference.xml deleted file mode 100644 index 0bb8ef4f85..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view/my_reference.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_reference</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_reference</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view/my_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view/my_title.xml deleted file mode 100644 index 52bff3e19d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/BusinessState_view/my_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/DeliveryRule_asPredicate.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/DeliveryRule_asPredicate.xml deleted file mode 100644 index 6200afb944..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/DeliveryRule_asPredicate.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return context.generatePredicate(criterion_property_list=("start_date",))\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>DeliveryRule_asPredicate</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList.xml deleted file mode 100644 index 94c8050066..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList.xml +++ /dev/null @@ -1,155 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ERP5Form" module="Products.ERP5Form.Form"/> - </pickle> - <pickle> - <dictionary> - <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/> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>action</string> </key> - <value> <string>Base_edit</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>edit_order</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>enctype</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>group_list</string> </key> - <value> - <list> - <string>left</string> - <string>right</string> - <string>center</string> - <string>bottom</string> - <string>hidden</string> - </list> - </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <dictionary> - <item> - <key> <string>bottom</string> </key> - <value> - <list> - <string>listbox</string> - </list> - </value> - </item> - <item> - <key> <string>center</string> </key> - <value> - <list> - <string>my_title</string> - </list> - </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> - <list> - <string>listbox_base_application_title_list</string> - <string>listbox_base_contribution_title_list</string> - <string>listbox_price</string> - <string>listbox_reference</string> - </list> - </value> - </item> - <item> - <key> <string>left</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>right</string> </key> - <value> - <list/> - </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Delivery_viewTradeModelLineList</string> </value> - </item> - <item> - <key> <string>method</string> </key> - <value> <string>POST</string> </value> - </item> - <item> - <key> <string>name</string> </key> - <value> <string>Delivery_viewTradeModelLineList</string> </value> - </item> - <item> - <key> <string>pt</string> </key> - <value> <string>form_view</string> </value> - </item> - <item> - <key> <string>row_length</string> </key> - <value> <int>4</int> </value> - </item> - <item> - <key> <string>stored_encoding</string> </key> - <value> <string>UTF-8</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Trade Model Lines</string> </value> - </item> - <item> - <key> <string>unicode_mode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>update_action</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox.xml deleted file mode 100644 index fcb945c37a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox.xml +++ /dev/null @@ -1,169 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list> - <string>editable_columns</string> - <string>title</string> - <string>selection_name</string> - <string>portal_types</string> - <string>columns</string> - </list> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>columns</string> </key> - <value> - <list> - <tuple> - <string>title</string> - <string>Title</string> - </tuple> - <tuple> - <string>reference</string> - <string>Reference</string> - </tuple> - <tuple> - <string>resource_title</string> - <string>Service</string> - </tuple> - <tuple> - <string>price</string> - <string>Price</string> - </tuple> - <tuple> - <string>base_application_title_list</string> - <string>Base Applications</string> - </tuple> - <tuple> - <string>base_contribution_title_list</string> - <string>Base Contributions</string> - </tuple> - <tuple> - <string>use_title_list</string> - <string>Use</string> - </tuple> - <tuple> - <string>trade_phase_title</string> - <string>Trade Phase</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>editable_columns</string> </key> - <value> - <list> - <tuple> - <string>price</string> - <string>price</string> - </tuple> - <tuple> - <string>reference</string> - <string>reference</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>portal_types</string> </key> - <value> - <list> - <tuple> - <string>Trade Model Line</string> - <string>Trade Model Line</string> - </tuple> - </list> - </value> - </item> - <item> - <key> <string>selection_name</string> </key> - <value> <string>delivery_view_trade_model_line_list_selection</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Trade Model Lines</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox_base_application_title_list.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox_base_application_title_list.xml deleted file mode 100644 index f7d2ec030b..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox_base_application_title_list.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_base_application_title_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox_base_application_title_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox_base_contribution_title_list.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox_base_contribution_title_list.xml deleted file mode 100644 index 225c87ceeb..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox_base_contribution_title_list.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_base_contribution_title_list</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox_base_contribution_title_list</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox_price.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox_price.xml deleted file mode 100644 index 9aee0be8a8..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox_price.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_price</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox_percent_price</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox_reference.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox_reference.xml deleted file mode 100644 index ec125ba47c..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/listbox_reference.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>listbox_reference</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_listbox_reference</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/my_title.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/my_title.xml deleted file mode 100644 index dcbf555a26..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/Delivery_viewTradeModelLineList/my_title.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>delegated_list</string> </key> - <value> - <list/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>my_title</string> </value> - </item> - <item> - <key> <string>message_values</string> </key> - <value> - <dictionary> - <item> - <key> <string>external_validator_failed</string> </key> - <value> <string>The input failed the external validator.</string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>overrides</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>tales</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string></string> </value> - </item> - </dictionary> - </value> - </item> - <item> - <key> <string>values</string> </key> - <value> - <dictionary> - <item> - <key> <string>field_id</string> </key> - <value> <string>my_view_mode_read_only_title</string> </value> - </item> - <item> - <key> <string>form_id</string> </key> - <value> <string>Base_viewTradeFieldLibrary</string> </value> - </item> - <item> - <key> <string>target</string> </key> - <value> <string>Click to edit the target</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/OrderRule_asPredicate.xml b/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/OrderRule_asPredicate.xml deleted file mode 100644 index 6c238290a9..0000000000 --- a/bt5/erp5_trade_simulation_legacy/SkinTemplateItem/portal_skins/erp5_trade_simulation_legacy/OrderRule_asPredicate.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return context.generatePredicate(criterion_property_list=("start_date",))\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>OrderRule_asPredicate</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow.xml deleted file mode 100644 index 13e91268d5..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow.xml +++ /dev/null @@ -1,66 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="DCWorkflowDefinition" module="Products.DCWorkflow.DCWorkflow"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>creation_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Defined valldation process of an order</string> </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>order_workflow</string> </value> - </item> - <item> - <key> <string>initial_state</string> </key> - <value> <string>draft</string> </value> - </item> - <item> - <key> <string>manager_bypass</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>permissions</string> </key> - <value> - <tuple> - <string>Modify portal content</string> - <string>Add portal content</string> - <string>View</string> - <string>Access contents information</string> - <string>Delete objects</string> - </tuple> - </value> - </item> - <item> - <key> <string>state_var</string> </key> - <value> <string>simulation_state</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Order Workflow</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts.xml deleted file mode 100644 index 072c8f6540..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Scripts" module="Products.DCWorkflow.Scripts"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>scripts</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_appliedToRelatedMovement.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_appliedToRelatedMovement.xml deleted file mode 100644 index b388a6bcdd..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_appliedToRelatedMovement.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>order = state_change[\'object\']\n -\n -order.applyToOrderRelatedMovement(method_id=\'expand\')\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Order_appliedToRelatedMovement</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_buildPackingList.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_buildPackingList.xml deleted file mode 100644 index ab472590ec..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_buildPackingList.xml +++ /dev/null @@ -1,94 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>order = state_change[\'object\']\n -order_path = order.getPath()\n -path_and_method_id = (order_path, (\'immediateReindexObject\',\'recursiveImmediateReindexObject\'))\n -expand_tag = order_path + \'_expand\'\n -tag = order_path + \'_updateAppliedRule\'\n -\n -priority = 3\n -\n -activate_kw = { \n - \'tag\': expand_tag,\n - \'priority\': priority,\n -}\n -order.activate(\n - after_path_and_method_id=path_and_method_id,\n - after_tag=expand_tag,\n - tag=tag,\n - priority=priority,\n - ).Delivery_updateAppliedRule(activate_kw=activate_kw)\n -\n -order_portal_type = order.getPortalType()\n -builder_dict = {\n - \'Sale Order\':\'sale_packing_list_builder\',\n - \'Purchase Order\':\'purchase_packing_list_builder\',\n - \'Internal Order\':\'internal_packing_list_builder\',\n -}\n -delivery_builder = getattr(order.getPortalObject().portal_deliveries, builder_dict[order_portal_type])\n -\n -delivery_builder.activate(activity=\'SQLQueue\', after_tag=(tag, expand_tag)).build(explanation_uid=order.getUid())\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Order_buildPackingList</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_createOrderRule.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_createOrderRule.xml deleted file mode 100644 index 67ce33692a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_createOrderRule.xml +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>order = state_change[\'object\']\n -order.Delivery_updateSimulation()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change, **kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Order_createOrderRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_validateData.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_validateData.xml deleted file mode 100644 index bbb59a4517..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_validateData.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string># This script check that necessary data exists on Order\n -order = state_change[\'object\']\n -order.Base_checkConsistency()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change, **kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Order_validateData</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states.xml deleted file mode 100644 index 27ec906902..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="States" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>states</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/auto_planned.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/auto_planned.xml deleted file mode 100644 index aec377048d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/auto_planned.xml +++ /dev/null @@ -1,122 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>auto_planned</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Auto Planned</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple> - <string>order</string> - <string>order_action</string> - <string>plan</string> - <string>plan_action</string> - </tuple> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple> - <string>draft_order</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/cancelled.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/cancelled.xml deleted file mode 100644 index e541b4840b..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/cancelled.xml +++ /dev/null @@ -1,108 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>State of a document that has been cancelled</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>cancelled</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Cancelled</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple> - <string>draft_order</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/confirmed.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/confirmed.xml deleted file mode 100644 index 9db748500c..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/confirmed.xml +++ /dev/null @@ -1,100 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>confirmed</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Confirmed</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple/> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/deleted.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/deleted.xml deleted file mode 100644 index d4bf406f4d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/deleted.xml +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Documents in this state were deleted by the user as a result of clicking on the trash button or calling the delete action</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>deleted</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Deleted</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple/> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/draft.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/draft.xml deleted file mode 100644 index f7138e16d9..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/draft.xml +++ /dev/null @@ -1,141 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Default state of the document</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>draft</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Draft</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple> - <string>auto_plan</string> - <string>cancel</string> - <string>cancel_action</string> - <string>confirm</string> - <string>confirm_action</string> - <string>delete</string> - <string>delete_action</string> - <string>offer</string> - <string>offer_action</string> - <string>order</string> - <string>order_action</string> - <string>plan</string> - <string>plan_action</string> - </tuple> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple> - <string>draft_order</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Author</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Author</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Author</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Author</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Author</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/offered.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/offered.xml deleted file mode 100644 index 1c162ca917..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/offered.xml +++ /dev/null @@ -1,120 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>offered</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Offered</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple> - <string>accept_offer_action</string> - <string>plan</string> - <string>reject</string> - <string>reject_action</string> - </tuple> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple/> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/ordered.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/ordered.xml deleted file mode 100644 index 2402d9ca2d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/ordered.xml +++ /dev/null @@ -1,123 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Order has been confirmed to the customer or has been confirm by the supplier</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>ordered</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Order Placed</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple> - <string>cancel</string> - <string>cancel_action</string> - <string>confirm</string> - <string>confirm_action</string> - </tuple> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple> - <string>future_inventory</string> - <string>planned_order</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/planned.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/planned.xml deleted file mode 100644 index 056d741de2..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/planned.xml +++ /dev/null @@ -1,125 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Order that are planned to be sent to a supplier or planned to be received from a customer. The order is not sure</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>planned</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Planned</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple> - <string>cancel</string> - <string>cancel_action</string> - <string>confirm</string> - <string>confirm_action</string> - <string>order</string> - <string>order_action</string> - </tuple> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple> - <string>future_inventory</string> - <string>planned_order</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/rejected.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/rejected.xml deleted file mode 100644 index 4cf752b728..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/states/rejected.xml +++ /dev/null @@ -1,106 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>rejected</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Rejected</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple/> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions.xml deleted file mode 100644 index aa36144efe..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Transitions" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>transitions</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/accept_offer_action.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/accept_offer_action.xml deleted file mode 100644 index e29b896e46..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/accept_offer_action.xml +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Accept Offer</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=accept_offer_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>plan</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>The client accepts the offer</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>accept_offer_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string>Order_validateData</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Accept Offer Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/auto_plan.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/auto_plan.xml deleted file mode 100644 index b768718a5d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/auto_plan.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>plan an order (automatically done by the system)</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>auto_plan</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>auto_planned</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Auto Plan</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/cancel.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/cancel.xml deleted file mode 100644 index fd636052d8..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/cancel.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>Order_appliedToRelatedMovement</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Cancel the order</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>cancel</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>cancelled</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Cancel Order</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/cancel_action.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/cancel_action.xml deleted file mode 100644 index 3edd86c03d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/cancel_action.xml +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Cancel Order</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=cancel_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>cancel</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Cancel the order</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>cancel_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Cancel Order Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/confirm.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/confirm.xml deleted file mode 100644 index 23aa5156f9..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/confirm.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>Order_buildPackingList</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Confirm the order after it has been edited. This action will generate the related sale or purchase packing list</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>confirm</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>confirmed</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Confirm Order</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/confirm_action.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/confirm_action.xml deleted file mode 100644 index 036be836ad..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/confirm_action.xml +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Confirm Order</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=confirm_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>confirm</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Confirm the order after it has been edited. This action will generate the related sale or purchase packing list</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>confirm_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string>Order_validateData</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Confirm Order Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/delete.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/delete.xml deleted file mode 100644 index e82b3df4b1..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/delete.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Delete the order</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>delete</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>deleted</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Delete</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/delete_action.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/delete_action.xml deleted file mode 100644 index 39d59491e6..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/delete_action.xml +++ /dev/null @@ -1,78 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>delete</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Delete the order</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>delete_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Delete Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Owner</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/informDeliveryList.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/informDeliveryList.xml deleted file mode 100644 index dffde926c7..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/informDeliveryList.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>informDeliveryList</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/offer.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/offer.xml deleted file mode 100644 index 3fbd4c64b6..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/offer.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Make an offer to a prospect</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>offer</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>offered</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Make Offer</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/offer_action.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/offer_action.xml deleted file mode 100644 index 16033fb4d8..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/offer_action.xml +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Make Offer</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=offer_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>offer</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Make an offer to a prospect</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>offer_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string>Order_validateData</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Make Offer Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/order.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/order.xml deleted file mode 100644 index a1c6b8168e..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/order.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>Order_createOrderRule</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>marks the document as it has been confirmed to the customer or it has been confirmed by the supplier</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>order</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>ordered</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Place Order</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/order_action.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/order_action.xml deleted file mode 100644 index 797a551e08..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/order_action.xml +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Place Order</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=order_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>order</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>marks the document as it has been confirmed to the customer or it has been confirmed by the supplier</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>order_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string>Order_validateData</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Place Order Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/plan.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/plan.xml deleted file mode 100644 index 4971ac7c23..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/plan.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>Order_createOrderRule</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>plan an order</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>plan</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>planned</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Plan Order</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/plan_action.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/plan_action.xml deleted file mode 100644 index 5ca19c25b5..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/plan_action.xml +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Plan Order</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=plan_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>plan</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>plan an order</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>plan_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string>Order_validateData</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Plan Order Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/reject.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/reject.xml deleted file mode 100644 index 120c14fbac..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/reject.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>reject</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>rejected</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Reject Offer</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/reject_action.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/reject_action.xml deleted file mode 100644 index 5815fa7081..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/reject_action.xml +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Reject Offer</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=reject_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>reject</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>The client rejects the offer</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>reject_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Reject Offer Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables.xml deleted file mode 100644 index bb12bef805..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Variables" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>variables</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/action.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/action.xml deleted file mode 100644 index e00c871334..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/action.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>action</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <tuple> - <string>Products.CMFCore.Expression</string> - <string>Expression</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>transition/getId|nothing</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/actor.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/actor.xml deleted file mode 100644 index 493f0994f7..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/actor.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>actor</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <tuple> - <string>Products.CMFCore.Expression</string> - <string>Expression</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>user/getUserName</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/comment.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/comment.xml deleted file mode 100644 index 73cd2e7913..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/comment.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>comment</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <tuple> - <string>Products.CMFCore.Expression</string> - <string>Expression</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>python:state_change.kwargs.get(\'comment\',\'\')</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/error_message.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/error_message.xml deleted file mode 100644 index 69512a44bc..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/error_message.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>error_message</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/history.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/history.xml deleted file mode 100644 index e0fe339d69..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/history.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>history</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <tuple> - <string>Products.CMFCore.Expression</string> - <string>Expression</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>state_change/getHistory</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/portal_type.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/portal_type.xml deleted file mode 100644 index 521a53aa17..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/portal_type.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>portal_type</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>0</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/time.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/time.xml deleted file mode 100644 index 5ae6932d99..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/variables/time.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>time</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <tuple> - <string>Products.CMFCore.Expression</string> - <string>Expression</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>state_change/getDateTime</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists.xml deleted file mode 100644 index c7242ee114..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Worklists" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>worklists</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/1_draft_purchase_order_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/1_draft_purchase_order_list.xml deleted file mode 100644 index 5b9d0da7f5..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/1_draft_purchase_order_list.xml +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Purchase Orders to Plan (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -purchase_order_module/view?simulation_state=draft&portal_type=Purchase+Order&local_roles:list=Assignee&local_roles:list=Owner&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Purchase Orders to Plan</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>1_draft_purchase_order_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Owner</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Purchase Order</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>draft</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/2_auto_planned_purchase_order_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/2_auto_planned_purchase_order_list.xml deleted file mode 100644 index 168e220a07..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/2_auto_planned_purchase_order_list.xml +++ /dev/null @@ -1,97 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Purchase Proposals to Approve (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -purchase_order_module/view?simulation_state=auto_planned&portal_type=Purchase+Order&local_roles:list=Assignee&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Purchase Proposals to Approve</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>2_auto_planned_purchase_order_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Purchase Order</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>auto_planned</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/3_planned_purchase_order_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/3_planned_purchase_order_list.xml deleted file mode 100644 index 69ed75c63e..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/3_planned_purchase_order_list.xml +++ /dev/null @@ -1,97 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Purchase Orders to Order (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -purchase_order_module/view?simulation_state=planned&portal_type=Purchase+Order&local_roles:list=Assignee&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Purchase Orders to Order</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>3_planned_purchase_order_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Purchase Order</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>planned</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/4_ordered_purchase_order_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/4_ordered_purchase_order_list.xml deleted file mode 100644 index 206c9c42dd..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/4_ordered_purchase_order_list.xml +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Purchase Orders to Confirm (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -purchase_order_module/view?simulation_state=ordered&portal_type=Purchase+Order&local_roles:list=Assignee&local_roles:list=Assignor&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Purchase Orders to Confirm</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>4_ordered_purchase_order_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Purchase Order</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>ordered</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/4b_offered_purchase_order_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/4b_offered_purchase_order_list.xml deleted file mode 100644 index 260354d1e3..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/4b_offered_purchase_order_list.xml +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Offered Purchase Orders to Follow (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -purchase_order_module/view?simulation_state=offered&portal_type=Purchase+Order&local_roles:list=Assignee&local_roles:list=Assignor&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Offered Purchase Orders to Follow</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>4b_offered_purchase_order_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Purchase Order</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>offered</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/5_draft_sale_order_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/5_draft_sale_order_list.xml deleted file mode 100644 index ad17b7f452..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/5_draft_sale_order_list.xml +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Sale Orders to Plan (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -sale_order_module/view?simulation_state=draft&portal_type=Sale+Order&local_roles:list=Assignee&local_roles:list=Owner&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Sale Orders to Plan</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>5_draft_sale_order_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Owner</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Sale Order</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>draft</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/6_auto_planned_sale_order_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/6_auto_planned_sale_order_list.xml deleted file mode 100644 index c0f07ae3e1..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/6_auto_planned_sale_order_list.xml +++ /dev/null @@ -1,97 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Sale Proposals to Approve (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -sale_order_module/view?simulation_state=draft&portal_type=Sale+Order&local_roles:list=Assignee&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Sale Proposals to Approve</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>6_auto_planned_sale_order_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Sale Order</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>auto_planned</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/7_planned_sale_order_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/7_planned_sale_order_list.xml deleted file mode 100644 index 015fa0f5c3..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/7_planned_sale_order_list.xml +++ /dev/null @@ -1,97 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Sale Orders to Order (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -sale_order_module/view?simulation_state=planned&portal_type=Sale+Order&local_roles:list=Assignee&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Sale Orders to Order</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>7_planned_sale_order_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Sale Order</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>planned</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/8_ordered_sale_order_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/8_ordered_sale_order_list.xml deleted file mode 100644 index e6400b29f6..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/8_ordered_sale_order_list.xml +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Sale Orders to Confirm (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -sale_order_module/view?simulation_state=ordered&portal_type=Sale+Order&local_roles:list=Assignee&local_roles:list=Assignor&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Sale Orders to Confirm</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>8_ordered_sale_order_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Sale Order</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>ordered</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/9_offered_sale_order_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/9_offered_sale_order_list.xml deleted file mode 100644 index a019db8465..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/order_workflow/worklists/9_offered_sale_order_list.xml +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Offered Sale Orders to Follow (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -sale_order_module/view?simulation_state=offered&portal_type=Sale+Order&local_roles:list=Assignee&local_roles:list=Assignor&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Offered Sale Orders to Follow</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>9_offered_sale_order_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Sale Order</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>offered</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow.xml deleted file mode 100644 index 5612beb93f..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow.xml +++ /dev/null @@ -1,66 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="DCWorkflowDefinition" module="Products.DCWorkflow.DCWorkflow"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>creation_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Defined the different steps of a packing list</string> </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>packing_list_workflow</string> </value> - </item> - <item> - <key> <string>initial_state</string> </key> - <value> <string>draft</string> </value> - </item> - <item> - <key> <string>manager_bypass</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>permissions</string> </key> - <value> - <tuple> - <string>Modify portal content</string> - <string>Add portal content</string> - <string>Access contents information</string> - <string>Delete objects</string> - <string>View</string> - </tuple> - </value> - </item> - <item> - <key> <string>state_var</string> </key> - <value> <string>simulation_state</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Packing List Workflow</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts.xml deleted file mode 100644 index 072c8f6540..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Scripts" module="Products.DCWorkflow.Scripts"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>scripts</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/Delivery_checkConsistency.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/Delivery_checkConsistency.xml deleted file mode 100644 index dbae40b0a0..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/Delivery_checkConsistency.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string># This script check that necessary data exists on Order\n -delivery = state_change[\'object\']\n -delivery.Base_checkConsistency()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change, **kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Delivery_checkConsistency</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/PackingList_updateAppliedRule.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/PackingList_updateAppliedRule.xml deleted file mode 100644 index c66b2dfd78..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/PackingList_updateAppliedRule.xml +++ /dev/null @@ -1,101 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>packing_list = state_change[\'object\']\n -\n -activate_kw = {}\n -related_order = packing_list.getCausalityValue()\n -path = packing_list.getPath()\n -tag = \'%s_updateAppliedRule\' % path\n -expand_tag = \'%s_expand\' % path\n -path_and_method_id = (path, (\'immediateReindexObject\',\'recursiveImmediateReindexObject\'))\n -activate_kw = {\'tag\':expand_tag,\'priority\':3}\n -after_tag_list = [expand_tag]\n -if related_order is not None:\n - # XXX is it really required?\n - after_tag_list.append(\'%s_expand\' % related_order.getPath())\n -\n -packing_list.activate(after_tag=after_tag_list,\n - tag=tag,\n - after_path_and_method_id=path_and_method_id,\n - priority=3).Delivery_updateAppliedRule(activate_kw=activate_kw)\n -\n -\n -# Make sure to reindex related simulation movement if we are already\n -# simulated, call reindexObject, not immediateReindexObject so that\n -# catalogObjectList will be called with many objects\n -# XXX is it really required?\n -packing_list.activate(after_tag=after_tag_list,\n - tag=tag,\n - after_path_and_method_id=path_and_method_id,\n - priority=3).applyToDeliveryRelatedMovement(method_id=\'reindexObject\')\n -\n -if packing_list.getCausalityState() == \'draft\':\n - packing_list.startBuilding()\n -# XXX is it really required?\n -packing_list.activate(\n - after_tag = tag,\n -).updateCausalityState()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change, **kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>PackingList_updateAppliedRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/PurchasePackingList_buildInvoice.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/PurchasePackingList_buildInvoice.xml deleted file mode 100644 index d9416b5855..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/PurchasePackingList_buildInvoice.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>from Products.ERP5Type.Log import log\n -packing_list = sci[\'object\']\n -delivery_tool = sci.getPortal().portal_deliveries\n -\n -if packing_list.getPortalType() == \'Purchase Packing List\':\n - explanation_uid = packing_list.getCausalityUid(portal_type=\'Purchase Order\')\n - if explanation_uid:\n - explanation_uid = (explanation_uid, packing_list.getUid())\n - elif explanation_uid == None:\n - explanation_uid = packing_list.getUid()\n - tag = \'build_invoice_%s\' % packing_list.getRelativeUrl()\n - # WARNING: this tag is also used in InvoiceTransaction_postGeneration script\n - tax_tag = \'build_invoice_tax_%s\' % packing_list.getRelativeUrl()\n -\n - invoice_builder_name = \'purchase_invoice_builder\'\n - invoice_tax_builder_name = \'purchase_invoice_tax_builder\'\n - if \'Purchase Invoice Module\' in context.getPortalModuleTypeList():\n - invoice_builder_name = \'advanced_purchase_invoice_builder\'\n - invoice_tax_builder_name = \'advanced_purchase_invoice_tax_builder\'\n -\n - invoice_line_builder = getattr(delivery_tool, invoice_builder_name , None)\n - if invoice_line_builder is not None:\n - invoice_line_builder.activate(\n - activity=\'SQLQueue\',\n - tag=tag,\n - after_method_id = [ \'expand\', \n - \'recursiveImmediateReindexObject\',\n - \'updateAppliedRule\',\n - \'immediateReindexObject\' ],\n - ).build(activate_kw=dict(tag=tag), explanation_uid=explanation_uid)\n - else:\n - log(\'no purchase_invoice_builder found\')\n -\n - invoice_tax_builder = getattr(delivery_tool, invoice_tax_builder_name, None)\n - if invoice_tax_builder is not None:\n - invoice_tax_builder.activate(\n - activity=\'SQLQueue\',\n - tag=tax_tag,\n - after_tag=tag,\n - after_method_id = [ \'expand\', \n - \'recursiveImmediateReindexObject\',\n - \'updateAppliedRule\',\n - \'immediateReindexObject\' ],\n - ).build(explanation_uid=explanation_uid)\n - else:\n - log(\'no purchase_invoice_tax_builder found\')\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>sci</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>PurchasePackingList_buildInvoice</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/SalePackingList_buildInvoice.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/SalePackingList_buildInvoice.xml deleted file mode 100644 index b19a6de49f..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/SalePackingList_buildInvoice.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>from Products.ERP5Type.Log import log\n -packing_list = sci[\'object\']\n -delivery_tool = sci.getPortal().portal_deliveries\n -\n -if packing_list.getPortalType() == \'Sale Packing List\':\n - explanation_uid = packing_list.getCausalityUid(portal_type=\'Sale Order\')\n - if explanation_uid:\n - explanation_uid = (explanation_uid, packing_list.getUid())\n - elif explanation_uid == None:\n - explanation_uid = packing_list.getUid()\n - tag = \'build_invoice_%s\' % packing_list.getRelativeUrl()\n - # WARNING: this tag is also used in InvoiceTransaction_postGeneration script\n - tax_tag = \'build_invoice_tax_%s\' % packing_list.getRelativeUrl()\n -\n - invoice_builder_name = \'sale_invoice_builder\'\n - invoice_tax_builder_name = \'sale_invoice_tax_builder\'\n - if \'Sale Invoice Module\' in context.getPortalModuleTypeList():\n - invoice_builder_name = \'advanced_sale_invoice_builder\'\n - invoice_tax_builder_name = \'advanced_sale_invoice_tax_builder\'\n - \n - invoice_line_builder = getattr(delivery_tool, invoice_builder_name, None)\n - if invoice_line_builder is not None:\n - invoice_line_builder.activate(\n - activity=\'SQLQueue\',\n - tag=tag,\n - after_method_id = [ \'expand\', \n - \'recursiveImmediateReindexObject\',\n - \'updateAppliedRule\',\n - \'immediateReindexObject\' ],\n - ).build(activate_kw=dict(tag=tag), explanation_uid=explanation_uid)\n - else:\n - log(\'no sale_invoice_builder found\')\n -\n - invoice_tax_builder = getattr(delivery_tool, invoice_tax_builder_name, None)\n - if invoice_tax_builder is not None:\n - invoice_tax_builder.activate(\n - activity=\'SQLQueue\',\n - tag=tax_tag,\n - after_tag=tag,\n - after_method_id = [ \'expand\', \n - \'recursiveImmediateReindexObject\',\n - \'updateAppliedRule\',\n - \'immediateReindexObject\' ],\n - ).build(explanation_uid=explanation_uid)\n - else:\n - log(\'no sale_invoice_tax_builder found\')\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>sci</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>SalePackingList_buildInvoice</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states.xml deleted file mode 100644 index 27ec906902..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="States" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>states</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/cancelled.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/cancelled.xml deleted file mode 100644 index 6ac5890144..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/cancelled.xml +++ /dev/null @@ -1,106 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>State of a document that has been cancelled</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>cancelled</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Cancelled</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple/> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/confirmed.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/confirmed.xml deleted file mode 100644 index a5e36ebea7..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/confirmed.xml +++ /dev/null @@ -1,127 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Packign list has to be sent to customers or should be received from a supplier</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>confirmed</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Confirmed</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple> - <string>cancel</string> - <string>cancel_action</string> - <string>set_ready</string> - <string>set_ready_action</string> - <string>start</string> - <string>start_action</string> - <string>stop</string> - <string>stop_action</string> - </tuple> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple> - <string>reserved_inventory</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/deleted.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/deleted.xml deleted file mode 100644 index d4bf406f4d..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/deleted.xml +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Documents in this state were deleted by the user as a result of clicking on the trash button or calling the delete action</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>deleted</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Deleted</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple/> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/delivered.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/delivered.xml deleted file mode 100644 index 4ca7759eb6..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/delivered.xml +++ /dev/null @@ -1,108 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Packing list has been completely processed</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>delivered</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Delivered</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple> - <string>current_inventory</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/draft.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/draft.xml deleted file mode 100644 index 167e9000b6..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/draft.xml +++ /dev/null @@ -1,127 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Default state of the document</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>draft</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Draft</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple> - <string>cancel</string> - <string>cancel_action</string> - <string>confirm</string> - <string>confirm_action</string> - <string>delete</string> - <string>delete_action</string> - </tuple> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple/> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - <string>Owner</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/ready.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/ready.xml deleted file mode 100644 index 340e83a9d1..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/ready.xml +++ /dev/null @@ -1,122 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Packing list that has been prepared (packed), ready for shipment</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>ready</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Ready</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple> - <string>cancel</string> - <string>cancel_action</string> - <string>start</string> - <string>start_action</string> - </tuple> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple> - <string>reserved_inventory</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/started.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/started.xml deleted file mode 100644 index 9b6699d674..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/started.xml +++ /dev/null @@ -1,122 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Packing list has been shipped</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>started</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Shipped</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple> - <string>deliver</string> - <string>deliver_action</string> - <string>stop</string> - <string>stop_action</string> - </tuple> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple> - <string>transit_inventory</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/stopped.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/stopped.xml deleted file mode 100644 index 11c391aa07..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/states/stopped.xml +++ /dev/null @@ -1,114 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string>Declares the packing list status as received</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>stopped</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Received</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple> - <string>deliver</string> - <string>deliver_action</string> - </tuple> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple> - <string>current_inventory</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions.xml deleted file mode 100644 index aa36144efe..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Transitions" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>transitions</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/cancel.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/cancel.xml deleted file mode 100644 index cd03eb3357..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/cancel.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Cancel a document in ERP5</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>cancel</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>cancelled</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Cancel Packing List</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/cancel_action.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/cancel_action.xml deleted file mode 100644 index 5cb310c002..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/cancel_action.xml +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Cancel Packing List</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=cancel_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>cancel</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>cancel the document</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>cancel_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Cancel Packing List Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/confirm.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/confirm.xml deleted file mode 100644 index 85c18c6638..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/confirm.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>PackingList_updateAppliedRule</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>ask for a packing list to be prepared</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>confirm</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>confirmed</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Confirm Packing List</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/confirm_action.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/confirm_action.xml deleted file mode 100644 index 7f5973eeed..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/confirm_action.xml +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Confirm</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=confirm_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>confirm</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Ask for a packing list to be prepared</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>confirm_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string>Delivery_checkConsistency</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Confirm Packing List Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/delete.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/delete.xml deleted file mode 100644 index c258c14dec..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/delete.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Delete a document in ERP5</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>delete</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>deleted</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Delete</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/delete_action.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/delete_action.xml deleted file mode 100644 index 6e4be005de..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/delete_action.xml +++ /dev/null @@ -1,78 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>delete</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Delete a document in ERP5</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>delete_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Delete Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Owner</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/deliver.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/deliver.xml deleted file mode 100644 index 4f22ac810a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/deliver.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>PackingList_updateAppliedRule</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Defined a packing list as completely processed</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>deliver</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>delivered</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Deliver Packing List</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/deliver_action.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/deliver_action.xml deleted file mode 100644 index 4b3bfaacc1..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/deliver_action.xml +++ /dev/null @@ -1,95 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Deliver Packing List</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=deliver_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>deliver</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Defined a packing list as completely processed</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>deliver_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string>Delivery_checkConsistency</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Deliver Packing List Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>python: here.getCausalityState() not in (\'building\', \'diverged\')</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/set_ready.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/set_ready.xml deleted file mode 100644 index bf60eb1cd8..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/set_ready.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Declares a packing list as packed, ready for shipment</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>set_ready</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>ready</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Set Packing List Ready</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/set_ready_action.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/set_ready_action.xml deleted file mode 100644 index 2621610d24..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/set_ready_action.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Set Packing List Ready</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=set_ready_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>set_ready</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Declares a packing list as packed, ready for shipment</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>set_ready_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string>Delivery_checkConsistency</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Set Packing List Ready Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>python: here.getCausalityState() not in (\'building\', \'diverged\')</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/start.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/start.xml deleted file mode 100644 index 515521f32e..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/start.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>SalePackingList_buildInvoice</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Ship the packing list and declares a packing list as shipped</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>start</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>started</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Ship Packing List</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/start_action.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/start_action.xml deleted file mode 100644 index 622e89d720..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/start_action.xml +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Ship Packing List</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=start_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>start</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Ship the packing list and declares a packing list as shipped</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>start_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string>Delivery_checkConsistency</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Ship Packing List Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/stop.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/stop.xml deleted file mode 100644 index 111052aac3..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/stop.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>PurchasePackingList_buildInvoice</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Declares a packing list as received and creates the related accounting transaction</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>stop</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>stopped</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Receive Packing List</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/stop_action.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/stop_action.xml deleted file mode 100644 index 746d841911..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/stop_action.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Receive Packing List</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string>%(content_url)s/Base_viewWorkflowActionDialog?workflow_action=stop_action</string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>stop</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>Declares a packing list as received and creates the related accounting transaction</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>stop_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string>Delivery_checkConsistency</string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Receive Packing List Action</string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="Expression" module="Products.CMFCore.Expression"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>python: not(state_change[\'object\'].getPortalType() == "Sale Packing List" and state_change[\'object\'].getSimulationState() == "confirmed")</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables.xml deleted file mode 100644 index bb12bef805..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Variables" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>variables</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/action.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/action.xml deleted file mode 100644 index e00c871334..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/action.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>action</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <tuple> - <string>Products.CMFCore.Expression</string> - <string>Expression</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>transition/getId|nothing</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/actor.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/actor.xml deleted file mode 100644 index 493f0994f7..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/actor.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>actor</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <tuple> - <string>Products.CMFCore.Expression</string> - <string>Expression</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>user/getUserName</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/causality_state.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/causality_state.xml deleted file mode 100644 index 5261268d41..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/causality_state.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>causality_state</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/comment.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/comment.xml deleted file mode 100644 index 73cd2e7913..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/comment.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>comment</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <tuple> - <string>Products.CMFCore.Expression</string> - <string>Expression</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>python:state_change.kwargs.get(\'comment\',\'\')</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/error_message.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/error_message.xml deleted file mode 100644 index 69512a44bc..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/error_message.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>error_message</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/history.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/history.xml deleted file mode 100644 index e0fe339d69..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/history.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>history</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <tuple> - <string>Products.CMFCore.Expression</string> - <string>Expression</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>state_change/getHistory</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/portal_type.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/portal_type.xml deleted file mode 100644 index 521a53aa17..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/portal_type.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>portal_type</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>0</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/time.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/time.xml deleted file mode 100644 index 5ae6932d99..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/variables/time.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>default_expr</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>default_value</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>for_catalog</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>for_status</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>time</string> </value> - </item> - <item> - <key> <string>info_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>update_always</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <tuple> - <string>Products.CMFCore.Expression</string> - <string>Expression</string> - </tuple> - <none/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>text</string> </key> - <value> <string>state_change/getDateTime</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists.xml deleted file mode 100644 index c7242ee114..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Worklists" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>worklists</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/1_draft_purchase_packing_list_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/1_draft_purchase_packing_list_list.xml deleted file mode 100644 index f765d673fa..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/1_draft_purchase_packing_list_list.xml +++ /dev/null @@ -1,97 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Purchase Packing List to Confirm (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -purchase_packing_list_module/view?simulation_state=draft&portal_type=Purchase+Packing+List&local_roles:list=Owner&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>1_draft_purchase_packing_list_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Owner</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Purchase Packing List</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>draft</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/2_confirmed_purchase_packing_list_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/2_confirmed_purchase_packing_list_list.xml deleted file mode 100644 index e277aae1bb..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/2_confirmed_purchase_packing_list_list.xml +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Purchase Packing List to Receive (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -purchase_packing_list_module/view?simulation_state=confirmed&portal_type=Purchase+Packing+List&local_roles:list=Assignee&local_roles:list=Assignor&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>2_confirmed_purchase_packing_list_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignor</string> - <string>Assignee</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Purchase Packing List</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>confirmed</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/3_stopped_purchase_packing_list_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/3_stopped_purchase_packing_list_list.xml deleted file mode 100644 index 9f90fa4cb6..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/3_stopped_purchase_packing_list_list.xml +++ /dev/null @@ -1,97 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Purchase Packing List to Validate (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -purchase_packing_list_module/view?simulation_state=stopped&portal_type=Purchase+Packing+List&local_roles:list=Assignor&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>3_stopped_purchase_packing_list_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignor</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Purchase Packing List</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>stopped</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/4_draft_sale_packing_list_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/4_draft_sale_packing_list_list.xml deleted file mode 100644 index eceb03441a..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/4_draft_sale_packing_list_list.xml +++ /dev/null @@ -1,97 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Sale Packing List to Process (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -sale_packing_list_module/view?simulation_state=draft&portal_type=Sale+Packing+List&local_roles:list=Owner&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>4_draft_sale_packing_list_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Owner</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Sale Packing List</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>draft</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/5_confirmed_sale_packing_list_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/5_confirmed_sale_packing_list_list.xml deleted file mode 100644 index dc6aadfaf0..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/5_confirmed_sale_packing_list_list.xml +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Sale Packing List to Prepare (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -sale_packing_list_module/view?simulation_state=confirmed&portal_type=Sale+Packing+List&local_roles:list=Assignee&local_roles:list=Assignor&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>5_confirmed_sale_packing_list_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Sale Packing List</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>confirmed</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/6_ready_sale_packing_list_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/6_ready_sale_packing_list_list.xml deleted file mode 100644 index 8a379e8227..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/6_ready_sale_packing_list_list.xml +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Sale Packing List to Ship (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -sale_packing_list_module/view?simulation_state=ready&portal_type=Sale+Packing+List&local_roles:list=Assignee&local_roles:list=Assignor&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>6_ready_sale_packing_list_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Sale Packing List</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>ready</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/7_started_sale_packing_list_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/7_started_sale_packing_list_list.xml deleted file mode 100644 index f12dea0c65..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/7_started_sale_packing_list_list.xml +++ /dev/null @@ -1,97 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Sale Packing List to Validate (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -sale_packing_list_module/view?simulation_state=started&portal_type=Sale+Packing+List&local_roles:list=Assignor&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>7_started_sale_packing_list_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignor</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Sale Packing List</string> - </tuple> - </value> - </item> - <item> - <key> <string>simulation_state</string> </key> - <value> - <tuple> - <string>started</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/99a_diverged_sale_packing_list_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/99a_diverged_sale_packing_list_list.xml deleted file mode 100644 index 01d9edcea0..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/99a_diverged_sale_packing_list_list.xml +++ /dev/null @@ -1,97 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Sale Packing List to Solve (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -sale_packing_list_module/view?causality_state=diverged&portal_type=Sale+Packing+List&local_roles:list=Assignor&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>99a_diverged_sale_packing_list_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignor</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>causality_state</string> </key> - <value> - <tuple> - <string>diverged</string> - </tuple> - </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Sale Packing List</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/99b_diverged_purchase_packing_list.xml b/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/99b_diverged_purchase_packing_list.xml deleted file mode 100644 index 2b570c8103..0000000000 --- a/bt5/erp5_trade_simulation_legacy/WorkflowTemplateItem/portal_workflow/packing_list_workflow/worklists/99b_diverged_purchase_packing_list.xml +++ /dev/null @@ -1,97 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>global</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string>Purchase Packing List to Solve (%(count)s)</string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -purchase_packing_list_module/view?causality_state=diverged&portal_type=Purchase+Packing+List&local_roles:list=Assignor&reset=1 - -]]></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>99b_diverged_purchase_packing_list</string> </value> - </item> - <item> - <key> <string>var_matches</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="Guard" module="Products.DCWorkflow.Guard"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>roles</string> </key> - <value> - <tuple> - <string>Assignor</string> - </tuple> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="PersistentMapping" module="Persistence.mapping"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>causality_state</string> </key> - <value> - <tuple> - <string>diverged</string> - </tuple> - </value> - </item> - <item> - <key> <string>portal_type</string> </key> - <value> - <tuple> - <string>Purchase Packing List</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade_simulation_legacy/bt/copyright_list b/bt5/erp5_trade_simulation_legacy/bt/copyright_list deleted file mode 100644 index fe948b9fb7..0000000000 --- a/bt5/erp5_trade_simulation_legacy/bt/copyright_list +++ /dev/null @@ -1 +0,0 @@ -Copyright (c) 2010 Nexedi SA \ No newline at end of file diff --git a/bt5/erp5_trade_simulation_legacy/bt/dependency_list b/bt5/erp5_trade_simulation_legacy/bt/dependency_list deleted file mode 100644 index 0ece00cba9..0000000000 --- a/bt5/erp5_trade_simulation_legacy/bt/dependency_list +++ /dev/null @@ -1,2 +0,0 @@ -erp5_simulation_legacy -erp5_trade \ No newline at end of file diff --git a/bt5/erp5_trade_simulation_legacy/bt/license b/bt5/erp5_trade_simulation_legacy/bt/license deleted file mode 100644 index 3a3e12bcad..0000000000 --- a/bt5/erp5_trade_simulation_legacy/bt/license +++ /dev/null @@ -1 +0,0 @@ -GPL \ No newline at end of file diff --git a/bt5/erp5_trade_simulation_legacy/bt/revision b/bt5/erp5_trade_simulation_legacy/bt/revision deleted file mode 100644 index 9a037142aa..0000000000 --- a/bt5/erp5_trade_simulation_legacy/bt/revision +++ /dev/null @@ -1 +0,0 @@ -10 \ No newline at end of file diff --git a/bt5/erp5_trade_simulation_legacy/bt/template_action_path_list b/bt5/erp5_trade_simulation_legacy/bt/template_action_path_list deleted file mode 100644 index 60e9889249..0000000000 --- a/bt5/erp5_trade_simulation_legacy/bt/template_action_path_list +++ /dev/null @@ -1,9 +0,0 @@ -Business Path | profile -Business Path | view -Business Path | view_advanced -Business Process | view_supply_state_list -Business State | view -Delivery Rule | view -Order Rule | view -Purchase Order | view_trade_model_line_list -Sale Order | view_trade_model_line_list \ No newline at end of file diff --git a/bt5/erp5_trade_simulation_legacy/bt/template_format_version b/bt5/erp5_trade_simulation_legacy/bt/template_format_version deleted file mode 100644 index 56a6051ca2..0000000000 --- a/bt5/erp5_trade_simulation_legacy/bt/template_format_version +++ /dev/null @@ -1 +0,0 @@ -1 \ No newline at end of file diff --git a/bt5/erp5_trade_simulation_legacy/bt/template_path_list b/bt5/erp5_trade_simulation_legacy/bt/template_path_list deleted file mode 100644 index 96c370fccf..0000000000 --- a/bt5/erp5_trade_simulation_legacy/bt/template_path_list +++ /dev/null @@ -1,16 +0,0 @@ -portal_deliveries/internal_packing_list_builder -portal_deliveries/internal_packing_list_builder/** -portal_deliveries/purchase_packing_list_builder -portal_deliveries/purchase_packing_list_builder/** -portal_deliveries/sale_packing_list_builder -portal_deliveries/sale_packing_list_builder/** -portal_rules/default_delivery_root_simulation_rule -portal_rules/default_delivery_root_simulation_rule/** -portal_rules/default_delivery_rule -portal_rules/default_delivery_rule/** -portal_rules/default_delivery_simulation_rule -portal_rules/default_delivery_simulation_rule/** -portal_rules/default_order_root_simulation_rule -portal_rules/default_order_root_simulation_rule/** -portal_rules/default_order_rule -portal_rules/default_order_rule/** \ No newline at end of file diff --git a/bt5/erp5_trade_simulation_legacy/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_trade_simulation_legacy/bt/template_portal_type_allowed_content_type_list deleted file mode 100644 index 45661aa8a0..0000000000 --- a/bt5/erp5_trade_simulation_legacy/bt/template_portal_type_allowed_content_type_list +++ /dev/null @@ -1,26 +0,0 @@ -Business Process | Business Path -Business Process | Business State -Delivery Root Simulation Rule | Category Divergence Tester -Delivery Root Simulation Rule | Composed Divergence Tester -Delivery Root Simulation Rule | Property Divergence Tester -Delivery Root Simulation Rule | Quantity Divergence Tester -Delivery Rule | Category Divergence Tester -Delivery Rule | Composed Divergence Tester -Delivery Rule | Property Divergence Tester -Delivery Rule | Quantity Divergence Tester -Delivery Simulation Rule | Category Divergence Tester -Delivery Simulation Rule | Composed Divergence Tester -Delivery Simulation Rule | Property Divergence Tester -Delivery Simulation Rule | Quantity Divergence Tester -Order Root Simulation Rule | Category Divergence Tester -Order Root Simulation Rule | Composed Divergence Tester -Order Root Simulation Rule | Property Divergence Tester -Order Root Simulation Rule | Quantity Divergence Tester -Order Rule | Category Divergence Tester -Order Rule | Composed Divergence Tester -Order Rule | Property Divergence Tester -Order Rule | Quantity Divergence Tester -Purchase Order | Trade Model Line -Rule Tool | Delivery Rule -Rule Tool | Order Rule -Sale Order | Trade Model Line \ No newline at end of file diff --git a/bt5/erp5_trade_simulation_legacy/bt/template_portal_type_id_list b/bt5/erp5_trade_simulation_legacy/bt/template_portal_type_id_list deleted file mode 100644 index 80010301b9..0000000000 --- a/bt5/erp5_trade_simulation_legacy/bt/template_portal_type_id_list +++ /dev/null @@ -1,4 +0,0 @@ -Business Path -Business State -Delivery Rule -Order Rule \ No newline at end of file diff --git a/bt5/erp5_trade_simulation_legacy/bt/template_portal_type_property_sheet_list b/bt5/erp5_trade_simulation_legacy/bt/template_portal_type_property_sheet_list deleted file mode 100644 index dd47986947..0000000000 --- a/bt5/erp5_trade_simulation_legacy/bt/template_portal_type_property_sheet_list +++ /dev/null @@ -1 +0,0 @@ -Business Path | PaymentCondition \ No newline at end of file diff --git a/bt5/erp5_trade_simulation_legacy/bt/template_portal_type_workflow_chain_list b/bt5/erp5_trade_simulation_legacy/bt/template_portal_type_workflow_chain_list deleted file mode 100644 index 17035437a3..0000000000 --- a/bt5/erp5_trade_simulation_legacy/bt/template_portal_type_workflow_chain_list +++ /dev/null @@ -1,4 +0,0 @@ -Delivery Rule | edit_workflow -Delivery Rule | rule_validation_workflow -Order Rule | edit_workflow -Order Rule | rule_validation_workflow \ No newline at end of file diff --git a/bt5/erp5_trade_simulation_legacy/bt/template_skin_id_list b/bt5/erp5_trade_simulation_legacy/bt/template_skin_id_list deleted file mode 100644 index e4d67d2b23..0000000000 --- a/bt5/erp5_trade_simulation_legacy/bt/template_skin_id_list +++ /dev/null @@ -1 +0,0 @@ -erp5_trade_simulation_legacy \ No newline at end of file diff --git a/bt5/erp5_trade_simulation_legacy/bt/template_workflow_id_list b/bt5/erp5_trade_simulation_legacy/bt/template_workflow_id_list deleted file mode 100644 index ecb7794f4f..0000000000 --- a/bt5/erp5_trade_simulation_legacy/bt/template_workflow_id_list +++ /dev/null @@ -1,2 +0,0 @@ -order_workflow -packing_list_workflow \ No newline at end of file diff --git a/bt5/erp5_trade_simulation_legacy/bt/title b/bt5/erp5_trade_simulation_legacy/bt/title deleted file mode 100644 index e4d67d2b23..0000000000 --- a/bt5/erp5_trade_simulation_legacy/bt/title +++ /dev/null @@ -1 +0,0 @@ -erp5_trade_simulation_legacy \ No newline at end of file diff --git a/bt5/erp5_trade_simulation_legacy/bt/version b/bt5/erp5_trade_simulation_legacy/bt/version deleted file mode 100644 index ceab6e11ec..0000000000 --- a/bt5/erp5_trade_simulation_legacy/bt/version +++ /dev/null @@ -1 +0,0 @@ -0.1 \ No newline at end of file diff --git a/product/ERP5Legacy/Document/AccountingRuleCell.py b/product/ERP5Legacy/Document/AccountingRuleCell.py deleted file mode 100644 index 3ea90abe44..0000000000 --- a/product/ERP5Legacy/Document/AccountingRuleCell.py +++ /dev/null @@ -1,65 +0,0 @@ -############################################################################## -# -# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved. -# Jean-Paul Smets-Solanes <jp@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -#from Products.ERP5Type.Globals import InitializeClass, PersistentMapping -#from Products.CMFCore.utils import getToolByName -from AccessControl import ClassSecurityInfo -from Products.ERP5Type import Permissions, PropertySheet - -from Products.ERP5Type.Core.Predicate import Predicate -from Products.ERP5.Document.Invoice import Invoice - -class AccountingRuleCell(Predicate, Invoice): - """ -An AccountingRuleCell object allows to add SaleInvoiceTransactionLines into a Matrix - """ - - # Default Properties - property_sheets = ( PropertySheet.Base - , PropertySheet.XMLObject - , PropertySheet.CategoryCore - , PropertySheet.DublinCore - , PropertySheet.Delivery - , PropertySheet.Task - , PropertySheet.Arrow - , PropertySheet.Movement - , PropertySheet.Amount - , PropertySheet.Reference - , PropertySheet.PaymentCondition - , PropertySheet.Predicate - , PropertySheet.MappedValue - ) - - # CMF Type Definition - meta_type = 'ERP5 Accounting Rule Cell' - portal_type = 'Accounting Rule Cell' - add_permission = Permissions.AddPortalContent - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) diff --git a/product/ERP5Legacy/Document/BPMBuilder.py b/product/ERP5Legacy/Document/BPMBuilder.py deleted file mode 100644 index 23190e31f7..0000000000 --- a/product/ERP5Legacy/Document/BPMBuilder.py +++ /dev/null @@ -1,794 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved. -# Åukasz Nowak <luke@nexedi.com> -# -# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo -from Products.ERP5.Document.Alarm import Alarm -from Products.ERP5Type import Permissions, PropertySheet -from Products.ERP5.MovementGroup import MovementGroupNode -from Products.ERP5Type.TransactionalVariable import getTransactionalVariable -from Products.ERP5Type.CopySupport import CopyError, tryMethodCallWithTemporaryPermission -from Products.ERP5Type.UnrestrictedMethod import UnrestrictedMethod -from Products.ERP5.ExplanationCache import _getExplanationCache -from Acquisition import aq_parent, aq_inner - -class CollectError(Exception): pass -class MatrixError(Exception): pass -class DuplicatedPropertyDictKeysError(Exception): pass -class SelectMethodError(Exception): pass - -from zLOG import LOG - -class BPMBuilder(Alarm): - """Top class for builders. - XXX-JPS Wrong Naming - Abbreviation (BPM) - - WARNING: This is BPM evaluation of building approach. - WARNING: Do NOT use it in production environment. - - There are two types of builders - global safe and global unsafe. - - Global safe builders can be configured like alarms. - - Global unsafe builders have to be invoked by passing restrictive parameters - to them, so they cannot behave like alarms, they have to be invoked from - scripts. - - Global safe builders characteristics are described in erp5-Updated.Builder.Ideas - - Scripts assumptions: - - * simulation_select_method_id have to return non delivered movements - it - shall parse returned list to manually remove delivered movements - """ - - meta_type = 'ERP5 Builder' - portal_type = 'Builder' - security = ClassSecurityInfo() - - # Default Properties - property_sheets = ( PropertySheet.Base - , PropertySheet.XMLObject - , PropertySheet.CategoryCore - , PropertySheet.DublinCore - , PropertySheet.Arrow - , PropertySheet.Amount - , PropertySheet.Comment - , PropertySheet.DeliveryBuilder - , PropertySheet.Alarm - , PropertySheet.Periodicity - ) - - security.declareProtected(Permissions.View, 'build') - def build(self, tag=None, input_movement_list=None, - existing_delivery_list=None, select_method_dict=None, - explanation=None, business_link=None, **kwargs): - """Builds document according to self configuration mixed with passed parameters - - Selecting parameters (like input movement list) might be passed directly - to builder, but if not passed builder is able to find those values by - itself. - - select_method_dict - dictionary which will be passed to input movement - select method - """ - # XXX: TODO backward compatibility with old parameters - if select_method_dict is None: - select_method_dict = {} - # Call a script before building - self.callBeforeBuildingScript() - # Select movements - if input_movement_list is None: - if explanation is not None: - explanation_cache = _getExplanationCache(explanation) - path = explanation_cache.getSimulationPathPatternList() - else: - path = select_method_dict.get('path', None) - if business_link is not None: - causality_uid = business_link.getUid() - else: - causality_uid = select_method_dict.get('causality_uid', None) - select_method_dict.update(dict(causality_uid=causality_uid, path=path)) - if select_method_dict.get('causality_uid') is None: - business_link_value_list = self.getRelatedBusinessLinkValueList() - if len(business_link_value_list) > 0: - # use only Business Link related movements - select_method_dict['causality_uid'] = [q.getUid() for q in business_link_value_list] - # do search - LOG('select_method_dict', 0, repr(select_method_dict)) - input_movement_value_list = self.searchMovementList( - delivery_relative_url_list=existing_delivery_list, # XXX-JPS what is the purpose of existing_delivery_list - **select_method_dict) - LOG('input_movement_value_list', 0, repr(input_movement_value_list)) - else: - # movements were passed directly either by url or by value - if isinstance(input_movement_list[0], str): - input_movement_value_list = [self.unrestrictedTraverse(relative_url) for - relative_url in input_movement_list] - else: - input_movement_value_list = input_movement_list - - # Collect - root_group_node = self.collectMovement(input_movement_value_list) - # Build - delivery_value_list = self.buildDeliveryList( - root_group_node, - delivery_relative_url_list=existing_delivery_list, - movement_list=input_movement_value_list) - # Call a script after building - self.callAfterBuildingScript(delivery_value_list, - input_movement_value_list) - return delivery_value_list - - security.declareProtected(Permissions.View, 'activeSense') - def activeSense(self): - """Activate building, only one builder at time""" - self.setNextAlarmDate() - # A tag is provided as a parameter in order to be - # able to notify the user after all processes are ended - # Tag is generated from portal_ids so that it can be retrieved - # later when creating an active process for example - tag = str(self.portal_ids.generateNewId(id_generator='uid', id_group=self.getId())) - self.activate(tag=tag).build(tag=tag) - - if self.isAlarmNotificationMode(): - self.activate(after_tag=tag).notify(include_active=True) - - @UnrestrictedMethod - def searchMovementList(self, **kw): - """ - defines how to query all input movements which meet certain criteria - First, select movement matching to criteria define on Builder - """ - input_movement_value_list = [] - # We only search Simulation Movement - Luke do not know why... - kw['portal_type'] = 'Simulation Movement' # blah! - - method_id = self.getSimulationSelectMethodId() - if method_id: - select_method = getattr(self, method_id) - else: - select_method = self._getTypeBasedMethod('_selectDefaultMovement') - input_movement_value_list = select_method(**kw) - - movement_dict = {} - for movement in input_movement_value_list: - if not movement.isBuildable(): - raise ValueError('Movement %s is not buildable' % movement.getRelativeUrl()) - if movement_dict.has_key(movement): - # if duplicated - fail - raise SelectMethodError("%s repeated %s in list" % - (str(self.simulation_select_method_id), - str(movement.getRelativeUrl()))) - else: - movement_dict[movement] = 1 - - return input_movement_value_list - - def _setDeliveryMovementProperties(self, delivery_movement, - input_movement, property_dict, - update_existing_movement=0, - force_update=0, activate_kw=None): - """ - Initialize or update delivery movement properties. - Set delivery ratio on simulation movement. - """ - - """force_update is calculated in cryptic way - in new implementation we will be know if delivery is still modifiable by - builder or not - """ - if update_existing_movement == 1 and not force_update: -# # Important. -# # Attributes of object_to_update must not be modified here. -# # Because we can not change values that user modified. -# # Delivery will probably diverge now, but this is not the job of -# # DeliveryBuilder to resolve such problem. -# # Use Solver instead. - if getattr(input_movement, 'setDeliveryRatio', None) is not None: - input_movement.edit(delivery_ratio=0) - else: - # Update quantity on movement - # XXX hardcoded value - property_dict['quantity'] = delivery_movement.getQuantity() + \ - input_movement.getQuantity() # float point - property_dict['price'] = input_movement.getPrice() or 0.0 - delivery_movement_price = delivery_movement.getPrice() - if delivery_movement_price is not None: - # doSomethingWithPrice - this is only example - property_dict['price'] = (property_dict['price'] \ - + delivery_movement_price) / 2 - - # Update properties on object (quantity, price...) - delivery_movement._edit(force_update=1, **property_dict) - if getattr(input_movement, 'setDeliveryRatio', None) is not None: - if delivery_movement.getQuantity() in [0, 0.0, None]: - delivery_ratio = 1 - else: - delivery_ratio = input_movement.getQuantity() / delivery_movement \ - .getQuantity() # float point - input_movement.edit(delivery_ratio=delivery_ratio) - if getattr(input_movement,'setDeliveryValue', None) is not None: - input_movement.edit(delivery_value=delivery_movement, - activate_kw=activate_kw) - - def getRelatedBusinessLinkValueList(self): - return self.getDeliveryBuilderRelatedValueList( - portal_type='Business Link') + self.getOrderBuilderRelatedValueList( - portal_type='Business Link') - - def callBeforeBuildingScript(self): - """ - Call a script on the module, for example, to remove some - auto_planned Order. - This part can only be done with a script, because user may want - to keep existing auto_planned Order, and only update lines in - them. - No activities are used when deleting a object, so, current - implementation should be OK. - """ - delivery_module_before_building_script_id = \ - self.getDeliveryModuleBeforeBuildingScriptId() - if delivery_module_before_building_script_id not in ["", None]: - delivery_module = getattr(self.getPortalObject(), self.getDeliveryModule()) - getattr(delivery_module, delivery_module_before_building_script_id)() - - def collectMovement(self, movement_list): - """ - group movements in the way we want. Thanks to this method, we are able - to retrieve movement classed by order, resource, criterion,.... - movement_list : the list of movement wich we want to group - class_list : the list of classes used to group movements. The order - of the list is important and determines by what we will - group movement first - Typically, check_list is : - [DateMovementGroup,PathMovementGroup,...] - """ - movement_group_list = self.getMovementGroupList() - last_line_movement_group = self.getDeliveryMovementGroupList()[-1] - separate_method_name_list = self.getDeliveryCellSeparateOrderList([]) - root_group_node = MovementGroupNode( - separate_method_name_list=separate_method_name_list, - movement_group_list=movement_group_list, - last_line_movement_group=last_line_movement_group) - root_group_node.append(movement_list) - return root_group_node - - def _test(self, instance, movement_group_node_list, - divergence_list): - """XXX TODO docstring""" - result = True - new_property_dict = {} - for movement_group_node in movement_group_node_list: - tmp_result, tmp_property_dict = movement_group_node.test( - instance, divergence_list) - if not tmp_result: - result = tmp_result - new_property_dict.update(tmp_property_dict) - return result, new_property_dict - - def _findUpdatableObject(self, instance_list, movement_group_node_list, - divergence_list): - """XXX TODO docstring""" - instance = None - property_dict = {} - if not len(instance_list): - for movement_group_node in movement_group_node_list: - for k,v in movement_group_node.getGroupEditDict().iteritems(): - if k in property_dict: - raise DuplicatedPropertyDictKeysError(k) - else: - property_dict[k] = v - else: - # we want to check the original delivery first. - # so sort instance_list by that current is exists or not. - try: - current = movement_group_node_list[-1].getMovementList()[0].getDeliveryValue() - portal = self.getPortalObject() - while current != portal: - if current in instance_list: - instance_list.sort(key=lambda x: x != current and 1 or 0) - break - current = current.getParentValue() - except AttributeError: - pass - for instance_to_update in instance_list: - result, property_dict = self._test( - instance_to_update, movement_group_node_list, divergence_list) - if result == True: - instance = instance_to_update - break - return instance, property_dict - - @UnrestrictedMethod - def buildDeliveryList(self, movement_group_node, - delivery_relative_url_list=None, - movement_list=None, **kw): - """ - Build deliveries from a list of movements - """ - # Parameter initialization - if delivery_relative_url_list is None: - delivery_relative_url_list = [] - if movement_list is None: - movement_list = [] - # Module where we can create new deliveries - portal = self.getPortalObject() - delivery_module = getattr(portal, self.getDeliveryModule()) - delivery_to_update_list = [portal.restrictedTraverse(relative_url) for \ - relative_url in delivery_relative_url_list] - # Deliveries we are trying to update - delivery_select_method_id = self.getDeliverySelectMethodId() - if delivery_select_method_id not in ["", None]: - to_update_delivery_sql_list = getattr(self, delivery_select_method_id) \ - (movement_list=movement_list) - delivery_to_update_list.extend([sql_delivery.getObject() \ - for sql_delivery \ - in to_update_delivery_sql_list]) - # We do not want to update the same object more than twice in one - # _deliveryGroupProcessing(). - self._resetUpdated() - delivery_list = self._processDeliveryGroup( - delivery_module, - movement_group_node, - self.getDeliveryMovementGroupList(), - delivery_to_update_list=delivery_to_update_list, - **kw) - return delivery_list - - def _processDeliveryGroup(self, delivery_module, movement_group_node, - collect_order_list, movement_group_node_list=None, - delivery_to_update_list=None, - divergence_list=None, - activate_kw=None, force_update=0, **kw): - """ - Build delivery from a list of movement - """ - if movement_group_node_list is None: - movement_group_node_list = [] - if divergence_list is None: - divergence_list = [] - # do not use 'append' or '+=' because they are destructive. - movement_group_node_list = movement_group_node_list + [movement_group_node] - # Parameter initialization - if delivery_to_update_list is None: - delivery_to_update_list = [] - delivery_list = [] - - if len(collect_order_list): - # Get sorted movement for each delivery - for grouped_node in movement_group_node.getGroupList(): - new_delivery_list = self._processDeliveryGroup( - delivery_module, - grouped_node, - collect_order_list[1:], - movement_group_node_list=movement_group_node_list, - delivery_to_update_list=delivery_to_update_list, - divergence_list=divergence_list, - activate_kw=activate_kw, - force_update=force_update) - delivery_list.extend(new_delivery_list) - force_update = 0 - else: - # Test if we can update a existing delivery, or if we need to create - # a new one - delivery_to_update_list = [ - x for x in delivery_to_update_list \ - if x.getPortalType() == self.getDeliveryPortalType() and \ - not self._isUpdated(x, 'delivery')] - delivery, property_dict = self._findUpdatableObject( - delivery_to_update_list, movement_group_node_list, - divergence_list) - - # if all deliveries are rejected in case of update, we update the - # first one. - if force_update and delivery is None and len(delivery_to_update_list): - delivery = delivery_to_update_list[0] - - if delivery is None: - # Create delivery - try: - old_delivery = self._searchUpByPortalType( - movement_group_node.getMovementList()[0].getDeliveryValue(), - self.getDeliveryPortalType()) - except AttributeError: - old_delivery = None - if old_delivery is None: - # from scratch - new_delivery_id = str(delivery_module.generateNewId()) - delivery = delivery_module.newContent( - portal_type=self.getDeliveryPortalType(), - id=new_delivery_id, - created_by_builder=1, - activate_kw=activate_kw) - else: - # from duplicated original delivery - cp = tryMethodCallWithTemporaryPermission( - delivery_module, 'Copy or Move', - lambda parent, *ids: - parent._duplicate(parent.manage_copyObjects(ids=ids))[0], - (delivery_module, old_delivery.getId()), {}, CopyError) - delivery = delivery_module[cp['new_id']] - # delete non-split movements - keep_id_list = [y.getDeliveryValue().getId() for y in \ - movement_group_node.getMovementList()] - delete_id_list = [x.getId() for x in delivery.contentValues() \ - if x.getId() not in keep_id_list] - delivery.deleteContent(delete_id_list) - # Put properties on delivery - self._setUpdated(delivery, 'delivery') - if property_dict: - delivery.edit(**property_dict) - - # Then, create delivery line - for grouped_node in movement_group_node.getGroupList(): - self._processDeliveryLineGroup( - delivery, - grouped_node, - self.getDeliveryLineMovementGroupList()[1:], - divergence_list=divergence_list, - activate_kw=activate_kw, - force_update=force_update) - delivery_list.append(delivery) - return delivery_list - - def _processDeliveryLineGroup(self, delivery, movement_group_node, - collect_order_list, movement_group_node_list=None, - divergence_list=None, - activate_kw=None, force_update=0, **kw): - """ - Build delivery line from a list of movement on a delivery - """ - if movement_group_node_list is None: - movement_group_node_list = [] - if divergence_list is None: - divergence_list = [] - # do not use 'append' or '+=' because they are destructive. - movement_group_node_list = movement_group_node_list + [movement_group_node] - - if len(collect_order_list) and not movement_group_node.getCurrentMovementGroup().isBranch(): - # Get sorted movement for each delivery line - for grouped_node in movement_group_node.getGroupList(): - self._processDeliveryLineGroup( - delivery, - grouped_node, - collect_order_list[1:], - movement_group_node_list=movement_group_node_list, - divergence_list=divergence_list, - activate_kw=activate_kw, - force_update=force_update) - else: - # Test if we can update an existing line, or if we need to create a new - # one - delivery_line_to_update_list = [x for x in delivery.contentValues( - portal_type=self.getDeliveryLinePortalType()) if \ - not self._isUpdated(x, 'line')] - delivery_line, property_dict = self._findUpdatableObject( - delivery_line_to_update_list, movement_group_node_list, - divergence_list) - if delivery_line is not None: - update_existing_line = 1 - else: - # Create delivery line - update_existing_line = 0 - try: - old_delivery_line = self._searchUpByPortalType( - movement_group_node.getMovementList()[0].getDeliveryValue(), - self.getDeliveryLinePortalType()) - except AttributeError: - old_delivery_line = None - if old_delivery_line is None: - # from scratch - new_delivery_line_id = str(delivery.generateNewId()) - delivery_line = delivery.newContent( - portal_type=self.getDeliveryLinePortalType(), - id=new_delivery_line_id, - variation_category_list=[], - created_by_builder=1, - activate_kw=activate_kw) - else: - # from duplicated original line - cp = tryMethodCallWithTemporaryPermission( - delivery, 'Copy or Move', - lambda parent, *ids: - parent._duplicate(parent.manage_copyObjects(ids=ids))[0], - (delivery, old_delivery_line.getId()), {}, CopyError) - delivery_line = delivery[cp['new_id']] - # reset variation category list - delivery_line.setVariationCategoryList([]) - # delete non-split movements - keep_id_list = [y.getDeliveryValue().getId() for y in \ - movement_group_node.getMovementList()] - delete_id_list = [x.getId() for x in delivery_line.contentValues() \ - if x.getId() not in keep_id_list] - delivery_line.deleteContent(delete_id_list) - # Put properties on delivery line - self._setUpdated(delivery_line, 'line') - if property_dict: - delivery_line.edit(**property_dict) - - if movement_group_node.getCurrentMovementGroup().isBranch(): - for grouped_node in movement_group_node.getGroupList(): - self._processDeliveryLineGroup( - delivery_line, - grouped_node, - collect_order_list[1:], - movement_group_node_list=movement_group_node_list, - divergence_list=divergence_list, - activate_kw=activate_kw, - force_update=force_update) - return - - # Update variation category list on line - variation_category_dict = dict([(variation_category, True) for - variation_category in - delivery_line.getVariationCategoryList()]) - for movement in movement_group_node.getMovementList(): - for category in movement.getVariationCategoryList(): - variation_category_dict[category] = True - variation_category_list = sorted(variation_category_dict.keys()) - delivery_line.setVariationCategoryList(variation_category_list) - # Then, create delivery movement (delivery cell or complete delivery - # line) - grouped_node_list = movement_group_node.getGroupList() - # If no group is defined for cell, we need to continue, in order to - # save the quantity value - if len(grouped_node_list): - for grouped_node in grouped_node_list: - self._processDeliveryCellGroup( - delivery_line, - grouped_node, - self.getDeliveryCellMovementGroupList()[1:], - update_existing_line=update_existing_line, - divergence_list=divergence_list, - activate_kw=activate_kw, - force_update=force_update) - else: - self._processDeliveryCellGroup( - delivery_line, - movement_group_node, - [], - update_existing_line=update_existing_line, - divergence_list=divergence_list, - activate_kw=activate_kw, - force_update=force_update) - - - def _processDeliveryCellGroup(self, delivery_line, movement_group_node, - collect_order_list, movement_group_node_list=None, - update_existing_line=0, - divergence_list=None, - activate_kw=None, force_update=0): - """ - Build delivery cell from a list of movement on a delivery line - or complete delivery line - """ - if movement_group_node_list is None: - movement_group_node_list = [] - if divergence_list is None: - divergence_list = [] - # do not use 'append' or '+=' because they are destructive. - movement_group_node_list = movement_group_node_list + [movement_group_node] - - if len(collect_order_list): - # Get sorted movement for each delivery line - for grouped_node in movement_group_node.getGroupList(): - self._processDeliveryCellGroup( - delivery_line, - grouped_node, - collect_order_list[1:], - movement_group_node_list=movement_group_node_list, - update_existing_line=update_existing_line, - divergence_list=divergence_list, - activate_kw=activate_kw, - force_update=force_update) - else: - movement_list = movement_group_node.getMovementList() - if len(movement_list) != 1: - raise CollectError, "DeliveryBuilder: %s unable to distinct those\ - movements: %s" % (self.getId(), str(movement_list)) - else: - # XXX Hardcoded value - base_id = 'movement' - object_to_update = None - # We need to initialize the cell - update_existing_movement = 0 - movement = movement_list[0] - # decide if we create a cell or if we update the line - # Decision can only be made with line matrix range: - # because matrix range can be empty even if line variation category - # list is not empty - property_dict = {} - if len(delivery_line.getCellKeyList(base_id=base_id)) == 0: - # update line - if update_existing_line == 1: - if self._isUpdated(delivery_line, 'cell'): - object_to_update_list = [] - else: - object_to_update_list = [delivery_line] - else: - object_to_update_list = [] - object_to_update, property_dict = self._findUpdatableObject( - object_to_update_list, movement_group_node_list, - divergence_list) - if object_to_update is not None: - update_existing_movement = 1 - else: - object_to_update = delivery_line - else: - object_to_update_list = [ - delivery_line.getCell(base_id=base_id, *cell_key) for cell_key in \ - delivery_line.getCellKeyList(base_id=base_id) \ - if delivery_line.hasCell(base_id=base_id, *cell_key)] - object_to_update, property_dict = self._findUpdatableObject( - object_to_update_list, movement_group_node_list, - divergence_list) - if object_to_update is not None: - # We update a existing cell - # delivery_ratio of new related movement to this cell - # must be updated to 0. - update_existing_movement = 1 - - if object_to_update is None: - # create a new cell - cell_key = movement.getVariationCategoryList( - omit_optional_variation=1) - if not delivery_line.hasCell(base_id=base_id, *cell_key): - try: - old_cell = movement_group_node.getMovementList()[0].getDeliveryValue() - except AttributeError: - old_cell = None - if old_cell is None: - # from scratch - cell = delivery_line.newCell(base_id=base_id, \ - portal_type=self.getDeliveryCellPortalType(), - activate_kw=activate_kw,*cell_key) - else: - # from duplicated original line - cp = tryMethodCallWithTemporaryPermission( - delivery_line, 'Copy or Move', - lambda parent, *ids: - parent._duplicate(parent.manage_copyObjects(ids=ids))[0], - (delivery_line, old_cell.getId()), {}, CopyError) - cell = delivery_line[cp['new_id']] - - vcl = movement.getVariationCategoryList() - cell._edit(category_list=vcl, - # XXX hardcoded value - mapped_value_property_list=['quantity', 'price'], - membership_criterion_category_list=vcl, - membership_criterion_base_category_list=movement.\ - getVariationBaseCategoryList()) - object_to_update = cell - else: - raise MatrixError, 'Cell: %s already exists on %s' % \ - (str(cell_key), str(delivery_line)) - self._setUpdated(object_to_update, 'cell') - self._setDeliveryMovementProperties( - object_to_update, movement, property_dict, - update_existing_movement=update_existing_movement, - force_update=force_update, activate_kw=activate_kw) - - @UnrestrictedMethod - def callAfterBuildingScript(self, delivery_list, movement_list=None, **kw): - """ - Call script on each delivery built. - """ - if not len(delivery_list): - return - # Parameter initialization - if movement_list is None: - movement_list = [] - delivery_after_generation_script_id = \ - self.getDeliveryAfterGenerationScriptId() - related_simulation_movement_path_list = \ - [x.getPath() for x in movement_list] - if delivery_after_generation_script_id not in ["", None]: - for delivery in delivery_list: - script = getattr(delivery, delivery_after_generation_script_id) - # BBB: Only Python Scripts were used in the past, and they might not - # accept an arbitrary argument. So to keep compatibility, - # check if it can take the new parameter safely, only when - # the callable object is a Python Script. - safe_to_pass_parameter = True - meta_type = getattr(script, 'meta_type', None) - if meta_type == 'Script (Python)': - # check if the script accepts related_simulation_movement_path_list - safe_to_pass_parameter = False - for param in script.params().split(','): - param = param.split('=', 1)[0].strip() - if param == 'related_simulation_movement_path_list' \ - or param.startswith('**'): - safe_to_pass_parameter = True - break - - if safe_to_pass_parameter: - script(related_simulation_movement_path_list=related_simulation_movement_path_list) - else: - script() - - security.declareProtected(Permissions.AccessContentsInformation, - 'getMovementGroupList') - def getMovementGroupList(self, portal_type=None, collect_order_group=None, - **kw): - """ - Return a list of movement groups sorted by collect order group and index. - """ - category_index_dict = {} - for i in self.getPortalObject().portal_categories.collect_order_group.contentValues(): - category_index_dict[i.getId()] = i.getIntIndex() - - def sort_movement_group(a, b): - return cmp(category_index_dict.get(a.getCollectOrderGroup()), - category_index_dict.get(b.getCollectOrderGroup())) or \ - cmp(a.getIntIndex(), b.getIntIndex()) - if portal_type is None: - portal_type = self.getPortalMovementGroupTypeList() - movement_group_list = [x for x in self.contentValues(filter={'portal_type': portal_type}) \ - if collect_order_group is None or collect_order_group == x.getCollectOrderGroup()] - return sorted(movement_group_list, sort_movement_group) - - # XXX category name is hardcoded. - def getDeliveryMovementGroupList(self, **kw): - return self.getMovementGroupList(collect_order_group='delivery') - - # XXX category name is hardcoded. - def getDeliveryLineMovementGroupList(self, **kw): - return self.getMovementGroupList(collect_order_group='line') - - # XXX category name is hardcoded. - def getDeliveryCellMovementGroupList(self, **kw): - return self.getMovementGroupList(collect_order_group='cell') - - def _searchUpByPortalType(self, obj, portal_type): - limit_portal_type = self.getPortalObject().getPortalType() - while obj is not None: - obj_portal_type = obj.getPortalType() - if obj_portal_type == portal_type: - break - elif obj_portal_type == limit_portal_type: - obj = None - break - else: - obj = aq_parent(aq_inner(obj)) - return obj - - def _isUpdated(self, obj, level): - tv = getTransactionalVariable() - return level in tv['builder_processed_list'].get(obj, []) - - def _setUpdated(self, obj, level): - tv = getTransactionalVariable() - if tv.get('builder_processed_list', None) is None: - self._resetUpdated() - tv['builder_processed_list'][obj] = \ - tv['builder_processed_list'].get(obj, []) + [level] - - def _resetUpdated(self): - tv = getTransactionalVariable() - tv['builder_processed_list'] = {} diff --git a/product/ERP5Legacy/Document/BusinessPath.py b/product/ERP5Legacy/Document/BusinessPath.py deleted file mode 100644 index f981d6791d..0000000000 --- a/product/ERP5Legacy/Document/BusinessPath.py +++ /dev/null @@ -1,885 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved. -# Jean-Paul Smets-Solanes <jp@nexedi.com> -# Yusuke Muraoka <yusuke@nexedi.com> -# Åukasz Nowak <luke@nexedi.com> -# -# 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 advised 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo - -from Products.ERP5Type import Permissions, PropertySheet, interfaces -from Products.ERP5.Document.Path import Path -from Products.ERP5.Document.Amount import Amount - -import zope.interface - -class BusinessPath(Path, Amount): - """ - The BusinessPath class embeds all information related to - lead times and parties involved at a given phase of a business - process. - - BusinessPath are also used as helper to build deliveries from - buildable movements. - - The idea is to invoke isBuildable() on the collected simulation - movements (which are orphan) during build "after select" process - - Here is the typical code of an alarm in charge of the building process:: - - builder = portal_deliveries.a_delivery_builder - for business_path in builder.getDeliveryBuilderRelatedValueList(): - builder.build(causality_uid=business_path.getUid(),) # Select movements - - Pros: global select is possible by not providing a causality_uid - Cons: global select retrieves long lists of orphan movements which - are not yet buildable - the build process could be rather slow or require activities - - TODO: - - merge build implementation from erp5_bpm business template to ERP5 - product code with backward compatibility - """ - meta_type = 'ERP5 Business Path' - portal_type = 'Business Path' - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - # Declarative properties - property_sheets = ( PropertySheet.Base - , PropertySheet.XMLObject - , PropertySheet.CategoryCore - , PropertySheet.DublinCore - , PropertySheet.Folder - , PropertySheet.Comment - , PropertySheet.Arrow - , PropertySheet.Chain - , PropertySheet.SortIndex - , PropertySheet.BusinessPath - , PropertySheet.Reference - ) - - - # IArrowBase implementation - security.declareProtected(Permissions.AccessContentsInformation, - 'getSourceArrowBaseCategoryList') - def getSourceArrowBaseCategoryList(self): - """ - Returns all categories which are used to define the source - of this Arrow - """ - # Naive implementation - we must use category groups instead - XXX - return ('source', - 'source_account', - 'source_administration', - #'source_advice', - #'source_carrier', - #'source_decision', - 'source_function', - 'source_payment', - 'source_project', - #'source_referral', - 'source_section', - #'source_trade', - #'source_transport' - ) - - security.declareProtected(Permissions.AccessContentsInformation, - 'getDestinationArrowBaseCategoryList') - def getDestinationArrowBaseCategoryList(self): - """ - Returns all categories which are used to define the destination - of this Arrow - """ - # Naive implementation - we must use category groups instead - XXX - return ('destination', - 'destination_account', - 'destination_administration', - #'destination_advice', - #'destination_carrier', - #'destination_decision', - 'destination_function', - 'destination_payment', - 'destination_project', - #'destination_referral', - 'destination_section', - #'destination_trade', - #'destination_transport' - ) - - security.declareProtected(Permissions.AccessContentsInformation, - 'getArrowCategoryDict') - def getArrowCategoryDict(self, context=None, **kw): - result = {} - dynamic_category_list = self._getDynamicCategoryList(context) - for base_category in self.getSourceArrowBaseCategoryList() +\ - self.getDestinationArrowBaseCategoryList(): - category_url_list = Path._getAcquiredCategoryMembershipList( - self, base_category, **kw) - if len(category_url_list) == 0 and context is not None: - category_url_list = self._filterCategoryList(dynamic_category_list, - base_category, **kw) - if len(category_url_list) > 0: - result[base_category] = category_url_list - return result - - # ICategoryAccessProvider overridden methods - def _getCategoryMembershipList(self, category, **kw): - """ - Overridden in order to take into account dynamic arrow categories in case if no static - categories are set on Business Path - """ - context = kw.pop('context', None) - result = Path._getCategoryMembershipList(self, category, **kw) - if len(result) > 0: - return result - if context is not None: - dynamic_category_list = self._getDynamicCategoryList(context) - dynamic_category_list = self._filterCategoryList(dynamic_category_list, category, **kw) - result = dynamic_category_list - return result - - def _getAcquiredCategoryMembershipList(self, category, **kw): - """ - Overridden in order to take into account dynamic arrow categories in case if no static - categories are set on Business Path - """ - context = kw.pop('context', None) - result = Path._getAcquiredCategoryMembershipList(self, category, **kw) - if len(result) > 0: - return result - if context is not None: - dynamic_category_list = self._getDynamicCategoryList(context) - dynamic_category_list = self._filterCategoryList(dynamic_category_list, category, **kw) - result = dynamic_category_list - return result - - def _filterCategoryList(self, category_list, category, spec=(), - filter=None, portal_type=(), base=0, - keep_default=1, checked_permission=None): - """ - XXX - implementation missing - TBD - look at CategoryTool._buildFilter for inspiration - """ - # basic filtering: - # * remove categories which base name is not category - # * respect base parameter - prefix = category + '/' - start_index = not base and len(prefix) or 0 - return [category[start_index:] - for category in category_list - if category.startswith(prefix)] - - # Dynamic context based categories - def _getDynamicCategoryList(self, context): - return self._getDynamicSourceCategoryList(context) \ - + self._getDynamicDestinationCategoryList(context) - - def _getDynamicSourceCategoryList(self, context): - method_id = self.getSourceMethodId() - if method_id: - method = getattr(self, method_id) - return method(context) - return [] - - def _getDynamicDestinationCategoryList(self, context): - method_id = self.getDestinationMethodId() - if method_id: - method = getattr(self, method_id) - return method(context) - return [] - - # IBusinessBuildable implementation - def isBuildable(self, explanation): - """ - """ - if self.isCompleted(explanation) or self.isFrozen(explanation): - return False # No need to build what was already built or frozen - - # check if there is at least one simulation movement which is not - # delivered - for simulation_movement in self.getRelatedSimulationMovementValueList( - explanation): - if simulation_movement.getDeliveryValue() is None: - break - else: - # if all simulation movements are delivered, we can bail out - return False - - predecessor = self.getPredecessorValue() - if predecessor is None: - return True - # XXX FIXME TODO - # For now isPartiallyCompleted is used, as it was - # assumed to not implement isPartiallyBuildable, so in reality - # isBuildable is implemented like isPartiallyBuildable - # - # But in some cases it might be needed to implement - # isPartiallyBuildable, than isCompleted have to be used here - # - # Such cases are Business Processes using sequence not related - # to simulation tree with much of compensations - return predecessor.isPartiallyCompleted(explanation) - - def isPartiallyBuildable(self, explanation): - """ - Not sure if this will exist some day XXX - """ - - def _getExplanationUidList(self, explanation): - """Helper method to fetch really explanation related movements""" - explanation_uid_list = [explanation.getUid()] - # XXX: getCausalityRelatedValueList is oversimplification, assumes - # that documents are sequenced like simulation movements, which - # is wrong - for found_explanation in explanation.getCausalityRelatedValueList( - portal_type=self.getPortalDeliveryTypeList()) + \ - explanation.getCausalityValueList(): - explanation_uid_list.extend(self._getExplanationUidList( - found_explanation)) - return explanation_uid_list - - def build(self, explanation): - """ - Build - """ - builder_list = self.getDeliveryBuilderValueList() # Missing method - for builder in builder_list: - # chosen a way that builder is good enough to decide to select movements - # which shall be really build (movement selection for build is builder - # job, not business path job) - builder.build(select_method_dict={ - 'causality_uid': self.getUid(), - 'explanation_uid': self._getExplanationUidList(explanation) - }) - - # IBusinessCompletable implementation - security.declareProtected(Permissions.AccessContentsInformation, - 'isCompleted') - def isCompleted(self, explanation): - """ - Looks at all simulation related movements - and checks the simulation_state of the delivery - """ - acceptable_state_list = self.getCompletedStateList() - for movement in self.getRelatedSimulationMovementValueList(explanation): - if movement.getSimulationState() not in acceptable_state_list: - return False - return True - - security.declareProtected(Permissions.AccessContentsInformation, - 'isPartiallyCompleted') - def isPartiallyCompleted(self, explanation): - """ - Looks at all simulation related movements - and checks the simulation_state of the delivery - """ - acceptable_state_list = self.getCompletedStateList() - for movement in self.getRelatedSimulationMovementValueList(explanation): - if movement.getSimulationState() in acceptable_state_list: - return True - return False - - security.declareProtected(Permissions.AccessContentsInformation, - 'isFrozen') - def isFrozen(self, explanation): - """ - Looks at all simulation related movements - and checks if frozen - """ - movement_list = self.getRelatedSimulationMovementValueList(explanation) - if len(movement_list) == 0: - return False # Nothing to be considered as Frozen - for movement in movement_list: - if not movement.isFrozen(): - return False - return True - - def _recurseGetValueList(self, document, portal_type): - """Helper method to recurse documents as deep as possible and returns - list of document values matching portal_type""" - return_list = [] - for subdocument in document.contentValues(): - if subdocument.getPortalType() == portal_type: - return_list.append(subdocument) - return_list.extend(self._recurseGetValueList(subdocument, portal_type)) - return return_list - - def isMovementRelatedWithMovement(self, movement_value_a, movement_value_b): - """Checks if self is parent or children to movement_value - - This logic is Business Process specific for Simulation Movements, as - sequence of Business Process is not related appearance of Simulation Tree - - movement_value_a, movement_value_b - movements to check relation between - """ - movement_a_path = '%s/' % movement_value_a.getRelativeUrl() - movement_b_path = '%s/' % movement_value_b.getRelativeUrl() - - if movement_a_path == movement_b_path or \ - movement_a_path.startswith(movement_b_path) or \ - movement_b_path.startswith(movement_a_path): - return True - return False - - def _isDeliverySimulationMovementRelated(self, simulation_movement, - delivery_simulation_movement_list): - """Helper method, which checks if simulation_movement is BPM like related - with delivery""" - for delivery_simulation_movement in delivery_simulation_movement_list: - if self.isMovementRelatedWithMovement(delivery_simulation_movement, - simulation_movement): - return True - return False - - # IBusinessPath implementation - security.declareProtected(Permissions.AccessContentsInformation, - 'getRelatedSimulationMovementValueList') - def getRelatedSimulationMovementValueList(self, explanation): - """ - Returns recursively all Simulation Movements indirectly related to explanation and self - - As business sequence is not related to simulation tree need to built - full simulation trees per applied rule - """ - portal_catalog = self.getPortalObject().portal_catalog - - delivery_simulation_movement_list = portal_catalog( - delivery_uid=[x.getUid() for x in explanation.getMovementList()]) - - related_list = self.getBusinessPathClosure(delivery_simulation_movement_list) - - self_url = self.getRelativeUrl() - return [m for m in related_list if m.getCausality() == self_url] - - def getBusinessPathClosure(self, movement_list): - """ - Returns a list of Simulation Movement that are related to - movement_list. - "related" means that each of the returned Movement - will be an ancestor or a descendant of a movement in movement_list - - Formally, this method returns all Simulation Movements in: - ancestors(movement_list) U descendants(movement_list) - """ - # We need to find all ancestors of movement_list, as well as all - # of its descendants. - # When A is an ancestor of B we have: - # ancestors(B) > ancestors(A) and - # and - # descendants(A) > descendants(B) - # In this sense it only makes sense to compute descendants of A - # and ancestors of B. - # - # To do this we construct a tree of all (physical) paths leading - # to each movement in movement_list. This tree can be seen - # as a subtree of the whole Simulation Tree, or as a coloration - # of the Simulation Tree. - # Then, for each tree leaf, if that leaf has an non-root ancestor, - # we remove the leaf and only keep the ancestor: - # Because of the above properties, - # closure({leaf, ancestor}) == closure({ancestor}) - # which ensures that at the end of the coloration, - # closure(colored_tree) == closure(movement_list) - colored_tree_dict = dict() - - leaf_marker = object() - for simulation_movement in movement_list: - # remove portal_simulation from the path - component_list = simulation_movement.getRelativeUrl().split("/")[1:] - - cur = colored_tree_dict - for component in component_list[:-1]: - cur = cur.setdefault(component, {}) - if cur == leaf_marker: - # an ancestor of simulation_movement was colored before - break - else: - # note that we remove possibly-colored-before descendants - cur[component_list[-1]] = leaf_marker - - related_list = [] - def closure(root, path_item_tree): - """ - recursive helper filling related_list with: - nodes(tree) U descendants(leafs(tree)) - - root is a zodb object where the path_item_tree should be rooted. - """ - for k, v in path_item_tree.iteritems(): - cur = root[k] - # XXX maybe using parity Applied Rule / Simulation Movement is enough? - if cur.getPortalType() == 'Simulation Movement': - related_list.append(cur) - if v == leaf_marker: - related_list.extend(self._recurseGetValueList(cur, 'Simulation Movement')) - else: - closure(cur, v) - closure(self.getPortalObject().portal_simulation, colored_tree_dict) - return related_list - - def getExpectedQuantity(self, explanation, *args, **kwargs): - """ - Returns the expected stop date for this - path based on the explanation. - - XXX predecessor_quantity argument is required? - """ - if self.getQuantity(): - return self.getQuantity() - elif self.getEfficiency(): - return explanation.getQuantity() * self.getEfficiency() - else: - return explanation.getQuantity() - - def getExpectedStartDate(self, explanation, predecessor_date=None, *args, **kwargs): - """ - Returns the expected start date for this - path based on the explanation. - - predecessor_date -- if provided, computes the date base on the - date value provided - """ - return self._getExpectedDate(explanation, - self._getRootExplanationExpectedStartDate, - self._getPredecessorExpectedStartDate, - self._getSuccessorExpectedStartDate, - predecessor_date=predecessor_date, - *args, **kwargs) - - def _getRootExplanationExpectedStartDate(self, explanation, *args, **kwargs): - if self.getParentValue().isStartDateReferential(): - return explanation.getStartDate() - else: - expected_date = self.getExpectedStopDate(explanation, *args, **kwargs) - if expected_date is not None: - return expected_date - self.getLeadTime() - - def _getPredecessorExpectedStartDate(self, explanation, predecessor_date=None, *args, **kwargs): - if predecessor_date is None: - node = self.getPredecessorValue() - if node is not None: - predecessor_date = node.getExpectedCompletionDate(explanation, *args, **kwargs) - if predecessor_date is not None: - return predecessor_date + self.getWaitTime() - - def _getSuccessorExpectedStartDate(self, explanation, *args, **kwargs): - node = self.getSuccessorValue() - if node is not None: - expected_date = node.getExpectedBeginningDate(explanation, *args, **kwargs) - if expected_date is not None: - return expected_date - self.getLeadTime() - - def getExpectedStopDate(self, explanation, predecessor_date=None, *args, **kwargs): - """ - Returns the expected stop date for this - path based on the explanation. - - predecessor_date -- if provided, computes the date base on the - date value provided - """ - return self._getExpectedDate(explanation, - self._getRootExplanationExpectedStopDate, - self._getPredecessorExpectedStopDate, - self._getSuccessorExpectedStopDate, - predecessor_date=predecessor_date, - *args, **kwargs) - - def _getRootExplanationExpectedStopDate(self, explanation, *args, **kwargs): - if self.getParentValue().isStopDateReferential(): - return explanation.getStopDate() - else: - expected_date = self.getExpectedStartDate(explanation, *args, **kwargs) - if expected_date is not None: - return expected_date + self.getLeadTime() - - def _getPredecessorExpectedStopDate(self, explanation, *args, **kwargs): - node = self.getPredecessorValue() - if node is not None: - expected_date = node.getExpectedCompletionDate(explanation, *args, **kwargs) - if expected_date is not None: - return expected_date + self.getWaitTime() + self.getLeadTime() - - def _getSuccessorExpectedStopDate(self, explanation, *args, **kwargs): - node = self.getSuccessorValue() - if node is not None: - return node.getExpectedBeginningDate(explanation, *args, **kwargs) - - def _getExpectedDate(self, explanation, root_explanation_method, - predecessor_method, successor_method, - visited=None, *args, **kwargs): - """ - Returns the expected stop date for this - path based on the explanation. - - root_explanation_method -- used when the path is root explanation - predecessor_method --- used to get expected date of side of predecessor - successor_method --- used to get expected date of side of successor - visited -- only used to prevent infinite recursion internally - """ - if visited is None: - visited = [] - - # mark the path as visited - if self not in visited: - visited.append(self) - - if self.isDeliverable(): - return root_explanation_method( - explanation, visited=visited, *args, **kwargs) - - predecessor_expected_date = predecessor_method( - explanation, visited=visited, *args, **kwargs) - - successor_expected_date = successor_method( - explanation, visited=visited, *args, **kwargs) - - if successor_expected_date is not None or \ - predecessor_expected_date is not None: - # return minimum expected date but it is not None - if successor_expected_date is None: - return predecessor_expected_date - elif predecessor_expected_date is None: - return successor_expected_date - else: - if predecessor_expected_date < successor_expected_date: - return predecessor_expected_date - else: - return successor_expected_date - - security.declareProtected(Permissions.AccessContentsInformation, - 'getBuildableMovementList') - def getBuildableMovementList(self, **sql_kw): - """ - Query catalog to find a list of movements related to this Business Path. - - Filter the results to return only Buildable Movements - - To specialize your builder, you can pass along SQL keywords - in sql_kw, for instance: - search_kw = {} - search_kw['movement.quantity'] = {'query':0, 'range':'neq'} - search_kw['movement.price'] = {'query':0, 'range':'neq'} - sql_kw = portal_catalog.buildSQLQuery(**search_kw) - """ - predecessor_state = self.getPredecessorValue() - if predecessor_state is None: - predecessor_uid_list = [] - else: - predecessor_list = predecessor_state.getSuccessorRelatedValueList() - predecessor_uid_list = [x.getUid() for x in predecessor_list] - all_movement_list = self.BusinessPath_zSelectBuildableMovementList( - business_path_uid=self.getUid(), - predecessor_uid_list=predecessor_uid_list, - **sql_kw) - - # select method should return only non-delivered movements, but - # maybe movements have been built in the meantime & catalog wasnt updated? - non_delivered_movement_list = filter(lambda x:x.getDeliveryValue() is None, - all_movement_list) - - return self.filterBuildableMovementList(non_delivered_movement_list) - - security.declareProtected(Permissions.AccessContentsInformation, - 'filterBuildableMovementList') - def filterBuildableMovementList(self, non_delivered_movement_list): - """ - Given a list of non delivered movements that all have "self" as - a causality value, return the ones that are buildables - - This is computed efficiently: movements are first separated into - distinct closures, and then filtering is made on each closure. - """ - predecessor_state = self.getPredecessorValue() - if predecessor_state is None: - # first Path in Process, all movements can be built - return non_delivered_movement_list - - predecessor_to_state_dict = {} - for pred in predecessor_state.getSuccessorRelatedValueList(): - predecessor_to_state_dict[pred] = frozenset(pred.getCompletedStateList()) - - root_dict = {} - # classify movements according to Root Applied Rules so we can look at - # them closure per closure - for movement in non_delivered_movement_list: - root_dict.setdefault(movement.getRootAppliedRule(), []).append(movement) - - result = [] - # for each root applied rule, get buildable Movements - for root_rule, movement_list in root_dict.iteritems(): - result.extend(self._filterBuildableInSameClosure(movement_list, - predecessor_to_state_dict)) - return result - - - - def _filterBuildableInSameClosure(self, movement_list, predecessor_to_state_dict): - """ - Return the buildable movements in movement_list. - - It is about finding in the tree the movements that have causalities in - predecessor_to_state_dict keys. - - Three main steps to find those movements, executed in least expensive - to most expensive order, hoping that step n allows us to return early - without having to execute n+1: - - look at ancestors of movement_list - - query catalog for descendants of movement_list, hoping that - it would be recent enough to list them all - - manually walk descendants of movement_list in ZODB - """ - buildable_list = [] - - # track relations within movement_list if any - # movement->(set of descendants in movement_list) - descendant_dict = {} - - # contains a movement -> (dict of predecessors that we still havent met) - # only contains the movements that have not proved to be unbuildable until - # now. - movement_looking_for_dict = {} - - def isBuiltAndCompleted(simulation, path): - return simulation.getDeliveryValue() is not None and \ - simulation.getSimulationState() in predecessor_to_state_dict[path] - - ### Step 1: - ## Explore ancestors - # - - for movement in movement_list: - # set of predecessors - looking_for = set(predecessor_to_state_dict) - current = movement.getParentValue() - - maybeBuildable = True - - # visit all parents until Root Applied Rule - while looking_for and maybeBuildable: - portal_type = current.getPortalType() - if portal_type == "Simulation Movement": - # exploring ancestors is a great way to initialize - # descendant_dict, while we're at it. - if current in movement_looking_for_dict: - descendant_dict.setdefault(current, set()).add(movement) - - path = current.getCausalityValue() - if path in looking_for: - looking_for.remove(path) - if not isBuiltAndCompleted(current, path): - maybeBuildable = False - - elif portal_type != "Applied Rule": - break - # XXX or maybe directly go up by two levels? - current = current.getParentValue() - - if maybeBuildable: - if not looking_for: - buildable_list.append(movement) - else: - movement_looking_for_dict[movement] = looking_for - - # Maybe we're lucky, and we've found all predecessors of all - # movements. - # We can thus return the buildable ones and we're done. - if not movement_looking_for_dict: - return buildable_list - - def updateDescendantDictAndReturnSmallestAncestorSet(): - """ - Remove from descendant_dict the movements that are not - buildable. - - Returns the smallest set of ancestors A that satisfies: - - A <= movement_looking_for_dict.keys() - - descendants(A) = descendants(movement_looking_for_dict.keys()) - (a.k.a. for any ai, aj in A, ai is not a descendant or an ancestor - of aj) - """ - movement_to_query = set(movement_looking_for_dict) - - if descendant_dict: - # remove movements that have been eliminated - for k, v in descendant_dict.items(): - if k not in movement_looking_for_dict: - del descendant_dict[k] - else: - v.intersection_update(movement_looking_for_dict) - - movement_to_query.difference_update(v) - return movement_to_query - - movement_to_query = updateDescendantDictAndReturnSmallestAncestorSet() - - ### Step 2: - ## Try catalog to find descendant movements, knowing - # that it can be incomplete - - class treeNode(dict): - """ - Used to cache accesses to ZODB objects. - The idea is to put in visited_movement_dict the objects we've already - loaded from ZODB to avoid loading them again. - - - self represents a single ZODB container c - - self.visited_movement_dict contains an id->(ZODB obj) cache for - subobjects of c - - self[id] contains the treeNode representing c[id] - """ - def __init__(self): - dict.__init__(self) - self.visited_movement_dict = dict() - - path_tree = treeNode() - - def updateTree(simulation_movement, path): - """ - Mark simulation_movement as visited in the Tree - - Returns the list of movements in movement_looking_for_dict that - are ancestors of simulation_movement - """ - traversed = [] - - tree_node = path_tree - movement_path = simulation_movement.getPhysicalPath() - simulation_movement_id = movement_path[-1] - # find container - for path_id in movement_path[:-1]: - # mark traversed movements that are in movement_looking_for_dict - mvmt, ignored = tree_node.visited_movement_dict.get(path_id, (None, None)) - if mvmt is not None and mvmt in movement_looking_for_dict: - traversed.append(mvmt) - - tree_node = tree_node.setdefault(path_id, treeNode()) - - # and mark the object as visited - tree_node.visited_movement_dict[simulation_movement_id] = (simulation_movement, path) - return traversed - - # initialization - for movement in movement_looking_for_dict: - updateTree(movement, None) - - portal_catalog = self.getPortalObject().portal_catalog - catalog_simulation_movement_list = portal_catalog( - portal_type='Simulation Movement', - causality_uid=[p.getUid() for p in predecessor_to_state_dict], - path=['%s/%%' % m.getPath() for m in movement_to_query]) - - unbuildable = set() - for movement in catalog_simulation_movement_list: - path = movement.getCausalityValue() - traversed = updateTree(movement, path) - if not isBuiltAndCompleted(movement, path): - unbuildable.update(traversed) - - if len(unbuildable) == len(movement_looking_for_dict): - # the sets are equals - return buildable_list - - for m in unbuildable: - del movement_looking_for_dict[m] - - ### Step 3: - ## We had no luck, we have to explore descendant movements in ZODB - # - - def findInTree(movement): - # descend in the tree to find self: - tree_node = path_tree - for path_id in movement.getPhysicalPath(): - tree_node = tree_node.get(path_id, treeNode()) - return tree_node - - def descendantGenerator(document, tree_node, path_set_to_check): - """ - generator yielding Simulation Movement descendants of document. - It does _not_ explore the whole subtree if iteration is stopped. - - It uses the tree we built previously to avoid loading again ZODB - objects that we already loaded during catalog querying - - path_set_to_check contains a set of Business Paths that we are - interested in. A branch is only explored if this set is not - empty; a movement is only yielded if its causality value is in this set - """ - object_id_list = document.objectIds() - for id in object_id_list: - if id not in tree_node.visited_movement_dict: - # we had not visited it in step #2 - subdocument = document._getOb(id) - if subdocument.getPortalType() == "Simulation Movement": - path = subdocument.getCausalityValue() - t = (subdocument, path) - tree_node.visited_movement_dict[id] = t - if path in path_set_to_check: - yield t - else: - # it must be an Applied Rule - subtree = tree_node.get(id, treeNode()) - for d in descendantGenerator(subdocument, - subtree, - path_set_to_check): - yield d - - for id, t in tree_node.visited_movement_dict.iteritems(): - subdocument, path = t - if path is None: - # happens for movement in movement_list - continue - to_check = path_set_to_check - # do we need to change/copy the set? - if path in to_check: - if len(to_check) == 1: - # no more paths to check in this branch - continue - to_check = to_check.copy() - to_check.remove(path) - subtree = tree_node.get(id, treeNode()) - for d in descendantGenerator(subdocument, subtree, to_check): - yield d - - - for movement in updateDescendantDictAndReturnSmallestAncestorSet(): - tree_node = findInTree(movement) - remaining_path_set = movement_looking_for_dict[movement] - # find descendants - for descendant, path in descendantGenerator(self, - tree_node, - remaining_path_set): - if not isBuiltAndCompleted(descendant, path): - break - else: - buildable_list.append(movement) - buildable_list.extend(descendant_dict.get(movement, [])) - - return buildable_list diff --git a/product/ERP5Legacy/Document/BusinessState.py b/product/ERP5Legacy/Document/BusinessState.py deleted file mode 100644 index ac227e6673..0000000000 --- a/product/ERP5Legacy/Document/BusinessState.py +++ /dev/null @@ -1,189 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved. -# Jean-Paul Smets-Solanes <jp@nexedi.com> -# Yusuke Muraoka <yusuke@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo - -from Products.ERP5Type import Permissions, PropertySheet, interfaces -from Products.ERP5Type.XMLObject import XMLObject - -import zope.interface - -class BusinessState(XMLObject): - """ - The BusinessState class defines the various states in - a Business Process. It defines the synchronisation milestones - between movements related to the trade phases of business. - """ - meta_type = 'ERP5 Business State' - portal_type = 'Business State' - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - # Declarative properties - property_sheets = ( PropertySheet.Base - , PropertySheet.XMLObject - , PropertySheet.CategoryCore - , PropertySheet.DublinCore - , PropertySheet.Folder - , PropertySheet.Comment - , PropertySheet.SortIndex - ) - - # Declarative interfaces - zope.interface.implements( - ) - - # IBusinessCompletable implementation - def isCompleted(self, explanation): - """ - If all path which reach this state are completed - then this state is completed - """ - for path in self.getSuccessorRelatedValueList(): - if not path.isCompleted(explanation): - return False - return True - - - def isPartiallyCompleted(self, explanation): - """ - If all path which reach this state are partially completed - then this state is completed - """ - for path in self.getSuccessorRelatedValueList(): - if not path.isPartiallyCompleted(explanation): - return False - return True - - # IBusinessCompletable - duration calculation - def getExpectedCompletionDate(self, explanation, *args, **kwargs): - """ - Returns the expected completion date for this - state based on the explanation. - - explanation -- the document - """ - # Should be re-calculated? - if 'predecessor_date' in kwargs: - del kwargs['predecessor_date'] - date_list = self._getExpectedDateList(explanation, - self.getSuccessorRelatedValueList(), - self._getExpectedCompletionDate, - *args, - **kwargs) - if len(date_list) > 0: - return min(date_list) - - def _getExpectedCompletionDate(self, path, *args, **kwargs): - return path.getExpectedStopDate(*args, **kwargs) - - def getExpectedBeginningDate(self, explanation, *args, **kwargs): - """ - Returns the expected beginning date for this - state based on the explanation. - - explanation -- the document - """ - # Should be re-calculated? - if 'predecessor_date' in kwargs: - del kwargs['predecessor_date'] - date_list = self._getExpectedDateList(explanation, - self.getPredecessorRelatedValueList(), - self._getExpectedBeginningDate, - *args, - **kwargs) - if len(date_list) > 0: - return min(date_list) - - def _getExpectedBeginningDate(self, path, *args, **kwargs): - expected_date = path.getExpectedStartDate(*args, **kwargs) - if expected_date is not None: - return expected_date - path.getWaitTime() - - def _getExpectedDateList(self, explanation, path_list, path_method, - visited=None, *args, **kwargs): - """ - getExpected(Beginning/Completion)Date are same structure - expected date of each path should be returned. - - explanation -- the document - path_list -- list of target business path - path_method -- used to get expected date on each path - visited -- only used to prevent infinite recursion internally - """ - if visited is None: - visited = [] - - expected_date_list = [] - for path in path_list: - # filter paths without path of root explanation - if path not in visited or path.isDeliverable(): - expected_date = path_method(path, explanation, visited=visited, *args, **kwargs) - if expected_date is not None: - expected_date_list.append(expected_date) - - return expected_date_list - - def getExpectedCompletionDuration(self, explanation): - """ - Returns the expected completion duration for this - state. - """ - - def getRemainingTradePhaseList(self, explanation, trade_phase_list=None): - """ - Returns the list of remaining trade phase for this - state based on the explanation. - - trade_phase_list -- if provide, the result is filtered by it after collected - """ - remaining_trade_phase_list = [] - for path in self.getPredecessorRelatedValueList(): - # XXX When no simulations related to path, what should path.isCompleted return? - # if True we don't have way to add remaining trade phases to new movement - if not (path.getRelatedSimulationMovementValueList(explanation) and - path.isCompleted(explanation)): - remaining_trade_phase_list += path.getTradePhaseValueList() - - # collect to successor direction recursively - state = path.getSuccessorValue() - if state is not None: - remaining_trade_phase_list.extend( - state.getRemainingTradePhaseList(explanation, None)) - - # filter just at once if given - if trade_phase_list is not None: - remaining_trade_phase_list = filter( - lambda x : x.getLogicalPath() in trade_phase_list, - remaining_trade_phase_list) - - return remaining_trade_phase_list diff --git a/product/ERP5Legacy/Document/CategoryDivergenceTester.py b/product/ERP5Legacy/Document/CategoryDivergenceTester.py deleted file mode 100644 index e621794aed..0000000000 --- a/product/ERP5Legacy/Document/CategoryDivergenceTester.py +++ /dev/null @@ -1,127 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################# -# -# Copyright (c) 2006-2008 Nexedi SA and Contributors. All Rights Reserved. -# Rafael Monnerat <rafael@nexedi.com> -# -# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import zope.interface -from AccessControl import ClassSecurityInfo - -from Products.ERP5Type.DivergenceMessage import DivergenceMessage -from Products.ERP5Type import Permissions, PropertySheet, interfaces -from Products.ERP5Legacy.Document.PropertyDivergenceTester import \ - PropertyDivergenceTester - -class CategoryDivergenceTester(PropertyDivergenceTester): - """ - The purpose of this divergence tester is to check the - consistency between delivery movement and simulation movement - for some specific categories. - """ - meta_type = 'ERP5 Category Divergence Tester' - portal_type = 'Category Divergence Tester' - add_permission = Permissions.AddPortalContent - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - # Declarative interfaces - zope.interface.implements( interfaces.IDivergenceTester, ) - - # Declarative properties - property_sheets = ( PropertySheet.Base - , PropertySheet.XMLObject - , PropertySheet.CategoryCore - , PropertySheet.DublinCore - , PropertySheet.DivergenceTester - , PropertySheet.SolverSelection - ) - - def explain(self, simulation_movement): - """ - This method returns a list of messages that contains - the divergence of the Delivery Line. - """ - divergence_message_list = [] - tested_property = self.getTestedPropertyList() - - delivery_mvt = simulation_movement.getDeliveryValue() - delivery_mvt_getProperty = delivery_mvt.getProperty - simulation_movement_getProperty = simulation_movement.getMappedProperty - for tested_property_id, tested_property_title in \ - self._splitStringList(tested_property): - if not tested_property_id.endswith('_list'): - list_prop = '%s_list' % tested_property_id - else: - list_prop = tested_property_id - message = None - delivery_mvt_category_list = delivery_mvt_getProperty(list_prop) - simulation_category_list = simulation_movement_getProperty(list_prop) - - if delivery_mvt_category_list is None: - delivery_mvt_category_list = [] - if simulation_category_list is None: - simulation_category_list = [] - - # XXX Don't we need to check the order too ? - delivery_mvt_category_list.sort() - simulation_category_list.sort() - - if delivery_mvt_category_list != simulation_category_list: - delivery_mvt_category_title_list = [] - for mvt_category in delivery_mvt_category_list: - category_value = delivery_mvt.resolveCategory(mvt_category) - if category_value is not None: - if category_value.getPortalType() == 'Category': - delivery_mvt_category_title_list.append(category_value.getTranslatedTitle()) - else: - delivery_mvt_category_title_list.append(category_value.getTitle()) - - simulation_category_title_list = [] - for mvt_category in simulation_category_list: - category_value = delivery_mvt.resolveCategory(mvt_category) - if category_value is not None: - if category_value.getPortalType() == 'Category': - simulation_category_title_list.append(category_value.getTranslatedTitle()) - else: - simulation_category_title_list.append(category_value.getTitle()) - - message = DivergenceMessage( - divergence_scope='category', - object_relative_url=delivery_mvt.getRelativeUrl(), - simulation_movement=simulation_movement, - decision_value=delivery_mvt_category_list, - prevision_value=simulation_category_list, - decision_title=', '.join(delivery_mvt_category_title_list), - prevision_title=', '.join(simulation_category_title_list), - tested_property=tested_property_id, - message=tested_property_title, - ) - - divergence_message_list.append(message) - - return divergence_message_list diff --git a/product/ERP5Legacy/Document/ComposedDivergenceTester.py b/product/ERP5Legacy/Document/ComposedDivergenceTester.py deleted file mode 100644 index 7f865bc9b1..0000000000 --- a/product/ERP5Legacy/Document/ComposedDivergenceTester.py +++ /dev/null @@ -1,79 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# 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.XMLObject import XMLObject -from Products.ERP5Type import Permissions, PropertySheet - -class ComposedDivergenceTester(XMLObject): - """ - The purpose of this divergence tester is to group several testes to - make a tester atomic per a target solver. - """ - meta_type = 'ERP5 Composed Divergence Tester' - portal_type = 'Composed Divergence Tester' - add_permission = Permissions.AddPortalContent - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - # Declarative properties - property_sheets = ( PropertySheet.Base - , PropertySheet.XMLObject - , PropertySheet.CategoryCore - , PropertySheet.DublinCore - , PropertySheet.DivergenceTester - , PropertySheet.SolverSelection - ) - - def test(self, simulation_movement): - """ - If one of inside testers says divergent, then this method returns - False, otherwise it returns True. - """ - for tester in self.objectValues(): - if not tester.test(simulation_movement): - return False - return True - - def explain(self, simulation_movement): - """ - Returns a list of messages which come from inside testers. - """ - message_list = [] - for tester in self.objectValues(): - message = tester.explain(simulation_movement) - message_list.extend(message) - return message_list - - def getTestedPropertyList(self, default=None): - """ - Returns all tested properties in inside testers. - """ - return sum([x.getTestedPropertyList() for x in self.objectValues()], []) diff --git a/product/ERP5Legacy/Document/DeliveryBuilder.py b/product/ERP5Legacy/Document/DeliveryBuilder.py deleted file mode 100644 index 7f6279f652..0000000000 --- a/product/ERP5Legacy/Document/DeliveryBuilder.py +++ /dev/null @@ -1,426 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2005-2008 Nexedi SA and Contributors. All Rights Reserved. -# Romain Courteaud <romain@nexedi.com> -# -# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo -from Products.ERP5Type import Permissions, PropertySheet -from Products.ERP5Legacy.OrderBuilder import OrderBuilder, SelectMethodError -from Products.ERP5Type.UnrestrictedMethod import UnrestrictedMethod -from Products.ERP5Type.CopySupport import CopyError, tryMethodCallWithTemporaryPermission - -class DeliveryBuilder(OrderBuilder): - """ - Delivery Builder objects allow to gather multiple Simulation Movements - into a single Delivery. - - The initial quantity property of the Delivery Line is calculated by - summing quantities of related Simulation Movements. - - Delivery Builders are called for example whenever an order is confirmed. - They are also called globaly in order to gather any confirmed or above - Simulation Movement which was not associated to any Delivery Line. - Such movements are called orphaned Simulation Movements. - - Delivery Builder objects are provided with a set a parameters to achieve - their goal: - - A path definition: source, destination, etc. which defines the general - kind of movements it applies. - - simulation_select_method which defines how to query all Simulation - Movements which meet certain criteria (including the above path path - definition). - - collect_order_list which defines how to group selected movements - according to gathering rules. - - delivery_select_method which defines how to select existing Delivery - which may eventually be updated with selected simulation movements. - - delivery_module, delivery_type and delivery_line_type which define the - module and portal types for newly built Deliveries and Delivery Lines. - - Delivery Builders can also be provided with optional parameters to - restrict selection to a given root Applied Rule caused by a single Order - or to Simulation Movements related to a limited set of existing - Deliveries. - """ - - # CMF Type Definition - meta_type = 'ERP5 Delivery Builder' - portal_type = 'Delivery Builder' - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - # Default Properties - property_sheets = ( PropertySheet.Base - , PropertySheet.XMLObject - , PropertySheet.CategoryCore - , PropertySheet.DublinCore - , PropertySheet.Arrow - , PropertySheet.Amount - , PropertySheet.Comment - , PropertySheet.DeliveryBuilder - ) - - def callBeforeBuildingScript(self): # XXX-JPS - """ - Redefine this method, because it seems nothing interesting can be - done before building Delivery. - """ - pass - - @UnrestrictedMethod - def searchMovementList(self, applied_rule_uid=None, **kw): - """ - defines how to query all Simulation Movements which meet certain criteria - (including the above path path definition). - - First, select movement matching to criteria define on DeliveryBuilder - Then, call script simulation_select_method to restrict movement_list - """ - # We only search Simulation Movement - kw['portal_type'] = 'Simulation Movement' - # Search only child movement from this applied rule - if applied_rule_uid is not None: - kw['parent_uid'] = applied_rule_uid - # XXX Add profile query - # Add resource query - portal_type = self.getResourcePortalType() - if portal_type: - kw['resource_portal_type'] = portal_type - # XXX Add predicate test - return [movement for movement in self._searchMovementList(**kw) - if not movement.getDelivery()] - - def _setDeliveryMovementProperties(self, delivery_movement, - simulation_movement, property_dict, - update_existing_movement=0, - force_update=0, activate_kw=None): - """ - Initialize or update delivery movement properties. - Set delivery ratio on simulation movement. - Create the relation between simulation movement - and delivery movement. - """ - OrderBuilder._setDeliveryMovementProperties( - self, delivery_movement, - simulation_movement, property_dict, - update_existing_movement=update_existing_movement, - force_update=force_update, - activate_kw=activate_kw) - - if update_existing_movement and not force_update: - # Important. - # Attributes of delivery_movement must not be modified here. - # Because we can not change values modified by the user. - # Delivery will probably diverge now, but this is not the job of - # DeliveryBuilder to resolve such problem. - # Use Solver instead. - simulation_movement.edit(delivery_ratio=0) - else: - simulation_movement.edit(delivery_ratio=1) - - simulation_movement.edit(delivery_value=delivery_movement, - activate_kw=activate_kw) - - # Simulation consistency propagation - security.declareProtected(Permissions.ModifyPortalContent, - 'updateFromSimulation') - def updateFromSimulation(self, delivery_relative_url, **kw): - """ - Update all lines of this transaction based on movements in the - simulation related to this transaction. - """ - # We have to get a delivery, else, raise a Error - delivery = self.getPortalObject().restrictedTraverse(delivery_relative_url) - - divergence_to_adopt_list = delivery.getDivergenceList() - return self.solveDivergence( - delivery_relative_url, - divergence_to_adopt_list=divergence_to_adopt_list) - - @UnrestrictedMethod - def solveDeliveryGroupDivergence(self, delivery_relative_url, - property_dict=None): - """ - solve each divergence according to users decision (accept, adopt - or do nothing). - """ - if property_dict in (None, {}): - return - delivery = self.getPortalObject().restrictedTraverse(delivery_relative_url) - for (property, value) in property_dict.iteritems(): - delivery.setPropertyList(property, value) - - # Try to remove existing properties/categories from Movements that - # should exist on Deliveries. - for movement in delivery.getMovementList(): - for prop in property_dict.keys(): - # XXX The following should be implemented in better way. - if movement.hasProperty(prop): - try: - # for Property - movement._delProperty(prop) - except AttributeError: - # for Category - movement.setProperty(prop, None) - - divergence_to_accept_list = [] - for divergence in delivery.getDivergenceList(): - if divergence.getProperty('tested_property') not in property_dict.keys(): - continue - divergence_to_accept_list.append(divergence) - self._solveDivergence(delivery_relative_url, - divergence_to_accept_list=divergence_to_accept_list) - - def _solveDivergence(self, delivery_relative_url, # XXX-JPS what is this doing here ????? - divergence_to_accept_list=None, - divergence_to_adopt_list=None, - **kw): - """ - solve each divergence according to users decision (accept, adopt - or do nothing). - """ - # We have to get a delivery, else, raise a Error - delivery = self.getPortalObject().restrictedTraverse(delivery_relative_url) - - if divergence_to_accept_list is None: - divergence_to_accept_list = [] - if divergence_to_adopt_list is None: - divergence_to_adopt_list = [] - - if not len(divergence_to_accept_list) and \ - not len(divergence_to_adopt_list): - return - divergence_list = delivery.getDivergenceList() - - # First, we update simulation movements according to - # divergence_to_accept_list. - if len(divergence_to_accept_list): - solver_script = delivery._getTypeBasedMethod('acceptDecision', - 'Delivery_acceptDecision') - solver_script(divergence_to_accept_list) - - # Then, we update delivery/line/cell from simulation movements - # according to divergence_to_adopt_list. - if not len(divergence_to_adopt_list): - return - - # Select - movement_type_list = (self.getDeliveryLinePortalType(), - self.getDeliveryCellPortalType()) - movement_list = delivery.getMovementList(portal_type=movement_type_list) - simulation_movement_list = [] - for movement in movement_list: - movement.edit(quantity=0) - for simulation_movement in movement.getDeliveryRelatedValueList( - portal_type="Simulation Movement"): - simulation_movement_list.append(simulation_movement) - - # Collect - root_group_node = self.collectMovement(simulation_movement_list) - - # Build - portal = self.getPortalObject() - delivery_module = getattr(portal, self.getDeliveryModule()) - delivery_to_update_list = [delivery] - delivery_list = self._processDeliveryGroup( - delivery_module, - root_group_node, - self.getDeliveryMovementGroupList(), - delivery_to_update_list=delivery_to_update_list, - divergence_list=divergence_to_adopt_list, - force_update=1) - - # Then, we should re-apply quantity divergence according to 'Do - # nothing' quanity divergence list because all quantity are already - # calculated in adopt prevision phase. - quantity_dict = {} - for divergence in divergence_list: - if divergence.getProperty('divergence_scope') != 'quantity' or \ - divergence in divergence_to_accept_list or \ - divergence in divergence_to_adopt_list: - continue - s_m = divergence.getProperty('simulation_movement') - delivery_movement = s_m.getDeliveryValue() - quantity_gap = divergence.getProperty('decision_value') - \ - divergence.getProperty('prevision_value') - delivery_movement.setQuantity(delivery_movement.getQuantity() + \ - quantity_gap) - quantity_dict[s_m] = \ - divergence.getProperty('decision_value') - - # Finally, recalculate delivery_ratio - # - # Here, created/updated movements are not indexed yet. So we try to - # gather delivery relations from simulation movements. - delivery_dict = {} - for s_m in simulation_movement_list: - delivery_path = s_m.getDelivery() - delivery_dict[delivery_path] = \ - delivery_dict.get(delivery_path, []) + \ - [s_m] - - for s_m_list_per_movement in delivery_dict.values(): - total_quantity = sum([quantity_dict.get(s_m, - s_m.getMappedProperty('quantity')) \ - for s_m in s_m_list_per_movement]) - if total_quantity != 0.0: - for s_m in s_m_list_per_movement: - delivery_ratio = quantity_dict.get(s_m, - s_m.getMappedProperty('quantity')) \ - / total_quantity - s_m.edit(delivery_ratio=delivery_ratio) - else: - for s_m in s_m_list_per_movement: - delivery_ratio = 1.0 / len(s_m_list_per_movement) - s_m.edit(delivery_ratio=delivery_ratio) - - # Call afterscript if new deliveries are created - new_delivery_list = [x for x in delivery_list if x != delivery] - self.callAfterBuildingScript(new_delivery_list, simulation_movement_list) - - return delivery_list - - solveDivergence = UnrestrictedMethod(_solveDivergence) - - def _createDelivery(self, delivery_module, movement_list, activate_kw): - """ - Refer to the docstring in OrderBuilder. - Unlike OrderBuilder, DeliveryBuilder needs to respect - existing relationship. - """ - try: - old_delivery = self._searchUpByPortalType( - movement_list[0].getDeliveryValue(), - self.getDeliveryPortalType()) - except AttributeError: - old_delivery = None - if old_delivery is None: - # from scratch - new_delivery_id = str(delivery_module.generateNewId()) - delivery = delivery_module.newContent( - portal_type=self.getDeliveryPortalType(), - id=new_delivery_id, - created_by_builder=1, - activate_kw=activate_kw) - else: - # from duplicated original delivery - cp = tryMethodCallWithTemporaryPermission( - delivery_module, 'Copy or Move', - lambda parent, *ids: - parent._duplicate(parent.manage_copyObjects(ids=ids))[0], - (delivery_module, old_delivery.getId()), {}, CopyError) - delivery = delivery_module[cp['new_id']] - # delete non-split movements - keep_id_list = [y.getDeliveryValue().getId() for y in movement_list] - delete_id_list = [x.getId() for x in delivery.contentValues() \ - if x.getId() not in keep_id_list] - delivery.deleteContent(delete_id_list) - if activate_kw: - # XXX _duplicate does not accept activate_kw. So reindex the new - # delivery again with activate_kw. - delivery.reindexObject(activate_kw=activate_kw) - - return delivery - - def _createDeliveryLine(self, delivery, movement_list, activate_kw): - """ - Refer to the docstring in OrderBuilder. - Unlike OrderBuilder, DeliveryBuilder needs to respect - existing relationship. - """ - try: - old_delivery_line = self._searchUpByPortalType( - movement_list[0].getDeliveryValue(), - self.getDeliveryLinePortalType()) - except AttributeError: - old_delivery_line = None - if old_delivery_line is None: - # from scratch - new_delivery_line_id = str(delivery.generateNewId()) - delivery_line = delivery.newContent( - portal_type=self.getDeliveryLinePortalType(), - id=new_delivery_line_id, - variation_category_list=[], - activate_kw=activate_kw) - else: - # from duplicated original line - cp = tryMethodCallWithTemporaryPermission( - delivery, 'Copy or Move', - lambda parent, *ids: - parent._duplicate(parent.manage_copyObjects(ids=ids))[0], - (delivery, old_delivery_line.getId()), {}, CopyError) - delivery_line = delivery[cp['new_id']] - # reset variation category list - delivery_line.setVariationCategoryList([]) - # delete non-split movements - keep_id_list = [y.getDeliveryValue().getId() for y in movement_list] - delete_id_list = [x.getId() for x in delivery_line.contentValues() \ - if x.getId() not in keep_id_list] - delivery_line.deleteContent(delete_id_list) - if activate_kw: - # XXX _duplicate does not accept activate_kw. So reindex the new - # delivery line again with activate_kw. - delivery_line.reindexObject(activate_kw=activate_kw) - - return delivery_line - - def _createDeliveryCell(self, delivery_line, movement, activate_kw, - base_id, cell_key): - """ - Refer to the docstring in OrderBuilder. - Unlike OrderBuilder, DeliveryBuilder needs to respect - existing relationship. - """ - try: - old_cell = movement.getDeliveryValue() - except AttributeError: - old_cell = None - if old_cell is None: - # from scratch - cell = delivery_line.newCell(base_id=base_id, \ - portal_type=self.getDeliveryCellPortalType(), - activate_kw=activate_kw,*cell_key) - else: - # from duplicated original line - cp = tryMethodCallWithTemporaryPermission( - delivery_line, 'Copy or Move', - lambda parent, *ids: - parent._duplicate(parent.manage_copyObjects(ids=ids))[0], - (delivery_line, old_cell.getId()), {}, CopyError) - cell = delivery_line[cp['new_id']] - if activate_kw: - # XXX _duplicate does not accept activate_kw. So reindex the new - # cell again with activate_kw. - cell.reindexObject(activate_kw=activate_kw) - - return cell diff --git a/product/ERP5Legacy/Document/DeliveryRule.py b/product/ERP5Legacy/Document/DeliveryRule.py deleted file mode 100644 index a69b59eadf..0000000000 --- a/product/ERP5Legacy/Document/DeliveryRule.py +++ /dev/null @@ -1,175 +0,0 @@ -############################################################################## -# -# Copyright (c) 2002 - 2009 Nexedi SA and Contributors. All Rights Reserved. -# Jean-Paul Smets-Solanes <jp@nexedi.com> -# Romain Courteaud <romain@nexedi.com> -# -# 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 advised 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo -from Products.ERP5Type import Permissions -from Products.ERP5Legacy.Document.Rule import Rule -from zLOG import LOG, WARNING - -class DeliveryRule(Rule): - """ - Delivery Rule object make sure orphaned movements in a Delivery - (ie. movements which have no explanation in terms of order) - are part of the simulation process - """ - - # CMF Type Definition - meta_type = 'ERP5 Delivery Rule' - portal_type = 'Delivery Rule' - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - # Simulation workflow - security.declareProtected(Permissions.ModifyPortalContent, 'expand') - def expand(self, applied_rule, delivery_movement_type_list=None, **kw): - """ - Expands the additional Delivery movements to a new simulation tree. - Expand is only allowed to create or modify simulation movements for - delivery lines which are not already linked to another simulation - movement. - - If the movement is not in current state, has no delivered child, and not - in delivery movements, it can be deleted. - Else if the movement is not in current state, it can be modified. - Else, it cannot be modified. - """ - return Rule._expand(self, applied_rule, **kw) - - security.declareProtected(Permissions.ModifyPortalContent, 'solve') - def solve(self, applied_rule, solution_list): - """ - Solve inconsistency according to a certain number of solutions - templates. This updates the - - -> new status -> solved - - This applies a solution to an applied rule. Once - the solution is applied, the parent movement is checked. - If it does not diverge, the rule is reexpanded. If not, - diverge is called on the parent movement. - """ - - security.declareProtected(Permissions.ModifyPortalContent, 'diverge') - def diverge(self, applied_rule): - """ - -> new status -> diverged - - This basically sets the rule to "diverged" - and blocks expansion process - """ - - # Solvers - security.declareProtected(Permissions.AccessContentsInformation, 'isStable') - def isStable(self, applied_rule): - """ - Checks that the applied_rule is stable - """ - return 0 - - # Deliverability / orderability - def isOrderable(self, movement): - return 1 - - def isDeliverable(self, movement): - if movement.getSimulationState() in movement.getPortalDraftOrderStateList(): - return 0 - return 1 - - security.declareProtected(Permissions.AccessContentsInformation, - 'getExpandablePropertyList') - def getExpandablePropertyList(self, default=None): - """ - Return a list of properties used in expand. - """ - property_list = self._baseGetExpandablePropertyList() - # For backward compatibility, we keep for some time the list - # of hardcoded properties. Theses properties should now be - # defined on the rule itself - if len(property_list) == 0: - LOG("Delivery Rule , getExpandablePropertyList", WARNING, - "Hardcoded properties set, please define your rule correctly") - property_list = ( - 'aggregate_list', - 'base_application_list', - 'base_contribution_list', - 'description', - 'destination', - 'destination_account', - 'destination_administration', - 'destination_decision', - 'destination_function', - 'destination_payment', - 'destination_project', - 'destination_section', - 'price', - 'price_currency', - 'quantity', - 'quantity_unit', - 'resource', - 'source', - 'source_account', - 'source_administration', - 'source_decision', - 'source_function', - 'source_payment', - 'source_project', - 'source_section', - 'start_date', - 'stop_date', - 'variation_category_list', - 'variation_property_dict', - ) - return property_list - - def _getExpandablePropertyUpdateDict(self, applied_rule, movement, - business_path, current_property_dict): - """Delivery specific update dict""" - # 'order' category is deprecated. it is kept for compatibility. - return { - 'order': movement.getRelativeUrl(), - 'delivery': movement.getRelativeUrl(), - } - - security.declareProtected(Permissions.AccessContentsInformation, - 'getMatchingPropertyList') - def getMatchingPropertyList(self, default=None): - """ - Return a list of properties used in expand. - """ - property_list = self._baseGetMatchingPropertyList() - # For backward compatibility, we keep for some time the list - # of hardcoded properties. Theses properties should now be - # defined on the rule itself - if len(property_list) == 0: - LOG("Delivery Rule , getMatchingPropertyList", WARNING, - "Hardcoded properties set, please define your rule correctly") - property_list=['delivery',] - return property_list diff --git a/product/ERP5Legacy/Document/InvoiceRule.py b/product/ERP5Legacy/Document/InvoiceRule.py deleted file mode 100644 index a14c251685..0000000000 --- a/product/ERP5Legacy/Document/InvoiceRule.py +++ /dev/null @@ -1,60 +0,0 @@ -############################################################################## -# -# Copyright (c) 2002-2005 Nexedi SARL and Contributors. All Rights Reserved. -# Jean-Paul Smets-Solanes <jp@nexedi.com> -# Romain Courteaud <romain@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo -from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces -from Products.ERP5Legacy.Document.Rule import Rule -from Products.ERP5Legacy.Document.DeliveryRule import DeliveryRule - -from zLOG import LOG - -class InvoiceRule(DeliveryRule): - """ - InvoiceRule and DeliveryRule seems to be identical. - Keep it for compatibility only. - """ - - # CMF Type Definition - meta_type = 'ERP5 Invoice Rule' - portal_type = 'Invoice Rule' - add_permission = Permissions.AddPortalContent - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - security.declareProtected(Permissions.AccessContentsInformation, - 'isAccountable') - def isAccountable(self, movement): - """Tells wether generated movement needs to be accounted or not. - - Invoice movement are never accountable, so simulation movement for - invoice movements should not be accountable either. - """ - return 0 diff --git a/product/ERP5Legacy/Document/InvoiceTransactionRule.py b/product/ERP5Legacy/Document/InvoiceTransactionRule.py deleted file mode 100644 index bb95f24738..0000000000 --- a/product/ERP5Legacy/Document/InvoiceTransactionRule.py +++ /dev/null @@ -1,284 +0,0 @@ -############################################################################## -# -# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved. -# Jean-Paul Smets-Solanes <jp@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo -from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces -from Products.ERP5Legacy.Document.Rule import Rule -from Products.ERP5.Document.PredicateMatrix import PredicateMatrix - -from zLOG import LOG, BLATHER, INFO, PROBLEM, WARNING - -class InvoiceTransactionRule(Rule, PredicateMatrix): - """ - Invoice Transaction 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 Rule' - portal_type = 'Invoice Transaction Rule' - add_permission = Permissions.AddPortalContent - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - -#### Helper method for expand - def _generatePrevisionList(self, applied_rule, **kw): - """ - Generate a list of movements, that should be children of this rule, - based on its context (parent movement, delivery, configuration ...) - - These previsions are actually returned as dictionaries. - """ - input_movement, business_path = self._getInputMovementAndPathTupleList( - applied_rule)[0] - prevision_list = [] - - # Find a matching cell - cell = self._getMatchingCell(input_movement) - - if cell is not None : # else, we do nothing - for accounting_rule_cell_line in cell.objectValues() : - # get the resource (in that order): - # * resource from the invoice (using deliveryValue) - # * price_currency from the invoice - # * price_currency from the parents simulation movement's - # deliveryValue - # * price_currency from the top level simulation movement's - # orderValue - resource = None - invoice_line = input_movement.getDeliveryValue() - if invoice_line is not None : - invoice = invoice_line.getExplanationValue() - resource = invoice.getProperty('resource', - invoice.getProperty('price_currency', None)) - if resource is None : - # search the resource on parents simulation movement's deliveries - simulation_movement = applied_rule.getParentValue() - portal_simulation = self.getPortalObject().portal_simulation - while resource is None and \ - simulation_movement != portal_simulation : - delivery = simulation_movement.getDeliveryValue() - if delivery is not None: - resource = delivery.getProperty('price_currency', None) - # 'order' category is deprecated. it is kept for compatibility. - if (resource is None) and \ - (simulation_movement.getParentValue().getParentValue() \ - == portal_simulation) : - # we are on the first simulation movement, we'll try - # to get the resource from it's order price currency. - order = simulation_movement.getOrderValue() - if order is not None: - resource = order.getProperty('price_currency', None) - simulation_movement = simulation_movement\ - .getParentValue().getParentValue() - if resource is None : - # last resort : get the resource from the rule - resource = accounting_rule_cell_line.getResource() \ - or cell.getResource() - prevision_line = {} - prevision_line.update(**self._getExpandablePropertyDict(applied_rule, - input_movement, business_path)) - - prevision_line.update( - source = accounting_rule_cell_line.getSource(), - destination = accounting_rule_cell_line.getDestination(), - quantity = (input_movement.getCorrectedQuantity() * - input_movement.getPrice(0.0)) * - accounting_rule_cell_line.getQuantity(), - resource = resource, - price = 1, - ) - if resource is not None: - #set asset_price on movement when resource is different from price - #currency of the source/destination section - destination_exchange_ratio, precision = self \ - ._getCurrencyRatioAndPrecisionByArrow( - 'destination_section', prevision_line) - if destination_exchange_ratio is not None: - prevision_line.update(destination_total_asset_price=round( - (destination_exchange_ratio* - applied_rule.getParentValue().getTotalPrice()),precision)) - - source_exchange_ratio, precision = self \ - ._getCurrencyRatioAndPrecisionByArrow( - 'source_section', prevision_line) - if source_exchange_ratio is not None: - prevision_line.update(source_total_asset_price=round( - (source_exchange_ratio* - applied_rule.getParentValue().getTotalPrice()),precision)) - - if accounting_rule_cell_line.hasProperty( - 'generate_prevision_script_id'): - generate_prevision_script_id = \ - accounting_rule_cell_line.getGeneratePrevisionScriptId() - prevision_line.update(getattr(input_movement, - generate_prevision_script_id)(prevision_line)) - prevision_list.append(prevision_line) - return prevision_list - - security.declareProtected(Permissions.ModifyPortalContent, 'expand') - def expand(self, applied_rule, force=0, **kw): - """ - Expands the rule: - - generate a list of previsions - - compare the prevision with existing children - - get the list of existing movements (immutable, mutable, deletable) - - compute the difference between prevision and existing (add, - modify, remove) - - add/modify/remove child movements to match prevision - """ - return Rule._expand(self, applied_rule, force=force, **kw) - - # Matrix related - security.declareProtected( Permissions.ModifyPortalContent, - 'newCellContent' ) - def newCellContent(self, id, portal_type='Accounting Rule Cell', **kw): - """Overriden to specify default portal type - """ - return self.newContent(id=id, portal_type=portal_type, **kw) - - security.declareProtected(Permissions.ModifyPortalContent, 'solve') - def solve(self, applied_rule, solution_list): - """ - Solve inconsistency according to a certain number of solutions - templates. This updates the - - -> new status -> solved - - This applies a solution to an applied rule. Once - the solution is applied, the parent movement is checked. - If it does not diverge, the rule is reexpanded. If not, - diverge is called on the parent movement. - """ - - security.declareProtected(Permissions.ModifyPortalContent, 'diverge') - def diverge(self, applied_rule): - """ - -> new status -> diverged - - This basically sets the rule to "diverged" - and blocks expansion process - """ - -# # Solvers -# security.declareProtected(Permissions.View, 'isDivergent') -# def isDivergent(self, applied_rule): -# """ -# Returns 1 if divergent rule -# """ -# -# security.declareProtected(Permissions.View, 'getDivergenceList') -# def getDivergenceList(self, applied_rule): -# """ -# Returns a list Divergence descriptors -# """ - - # Deliverability / orderability - def isOrderable(self, m): - return 1 - - def isDeliverable(self, m): - if m.getSimulationState() in self.getPortalDraftOrderStateList(): - return 0 - return 1 - - def _getCurrencyRatioAndPrecisionByArrow(self, arrow, prevision_line): - prevision_currency = prevision_line.get('resource', None) - exchange_ratio = None - precision = None - section = prevision_line.get(arrow, None) - if section is not None: - section = self.restrictedTraverse(section) - currency_url = section.getProperty('price_currency', None) - else: - currency_url = None - if currency_url is not None and prevision_currency != currency_url: - from Products.ERP5Type.Document import newTempSimulationMovement - temporary_movement = newTempSimulationMovement(self.getPortalObject(), - '1', **prevision_line) - precision = section.getPriceCurrencyValue() \ - .getQuantityPrecision() - exchange_ratio = self.restrictedTraverse(currency_url).getPrice( - context=temporary_movement.asContext( - categories=['price_currency/%s' % currency_url, - 'resource/%s' % prevision_currency], - start_date=temporary_movement.getStartDate())) - return exchange_ratio, precision - - security.declareProtected(Permissions.AccessContentsInformation, - 'getExpandablePropertyList') - def getExpandablePropertyList(self, default=None): - """ - Return a list of properties used in expand. - """ - property_list = self._baseGetExpandablePropertyList() - # For backward compatibility, we keep for some time the list - # of hardcoded properties. Theses properties should now be - # defined on the rule itself - if len(property_list) == 0: - LOG("Invoice Transaction Rule , getExpandablePropertyList", WARNING, - "Hardcoded properties set, please define your rule correctly") - property_list = ( - 'destination_administration', - 'destination_decision', - 'destination_function', - 'destination_payment', - 'destination_project', - 'destination_section', - 'source_administration', - 'source_decision', - 'source_function', - 'source_payment', - 'source_project', - 'source_section', - 'start_date', - 'stop_date', - ) - return property_list - - security.declareProtected(Permissions.AccessContentsInformation, - 'getMatchingPropertyList') - def getMatchingPropertyList(self, default=None): - """ - Return a list of properties used in expand. - """ - property_list = self._baseGetMatchingPropertyList() - # For backward compatibility, we keep for some time the list - # of hardcoded properties. Theses properties should now be - # defined on the rule itself - if len(property_list) == 0: - LOG("Invoice Transaction Rule , getMatchingPropertyList", WARNING, - "Hardcoded properties set, please define your rule correctly") - property_list=['resource', 'source', 'destination', - 'destination_total_asset_price', - 'source_total_asset_price'] - return property_list diff --git a/product/ERP5Legacy/Document/InvoicingRule.py b/product/ERP5Legacy/Document/InvoicingRule.py deleted file mode 100644 index be76f6231d..0000000000 --- a/product/ERP5Legacy/Document/InvoicingRule.py +++ /dev/null @@ -1,123 +0,0 @@ -############################################################################## -# -# Copyright (c) 2002-2005 Nexedi SA and Contributors. All Rights Reserved. -# Sebastien Robin <seb@nexedi.com> -# Romain Courteaud <romain@nexedi.com> -# -# 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, PropertySheet, interfaces -from Products.ERP5Legacy.Document.Rule import Rule -from zLOG import LOG, WARNING - -class InvoicingRule(Rule): - """ - Invoicing Rule expand simulation created by a order or delivery rule. - """ - - # CMF Type Definition - meta_type = 'ERP5 Invoicing Rule' - portal_type = 'Invoicing Rule' - add_permission = Permissions.AddPortalContent - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - security.declareProtected(Permissions.AccessContentsInformation, - 'isAccountable') - def isAccountable(self, movement): - """ - Tells whether generated movement needs to be accounted or not. - - Invoice movement are never accountable, so simulation movement for - invoice movements should not be accountable either. - """ - return 0 - - security.declareProtected(Permissions.ModifyPortalContent, 'expand') - def expand(self, applied_rule, force=0, **kw): - """ - Expands the rule: - - generate a list of previsions - - compare the prevision with existing children - - get the list of existing movements (immutable, mutable, deletable) - - compute the difference between prevision and existing (add, - modify, remove) - - add/modify/remove child movements to match prevision - """ - return Rule._expand(self, applied_rule, force=force, **kw) - - def isDeliverable(self, movement): - return movement.getResource() is not None - - security.declareProtected(Permissions.AccessContentsInformation, - 'getExpandablePropertyList') - def getExpandablePropertyList(self, default=None): - """ - Return a list of properties used in expand. - """ - property_list = self._baseGetExpandablePropertyList() - # For backward compatibility, we keep for some time the list - # of hardcoded properties. Theses properties should now be - # defined on the rule itself - if len(property_list) == 0: - LOG("Invoicing Rule , getExpandablePropertyList", WARNING, - "Hardcoded properties set, please define your rule correctly") - property_list = ( - 'aggregate_list', - 'base_contribution_list', - 'delivery_mode', - 'description', - 'destination_account', - 'destination_administration', - 'destination_decision', - 'destination_function', - 'destination_list', - 'destination_payment', - 'destination_project', - 'destination_section', - 'efficiency', - 'incoterm', - 'price', - 'price_currency', - 'quantity', - 'quantity_unit', - 'resource', - 'source', - 'source_account', - 'source_administration', - 'source_decision', - 'source_function', - 'source_payment', - 'source_project', - 'source_section', - 'start_date', - 'stop_date', - 'variation_category_list', - 'variation_property_dict', - ) - return property_list diff --git a/product/ERP5Legacy/Document/OpenOrderRule.py b/product/ERP5Legacy/Document/OpenOrderRule.py deleted file mode 100644 index e0904c1410..0000000000 --- a/product/ERP5Legacy/Document/OpenOrderRule.py +++ /dev/null @@ -1,191 +0,0 @@ -############################################################################## -# -# Copyright (c) 2009 Nexedi KK, Nexedi SA and Contributors. All Rights Reserved. -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo -from Products.ERP5Type import Permissions -from Products.ERP5Legacy.Document.Rule import Rule -from Products.ERP5Legacy.Document.DeliveryRule import DeliveryRule -from zLOG import LOG, WARNING -from DateTime import DateTime - -class OpenOrderRule(DeliveryRule): - """ - Order Rule object make sure an Order in the simulation - is consistent with the real order - - WARNING: what to do with movement split ? - """ - # CMF Type Definition - meta_type = 'ERP5 Open Order Rule' - portal_type = 'Open Order Rule' - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - # Simulation workflow - security.declareProtected(Permissions.ModifyPortalContent, 'expand') - def expand(self, applied_rule, force=0, calculation_base_date=None, **kw): - """ - Expands the Order to a new simulation tree. - expand is only allowed to modify a simulation movement if it doesn't - have a delivery relation yet. - - If the movement is in ordered or planned state, has no delivered - child, and is not in order, it can be deleted. - Else, if the movement is in ordered or planned state, has no - delivered child, and is in order, it can be modified. - Else, it cannot be modified. - """ - order = applied_rule.getDefaultCausalityValue() - if getattr(order, 'expandOpenOrderRule', None) is not None: - # Delegate implementation of expand to the SubscriptionItem or - # to the OpenOrder instance - return order.expandOpenOrderRule(applied_rule, force=force, **kw) - if order is not None: - order_movement_list = order.getMovementList( - portal_type=order.getPortalOrderMovementTypeList()) - - now = DateTime() - passed_calculation_base_date = calculation_base_date - for order_movement in order_movement_list: - if passed_calculation_base_date is None: - end_date = order_movement.getStopDate() - order.getForecastingTermDayCount() - if end_date > now: - calculation_base_date = now - else: - calculation_base_date = end_date - else: - calculation_base_date = passed_calculation_base_date - last_simulation_movement = self._getLastSimulationMovementValue(applied_rule, order_movement) - if last_simulation_movement is not None: - schedule_start_date = last_simulation_movement.getStartDate() - schedule_list = self._getOrderDateScheduleTupleList(order_movement, schedule_start_date, - calculation_base_date=calculation_base_date, - **kw) - else: - # Because order's start_date might be matched with the periodicity. - order_start_date = order_movement.getStartDate() - schedule_start_date = order_start_date - 1 - schedule_list = [] - for date_pair in self._getOrderDateScheduleTupleList(order_movement, - schedule_start_date, - calculation_base_date=calculation_base_date, - **kw): - if date_pair[0] >= order_start_date: - schedule_list.append(date_pair) - - for start_date, stop_date in schedule_list: - property_dict = {'start_date':start_date, 'stop_date':stop_date} - property_dict = self._getExpandablePropertyDict(order_movement, - property_dict) - simulation_movement = applied_rule.newContent( - portal_type=self.movement_type, - order_value=order_movement, - order_ratio=1, - delivery_ratio=1, - **property_dict - ) - - # Pass to base class - Rule.expand(self, applied_rule, force=force, **kw) - - security.declareProtected(Permissions.AccessContentsInformation, 'isStable') - def isStable(self, applied_rule): - """ - Checks that the applied_rule is stable - """ - LOG('OrderRule.isStable', WARNING, 'Not Implemented') - return 1 - - security.declareProtected(Permissions.AccessContentsInformation, - 'isDivergent') - def isDivergent(self, movement): - """ - Checks that the movement is divergent - """ - return Rule.isDivergent(self, movement) - - def _getExpandablePropertyDict(self, order_movement, property_dict=None): - property_list = ( - 'title', - 'reference', - 'description', - 'int_index', - 'source', - 'source_section', - 'source_function', - 'source_trade_list', - 'destination', - 'destination_section', - 'destination_function', - 'resource', - 'variation_category_list', - 'variation_property_dict', - 'base_contribution_list', - 'aggregate_list', - 'price', - 'price_currency', - 'quantity', - 'quantity_unit', - ) - if property_dict is None: - property_dict = {} - for property_name in property_list: - if not property_name in property_dict: - property_dict[property_name] = order_movement.getProperty(property_name) - return property_dict - - def _getLastSimulationMovementValue(self, applied_rule, order_movement): - result = applied_rule.searchFolder(order_uid=order_movement.getUid(), - sort_on=[('movement.start_date','DESC')]) - if len(result)>0: - return result[0].getObject() - else: - return None - - def _getOrderDateScheduleTupleList(self, order_movement, schedule_start_date, - calculation_base_date=None, **kw): - if calculation_base_date is None: - # This is NOW - calculation_base_date = DateTime() - - getPeriodicityLineValueList = order_movement._getTypeBasedMethod('getPeriodicityLineValueList') - if getPeriodicityLineValueList is None: - raise RuntimeError, "Cannot find getPeriodicityLineValueList script" - schedule_stop_date = (calculation_base_date+ - order_movement.getForecastingTermDayCount()) - if schedule_stop_date > order_movement.getStopDate(): - schedule_stop_date = order_movement.getStopDate() - - periodicity_line_list = getPeriodicityLineValueList(schedule_start_date, - schedule_stop_date) - result = [] - for periodicity_line in periodicity_line_list: - result.extend(periodicity_line.getDatePeriodList(schedule_start_date, - schedule_stop_date)) - return result diff --git a/product/ERP5Legacy/Document/OrderRule.py b/product/ERP5Legacy/Document/OrderRule.py deleted file mode 100644 index b9e2dbfc18..0000000000 --- a/product/ERP5Legacy/Document/OrderRule.py +++ /dev/null @@ -1,160 +0,0 @@ -############################################################################## -# -# Copyright (c) 2002, 2005 Nexedi SARL and Contributors. All Rights Reserved. -# Jean-Paul Smets-Solanes <jp@nexedi.com> -# Romain Courteaud <romain@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo -from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces -from Products.ERP5Legacy.Document.Rule import Rule -from Products.ERP5Legacy.Document.DeliveryRule import DeliveryRule -from zLOG import LOG, WARNING - -class OrderRule(DeliveryRule): - """ - Order Rule object make sure an Order in the simulation - is consistent with the real order - - WARNING: what to do with movement split ? - """ - # CMF Type Definition - meta_type = 'ERP5 Order Rule' - portal_type = 'Order Rule' - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - security.declareProtected(Permissions.AccessContentsInformation, - 'isAccountable') - def isAccountable(self, movement): - """ - Tells whether generated movement needs to be accounted or not. - - Order movement are never accountable, so simulation movement for - order movements should not be accountable either. - """ - return 0 - - # Simulation workflow - security.declareProtected(Permissions.ModifyPortalContent, 'expand') - def expand(self, applied_rule, force=0, **kw): - """ - Expands the Order to a new simulation tree. - expand is only allowed to modify a simulation movement if it doesn't - have a delivery relation yet. - - If the movement is in ordered or planned state, has no delivered - child, and is not in order, it can be deleted. - Else, if the movement is in ordered or planned state, has no - delivered child, and is in order, it can be modified. - Else, it cannot be modified. - """ - return Rule._expand(self, applied_rule, force=force, **kw) - - security.declareProtected(Permissions.AccessContentsInformation, 'isStable') - def isStable(self, applied_rule): - """ - Checks that the applied_rule is stable - """ - LOG('OrderRule.isStable', WARNING, 'Not Implemented') - return 1 - - security.declareProtected(Permissions.AccessContentsInformation, - 'isDivergent') - def isDivergent(self, movement): - """ - Checks that the movement is divergent - """ - return Rule.isDivergent(self, movement) - - security.declareProtected(Permissions.AccessContentsInformation, - 'getExpandablePropertyList') - def getExpandablePropertyList(self, default=None): - """ - Return a list of properties used in expand. - """ - property_list = self._baseGetExpandablePropertyList() - # For backward compatibility, we keep for some time the list - # of hardcoded properties. Theses properties should now be - # defined on the rule itself - if len(property_list) == 0: - LOG("Order Rule , getExpandablePropertyList", WARNING, - "Hardcoded properties set, please define your rule correctly") - property_list = ( - 'aggregate_list', - 'base_contribution_list', - 'description', - 'destination', - 'destination_account', - 'destination_function', - 'destination_section', - 'price', - 'price_currency', - 'quantity', - 'quantity_unit', - 'resource', - 'source', - 'source_account', - 'source_function', - 'source_section', - 'start_date', - 'stop_date', - 'variation_category_list', - 'variation_property_dict', - ) - return property_list - - security.declareProtected(Permissions.AccessContentsInformation, - 'getMatchingPropertyList') - def getMatchingPropertyList(self, default=None): - """ - Return a list of properties used in expand. - """ - property_list = self._baseGetMatchingPropertyList() - # For backward compatibility, we keep for some time the list - # of hardcoded properties. Theses properties should now be - # defined on the rule itself - if len(property_list) == 0: - LOG("Order Rule , getMatchingPropertyList", WARNING, - "Hardcoded properties set, please define your rule correctly") - property_list=['order',] - return property_list - - def _getInputMovementList(self, applied_rule): - """Input movement list comes from order""" - order = applied_rule.getDefaultCausalityValue() - if order is not None: - return order.getMovementList( - portal_type=order.getPortalOrderMovementTypeList()) - return [] - - def _getExpandablePropertyUpdateDict(self, applied_rule, movement, - business_path, current_property_dict): - """Order rule specific update dictionary""" - return { - 'order': movement.getRelativeUrl(), - } diff --git a/product/ERP5Legacy/Document/PaymentRule.py b/product/ERP5Legacy/Document/PaymentRule.py deleted file mode 100644 index 39f3350551..0000000000 --- a/product/ERP5Legacy/Document/PaymentRule.py +++ /dev/null @@ -1,98 +0,0 @@ -############################################################################## -# -# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved. -# Sebastien Robin <seb@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo -from Acquisition import aq_base, aq_parent, aq_inner, aq_acquire -from Products.CMFCore.utils import getToolByName - -from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces -from Products.ERP5Legacy.Document.Rule import Rule - -from zLOG import LOG, INFO - -class PaymentRule(Rule): - """Payment Rule generates payment simulation movement from invoice - transaction simulation movements. - """ - - # CMF Type Definition - meta_type = 'ERP5 Payment Rule' - portal_type = 'Payment Rule' - add_permission = Permissions.AddPortalContent - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - receivable_account_type_list = ('asset/receivable', ) - payable_account_type_list = ('liability/payable', ) - - def _generatePrevisionList(self, applied_rule, **kw): - """ - Generate a list of dictionaries, that contain calculated content of - current Simulation Movements in applied rule. - based on its context (parent movement, delivery, configuration ...) - - These previsions are returned as dictionaries. - """ - prevision_dict_list = [] - for input_movement, business_path in self \ - ._getInputMovementAndPathTupleList(applied_rule): - if business_path is None: - # since Payment Rule does not know what to do without business - # path, we return empty list here and creates no simulation - # movements. - return [] - # Since we need to consider business_path only for bank movement, - # not for payable movement, we pass None as business_path here. - kw = self._getExpandablePropertyDict(applied_rule, input_movement, None) - start_date = business_path.getExpectedStartDate(input_movement) - if start_date is not None: - kw['start_date'] = start_date - stop_date = business_path.getExpectedStopDate(input_movement) - if stop_date is not None: - kw['stop_date'] = stop_date - quantity = business_path.getExpectedQuantity(input_movement) - - # one for payable - payable_dict = kw.copy() - payable_dict.update(dict(quantity=-quantity)) - prevision_dict_list.append(payable_dict) - # one for bank - bank_dict = kw.copy() - bank_dict.update(dict(quantity=quantity, - source=business_path.getSource(), - destination=business_path.getDestination())) - prevision_dict_list.append(bank_dict) - return prevision_dict_list - - security.declareProtected(Permissions.ModifyPortalContent, 'expand') - def expand(self, applied_rule, **kw): - """Expands the current movement downward. - """ - return Rule._expand(self, applied_rule, **kw) diff --git a/product/ERP5Legacy/Document/ProductionOrderModelRule.py b/product/ERP5Legacy/Document/ProductionOrderModelRule.py deleted file mode 100644 index f9208b4e2a..0000000000 --- a/product/ERP5Legacy/Document/ProductionOrderModelRule.py +++ /dev/null @@ -1,99 +0,0 @@ -############################################################################## -# -# Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved. -# Romain Courteaud <romain@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo -from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces -from Products.ERP5Legacy.Document.Rule import Rule -from Products.ERP5Legacy.Document.OrderRule import OrderRule -from Products.ERP5Legacy.Document.TransformationModelRule import TransformationModelRuleMixin - -from zLOG import LOG, WARNING - -class ProductionOrderModelRule(TransformationModelRuleMixin, OrderRule): - """ - Prouction Order Rule object use a Supply Chain to expand a - Production Order. - """ - - # CMF Type Definition - meta_type = 'ERP5 Production Order Model Rule' - portal_type = 'Production Order Model Rule' - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - # Simulation workflow - security.declareProtected(Permissions.AccessContentsInformation, - '_getExpandablePropertyDict') - def _getExpandablePropertyDict(self, applied_rule, movement, business_path=None, - **kw): - """ - Return a Dictionary with the Properties used to edit - the simulation movement. - """ - property_dict = {} - - default_property_list = self.getExpandablePropertyList() - # For backward compatibility, we keep for some time the list - # of hardcoded properties. Theses properties should now be - # defined on the rule itself - if len(default_property_list) == 0: - LOG("Order Rule , _getExpandablePropertyDict", WARNING, - "Hardcoded properties set, please define your rule correctly") - default_property_list = ( - 'destination', - 'destination_section', - 'start_date', - 'stop_date', - 'resource', - 'variation_category_list', - 'variation_property_dict', - 'aggregate_list', - 'price', - 'price_currency', - 'quantity', - 'quantity_unit', - ) - - for prop in default_property_list: - property_dict[prop] = movement.getProperty(prop) - - # rule specific - property_dict.update(**self._getExpandablePropertyUpdateDict(applied_rule, - movement, business_path, property_dict)) - - path = self.getBusinessProcessValue(applied_rule=applied_rule).getRootExplanationPathValue() - property_dict['source_section'] = path.getDestinationSection(context=movement) - property_dict['source'] = path.getDestination(context=movement) - - successor = path.getSuccessorValue() - if successor is not None: - property_dict['causality_list'] = successor.getPredecessorRelatedList() - - return property_dict diff --git a/product/ERP5Legacy/Document/ProductionOrderRule.py b/product/ERP5Legacy/Document/ProductionOrderRule.py deleted file mode 100644 index 3e47330980..0000000000 --- a/product/ERP5Legacy/Document/ProductionOrderRule.py +++ /dev/null @@ -1,110 +0,0 @@ -############################################################################## -# -# Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved. -# Romain Courteaud <romain@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo -from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces -from Products.ERP5Legacy.Document.Rule import Rule -from Products.ERP5Legacy.Document.OrderRule import OrderRule -from Products.ERP5Legacy.Document.TransformationSourcingRule import\ - TransformationSourcingRuleMixin - -from zLOG import LOG, WARNING - -class ProductionOrderRule(OrderRule): - """ - Prouction Order Rule object use a Supply Chain to expand a - Production Order. - """ - - # CMF Type Definition - meta_type = 'ERP5 Production Order Rule' - portal_type = 'Production Order Rule' - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - # Simulation workflow - security.declareProtected(Permissions.AccessContentsInformation, - '_getExpandablePropertyDict') - def _getExpandablePropertyDict(self, applied_rule, movement, business_path=None, - **kw): - """ - Return a Dictionary with the Properties used to edit - the simulation movement. - """ - property_dict = {} - - default_property_list = self.getExpandablePropertyList() - # For backward compatibility, we keep for some time the list - # of hardcoded properties. Theses properties should now be - # defined on the rule itself - if len(default_property_list) == 0: - LOG("Production Order Rule , _getExpandablePropertyDict", WARNING, - "Hardcoded properties set, please define your rule correctly") - default_property_list = ( - 'aggregate_list', - 'destination', - 'destination_section', - 'price', - 'price_currency', - 'quantity', - 'quantity_unit', - 'resource', - 'start_date', - 'stop_date', - 'variation_category_list', - 'variation_property_dict', - ) - - supply_chain = self.getSupplyChain(applied_rule) - # We got a supply chain - # Try to get the last SupplyLink - last_link = supply_chain.getLastLink() - # We got a valid industrial_phase - # Now, we have to generate Simulation Movement, in order to - # create a ProductionPackingList. - destination_node = last_link.getDestinationValue() - source = destination_node.getDestination() - source_section = last_link.getDestinationSection() - if source is not None: - property_dict['source'] = source - if source_section is not None: - property_dict['source_section'] = source_section - - for prop in default_property_list: - property_dict[prop] = movement.getProperty(prop) - - # rule specific - property_dict.update(**self._getExpandablePropertyUpdateDict(applied_rule, - movement, business_path, property_dict)) - - return property_dict - -from Products.ERP5Type.Utils import monkeyPatch -monkeyPatch(TransformationSourcingRuleMixin, ProductionOrderRule) diff --git a/product/ERP5Legacy/Document/PropertyDivergenceTester.py b/product/ERP5Legacy/Document/PropertyDivergenceTester.py deleted file mode 100644 index b8bbf10724..0000000000 --- a/product/ERP5Legacy/Document/PropertyDivergenceTester.py +++ /dev/null @@ -1,117 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2006-2008 Nexedi SA and Contributors. All Rights Reserved. -# Rafael Monnerat <rafael@nexedi.com> -# -# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import zope.interface -from AccessControl import ClassSecurityInfo - -from Products.ERP5Type.XMLObject import XMLObject -from Products.ERP5Type.DivergenceMessage import DivergenceMessage -from Products.ERP5Type import Permissions, PropertySheet, interfaces -from Products.ERP5.Document.FloatEquivalenceTester import DEFAULT_PRECISION - -class PropertyDivergenceTester(XMLObject): - """ - The purpose of this divergence tester is to check the - consistency between delivery movement and simulation movement - for some specific properties. - - NOTE: PropertyDivergenceTester will be phased out - and replaced, if needed, by a mixin. Divergence - Testers should be Float, String and Category - DivergenceTester - """ - meta_type = 'ERP5 Property Divergence Tester' - portal_type = 'Property Divergence Tester' - add_permission = Permissions.AddPortalContent - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - # Declarative interfaces - zope.interface.implements( interfaces.IDivergenceTester, ) - - # Declarative properties - property_sheets = ( PropertySheet.Base - , PropertySheet.XMLObject - , PropertySheet.CategoryCore - , PropertySheet.DublinCore - , PropertySheet.DivergenceTester - , PropertySheet.SolverSelection - ) - - def test(self, simulation_movement): - """ - This is the fast method to test, return True or False. - It depends if the simulation_movement is divergent or not. - """ - return len(self.explain(simulation_movement)) != 0 - - def explain(self, simulation_movement): - """ - This method returns a list of messages that contains - the divergence of the Delivery Line. - """ - divergence_message_list = [] - tested_property = self.getTestedPropertyList() - - delivery_mvt = simulation_movement.getDeliveryValue() - delivery_mvt_getProperty = delivery_mvt.getProperty - simulation_movement_getProperty = simulation_movement.getMappedProperty - for tested_property_id, tested_property_title in \ - self._splitStringList(tested_property): - delivery_mvt_property = delivery_mvt_getProperty(tested_property_id) - simulation_mvt_property = simulation_movement_getProperty(tested_property_id) - if delivery_mvt_property != simulation_mvt_property: - try: - # XXX: What if prevision or decision is 0 ? - if abs(delivery_mvt_property - simulation_mvt_property) <= \ - abs(simulation_mvt_property * DEFAULT_PRECISION): - continue - except TypeError: - pass - message = DivergenceMessage( - divergence_scope='property', - object_relative_url=delivery_mvt.getRelativeUrl(), - simulation_movement=simulation_movement, - decision_value=delivery_mvt_property , - prevision_value=simulation_mvt_property, - tested_property=tested_property_id, - message=tested_property_title, - ) - divergence_message_list.append(message) - - return divergence_message_list - - def _splitStringList(self, string_list): - """ - Convert a list of string with a pipe (ex: ["azert | qsdfg", ] ) - to a list of tuple (ex: [("azert", "qsdfg"), ] ) - """ - return [tuple([x.strip() for x in x.split('|')]) for x in string_list] diff --git a/product/ERP5Legacy/Document/QuantityDivergenceTester.py b/product/ERP5Legacy/Document/QuantityDivergenceTester.py deleted file mode 100644 index 032b89c89f..0000000000 --- a/product/ERP5Legacy/Document/QuantityDivergenceTester.py +++ /dev/null @@ -1,166 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved. -# Rafael M. Monnerat <rafael@nexedi.com> -# -# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import zope.interface -from AccessControl import ClassSecurityInfo - -from Products.ERP5Type.DivergenceMessage import DivergenceMessage -from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces -from Products.ERP5.Document.FloatEquivalenceTester import DEFAULT_PRECISION -from Products.ERP5Legacy.Document.PropertyDivergenceTester import \ - PropertyDivergenceTester - -class QuantityDivergenceTester(PropertyDivergenceTester): - """ - The purpose of this divergence tester is to check the - consistency between delivery movement and simulation movement - for the property quantity. - """ - meta_type = 'ERP5 Quantity Divergence Tester' - portal_type = 'Quantity Divergence Tester' - add_permission = Permissions.AddPortalContent - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - # Declarative interfaces - zope.interface.implements( interfaces.IDivergenceTester, ) - - - # Declarative properties - property_sheets = PropertyDivergenceTester.property_sheets + ( - PropertySheet.DecimalOption, - ) - - def explain(self, simulation_movement): - """ - This method returns a list of messages that contains - the divergence of the Delivery Line. - """ - delivery = simulation_movement.getDeliveryValue() - - d_quantity = delivery.getQuantity() - quantity = simulation_movement.getMappedProperty('corrected_quantity') - - extra_parameters = dict() - if abs(quantity - d_quantity) < 1: - # if the difference between quantities are small, use repr to have more - # precise float display in the divergence message. - extra_parameters = dict( - decision_title=repr(d_quantity), - prevision_title=repr(quantity),) - - # XXX - JPS - it would be much better not to create the message - # if we do not later use it (by isDivergent) - message = DivergenceMessage(object_relative_url= delivery.getRelativeUrl(), - divergence_scope='quantity', - simulation_movement = simulation_movement, - decision_value = d_quantity , - prevision_value = quantity, - tested_property='quantity', - message='Quantity', - **extra_parameters - ) - - - if quantity is None: - if d_quantity is None: - return [] - return [message] - if d_quantity is None: - d_quantity = 0 - delivery_ratio = simulation_movement.getDeliveryRatio() - # if the delivery_ratio is None, make sure that we are - # divergent even if the delivery quantity is 0 - if delivery_ratio is not None: - d_quantity *= delivery_ratio - message.decision_value = d_quantity - message.decision_title = repr(d_quantity) - if delivery_ratio == 0 and quantity > 0: - return [message] - - if d_quantity != 0.0: - if not self.compare(d_quantity, quantity): - return [message] - else: - # A delivery quantity of 0 is an exceptional case that we cannot really - # handle with the current approach of delivery ratio. - d_quantity = delivery.getQuantity() - quantity = sum([m.getMappedProperty('corrected_quantity') for m in - delivery.getDeliveryRelatedValueList( - portal_type='Simulation Movement')]) - - if not self.compare(d_quantity, quantity): - return [DivergenceMessage( - object_relative_url= delivery.getRelativeUrl(), - divergence_scope='quantity', - simulation_movement = simulation_movement, - decision_value = d_quantity , - prevision_value = quantity, - tested_property='quantity', - message='Quantity', - **extra_parameters)] - - return [] - - def compare(self, x, y): - if self.isDecimalAlignmentEnabled(): - from decimal import (Decimal, ROUND_DOWN, ROUND_UP, ROUND_CEILING, - ROUND_FLOOR, ROUND_HALF_DOWN, ROUND_HALF_EVEN, - ROUND_HALF_UP) - # Python2.4 did not support ROUND_05UP yet. - rounding_option_dict = {'ROUND_DOWN':ROUND_DOWN, - 'ROUND_UP':ROUND_UP, - 'ROUND_CEILING':ROUND_CEILING, - 'ROUND_FLOOR':ROUND_FLOOR, - 'ROUND_HALF_DOWN':ROUND_HALF_DOWN, - 'ROUND_HALF_EVEN':ROUND_HALF_EVEN, - 'ROUND_HALF_UP':ROUND_HALF_UP} - rounding_option = rounding_option_dict.get(self.getDecimalRoundingOption(), - ROUND_DOWN) - - return (Decimal(str(x)).quantize(Decimal(self.getDecimalExponent()), - rounding=rounding_option) - == - Decimal(str(y)).quantize(Decimal(self.getDecimalExponent()), - rounding=rounding_option)) - return abs(x - y) <= abs(y * DEFAULT_PRECISION) # XXX: What if x or y is 0 ? - - def getTestedProperty(self, default=None): - """ - Return a tested property. - """ - return self._baseGetTestedProperty() or 'quantity' - - def getTestedPropertyList(self, default=None): - """ - Return a list of tested properties. - """ - return self._baseGetTestedPropertyList() or ['quantity',] diff --git a/product/ERP5Legacy/Document/Rule.py b/product/ERP5Legacy/Document/Rule.py deleted file mode 100644 index ea573908e5..0000000000 --- a/product/ERP5Legacy/Document/Rule.py +++ /dev/null @@ -1,592 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2002-2009 Nexedi SARL and Contributors. All Rights Reserved. -# Jean-Paul Smets-Solanes <jp@nexedi.com> -# Åukasz Nowak <luke@nexedi.com> -# -# 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 advised 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import zope.interface -from AccessControl import ClassSecurityInfo -from Products.ERP5Type import Permissions, PropertySheet, interfaces -from Products.ERP5Type.XMLObject import XMLObject -from Products.ERP5Type.Core.Predicate import Predicate -from Acquisition import aq_base - - -# resurrected from old AppliedRule class -def AppliedRule_getExplanationSpecialiseValue(self, portal_type_list): - """Returns first found specialise value of delivery or order - In case if self is root Applied Rule uses causality - Otherwise uses delivery, than order of parent movements - Recurses to parents""" - def findSpecialiseValueBySimulation(movement): - specialise_value = None - if movement.getPortalType() != 'Simulation Movement': - return None - delivery, order = movement.getDeliveryValue(), movement.getOrderValue() - - if delivery is not None: - specialise_value = delivery.getExplanationValue() \ - .getRootSpecialiseValue(portal_type_list) - if specialise_value is not None: - return specialise_value - # 'order' category is deprecated. it is kept for compatibility. - if order is not None: - specialise_value = order.getExplanationValue() \ - .getRootSpecialiseValue(portal_type_list) - if specialise_value is not None: - return specialise_value - return findSpecialiseValueBySimulation(movement.getParentValue() \ - .getParentValue()) - - if self.getRootAppliedRule() == self: - return self.getCausalityValue() \ - .getRootSpecialiseValue(portal_type_list) - movement = self.getParentValue() - return findSpecialiseValueBySimulation(movement) - - -class Rule(Predicate, XMLObject): - """ - Rule objects implement the simulation algorithm - (expand, solve) - - Example of rules - - - Stock rule (checks stocks) - - - Order rule (copies movements from an order) - - - Capacity rule (makes sure stocks / sources are possible) - - - Transformation rule (expands transformations) - - - Template rule (creates submovements with a template system) - used in Invoice rule, Paysheet rule, etc. - - Rules are called one by one at the global level (the rules folder) - and at the local level (applied rules in the simulation folder) - - The simulation_tool includes rules which are parametrized by the sysadmin - The simulation_tool does the logics of checking, calling, etc. - - simulation_tool is a subclass of Folder & Tool - """ - - # CMF Type Definition - meta_type = 'ERP5 Rule' - portal_type = 'Rule' - add_permission = Permissions.AddPortalContent - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - zope.interface.implements( interfaces.IPredicate, - interfaces.IRule ) - - # Default Properties - property_sheets = ( PropertySheet.Base - , PropertySheet.XMLObject - , PropertySheet.CategoryCore - , PropertySheet.DublinCore - , PropertySheet.Task - , PropertySheet.Predicate - , PropertySheet.Reference - , PropertySheet.Version - , PropertySheet.Rule - ) - - # Portal Type of created children - movement_type = 'Simulation Movement' - - security.declareProtected(Permissions.AccessContentsInformation, - 'isAccountable') - def isAccountable(self, movement): - """Tells wether generated movement needs to be accounted or not. - - Only account movements which are not associated to a delivery; - Whenever delivery is there, delivery has priority - """ - return movement.getDeliveryValue() is None - - security.declareProtected(Permissions.ModifyPortalContent, - 'constructNewAppliedRule') - def constructNewAppliedRule(self, context, id=None, - activate_kw=None, **kw): - """ - Creates a new applied rule which points to self - """ - # XXX Parameter **kw is useless, so, we should remove it - if id is None: - id = context.generateNewId() - if getattr(aq_base(context), id, None) is None: - context.newContent(id=id, - portal_type='Applied Rule', - specialise_value=self, - activate_kw=activate_kw) - return context.get(id) - - def _isBPM(self): - """Checks if rule is used in BPM""" - return bool(self.getTradePhaseList()) - - # Simulation workflow - def test(self, *args, **kw): - """ - If no test method is defined, return False, to prevent infinite loop - """ - if not self.getTestMethodId(): - return False - return Predicate.test(self, *args, **kw) - - def _expand(self, applied_rule, force=0, **kw): - """Generic expand with helpers. - Do NOT overload, use helpers.""" - add_list, modify_dict, \ - delete_list = self._getCompensatedMovementList(applied_rule, **kw) - - # delete not needed movements - for movement_id in delete_list: - applied_rule._delObject(movement_id) - - # update existing and clear recorded properties - for movement_id, property_dict in modify_dict.iteritems(): - movement = applied_rule[movement_id] - movement.edit(**property_dict) - clearRecordedProperty = movement.clearRecordedProperty - for property_id in property_dict.iterkeys(): - clearRecordedProperty(property_id) - - # add new ones - for movement_dict in add_list: - movement_id = applied_rule._get_id(movement_dict.pop('id', None)) - new_movement = applied_rule.newContent(id=movement_id, - portal_type=self.movement_type, **movement_dict) - - for o in applied_rule.objectValues(): - o.expand(**kw) - - security.declareProtected(Permissions.ModifyPortalContent, 'expand') - def expand(self, applied_rule, **kw): - """ - Expands the current movement downward. - - An applied rule can be expanded only if its parent movement - is expanded. - """ - if self._isBPM(): - return self._expand(applied_rule, **kw) - for o in applied_rule.objectValues(): - o.expand(**kw) - - security.declareProtected(Permissions.ModifyPortalContent, 'solve') - def solve(self, applied_rule, solution_list): - """ - Solve inconsistency according to a certain number of solutions - templates. This updates the - - -> new status -> solved - - This applies a solution to an applied rule. Once - the solution is applied, the parent movement is checked. - If it does not diverge, the rule is reexpanded. If not, - diverge is called on the parent movement. - """ - - security.declareProtected(Permissions.ModifyPortalContent, 'diverge') - def diverge(self, applied_rule): - """ - -> new status -> diverged - - This basically sets the rule to "diverged" - and blocks expansion process - """ - pass - - # Solvers - security.declareProtected( Permissions.AccessContentsInformation, - 'isDivergent') - def isDivergent(self, sim_mvt, ignore_list=[]): - """ - Returns true if the Simulation Movement is divergent comparing to - the delivery value - """ - delivery = sim_mvt.getDeliveryValue() - if delivery is None: - return 0 - - if self.getDivergenceList(sim_mvt) == []: - return 0 - else: - return 1 - - security.declareProtected(Permissions.View, 'getDivergenceList') - def getDivergenceList(self, sim_mvt): - """ - Return a list of messages that contains the divergences. - """ - result_list = [] - for divergence_tester in self.contentValues( - portal_type=self.getPortalDivergenceTesterTypeList()): - result = divergence_tester.explain(sim_mvt) - if isinstance(result, (list, tuple)): # for compatibility - result_list.extend(result) - elif result is not None: - result_list.append(result) - return result_list - - # Deliverability / orderability - def isOrderable(self, movement): - return 0 - - def isDeliverable(self, movement): - return 0 - - def isStable(self, applied_rule, **kw): - """ - - generate a list of previsions - - compare the prevision with existing children - - return 1 if they match, 0 else - """ - list = self._getCompensatedMovementList(applied_rule, **kw) - for e in list: - if len(e) > 0: - return 0 - return 1 - -#### Helpers to overload - def _getExpandablePropertyUpdateDict(self, applied_rule, movement, - business_path, current_property_dict): - """Rule specific dictionary used to update _getExpandablePropertyDict - This method might be overloaded. - """ - return {} - - def _getInputMovementList(self, applied_rule): - """Return list of movements for applied rule. - This method might be overloaded""" - if applied_rule.isRootAppliedRule(): - delivery = applied_rule.getDefaultCausalityValue() - movement_list = [] - if delivery is not None: - existing_movement_list = applied_rule.objectValues() - for movement in delivery.getMovementList(): - simulation_movement = self._getDeliveryRelatedSimulationMovement( - movement) - if simulation_movement is None or \ - simulation_movement in existing_movement_list: - movement_list.append(movement) - return movement_list - else: - return [applied_rule.getParentValue()] - - def _getDeliveryRelatedSimulationMovement(self, delivery_movement): - """Helper method to get the delivery related simulation movement. - This method is more robust than simply calling getDeliveryRelatedValue - which will not work if simulation movements are not indexed. - """ - simulation_movement = delivery_movement.getDeliveryRelatedValue() - if simulation_movement is not None: - return simulation_movement - # simulation movement was not found, maybe simply because it's not indexed - # yet. We'll look in the simulation tree and try to find it anyway before - # creating another simulation movement. - # Try to find the one from trade model rule, which is the most common case - # where we may expand again before indexation of simulation movements is - # finished. - delivery = delivery_movement.getExplanationValue() - for movement in delivery.getMovementList(): - related_simulation_movement = movement.getDeliveryRelatedValue() - if related_simulation_movement is not None: - for applied_rule in related_simulation_movement.contentValues(): - for simulation_movement in applied_rule.contentValues(): - if simulation_movement.getDeliveryValue() == delivery_movement: - return simulation_movement - return None - - def _generatePrevisionList(self, applied_rule, **kw): - """ - Generate a list of dictionaries, that contain calculated content of - current Simulation Movements in applied rule. - based on its context (parent movement, delivery, configuration ...) - - These previsions are returned as dictionaries. - """ - prevision_dict_list = [] - for input_movement, business_path in self \ - ._getInputMovementAndPathTupleList(applied_rule): - prevision_dict_list.append(self._getExpandablePropertyDict(applied_rule, - input_movement, business_path)) - return prevision_dict_list - -#### Helpers NOT to overload - def _getCurrentMovementList(self, applied_rule, **kw): - """ - Returns the list of current children of the applied rule, sorted in 3 - groups : immutables/mutables/deletable - - If a movement is not frozen, and has no delivered child, it can be - deleted. - Else, if a movement is not frozen, and has some delivered child, it can - be modified. - Else, it cannot be modified. - - - is delivered - - has delivered childs (including self) - - is in reserved or current state - - is frozen - - a movement is deletable if it has no delivered child, is not in current - state, and not in delivery movements. - a movement - """ - immutable_movement_list = [] - mutable_movement_list = [] - deletable_movement_list = [] - - is_root = applied_rule.isRootAppliedRule() - for movement in applied_rule.contentValues(portal_type=self.movement_type): - # XXX in root applied rule case, movement.isFrozen() is not a good - # criteria to determine if movement is immutable or not. Same for - # non-root case? - if movement.isFrozen(): - immutable_movement_list.append(movement) - else: - if is_root and not movement.hasOrder(): - ignore_first = True - else: - ignore_first = False - if movement._isTreeDelivered(ignore_first=ignore_first): - mutable_movement_list.append(movement) - else: - deletable_movement_list.append(movement) - - return (immutable_movement_list, mutable_movement_list, - deletable_movement_list) - - def _getInputMovementAndPathTupleList(self, applied_rule): - """Returns list of tuples (movement, business_path)""" - input_movement_list = self._getInputMovementList(applied_rule) - business_process = AppliedRule_getExplanationSpecialiseValue(applied_rule, - ('Business Process',)) - trade_phase_list = self.getTradePhaseList() - - # In non-BPM case, we have no business path. - if business_process is None or len(trade_phase_list) == 0: - return [(input_movement, None) for input_movement in input_movement_list] - - input_movement_and_path_list = [] - for input_movement in input_movement_list: - for business_path in business_process.getPathValueList( - trade_phase_list, - input_movement) or [None]: - input_movement_and_path_list.append((input_movement, business_path)) - - return input_movement_and_path_list - - def _getCompensatedMovementList(self, applied_rule, - matching_property_list=None, **kw): - """Compute the difference between prevision and existing movements - - Immutable movements need compensation, mutable ones needs to be modified - """ - is_bpm = self._isBPM() - add_list = [] # list of movements to be added - modify_dict = {} # dict of movements to be modified - delete_list = [] # list of movements to be deleted - - prevision_list = self._generatePrevisionList(applied_rule, **kw) - immutable_movement_list, mutable_movement_list, \ - deletable_movement_list = self._getCurrentMovementList(applied_rule, - **kw) - movement_list = immutable_movement_list + mutable_movement_list \ - + deletable_movement_list - non_matched_list = movement_list[:] # list of remaining movements - - if matching_property_list is None: - matching_property_list = self.getMatchingPropertyList() - - for prevision in prevision_list: - p_matched_list = [] - for movement in non_matched_list: - for prop in matching_property_list: - if movement.isPropertyRecorded(prop): - movement_value = movement.getRecordedProperty(prop) - else: - movement_value = movement.getProperty(prop) - if prevision.get(prop) != movement_value: - break - else: - p_matched_list.append(movement) - - # Movements exist, we'll try to make them match the prevision - if p_matched_list != []: - # Check the quantity - m_quantity = 0.0 - real_quantity = 0.0 - for movement in p_matched_list: - quantity = movement.getQuantity() - if movement.isPropertyRecorded('quantity'): - m_quantity += movement.getRecordedProperty('quantity') - else: - m_quantity += quantity - real_quantity += quantity - if m_quantity != prevision.get('quantity'): - # special case - quantity - q_diff = prevision.get('quantity') - real_quantity - # try to find a movement that can be edited - for movement in p_matched_list: - if movement in (mutable_movement_list \ - + deletable_movement_list): - # mark as requiring modification - prop_dict = modify_dict.setdefault(movement.getId(), {}) - prop_dict['quantity'] = movement.getQuantity() + \ - q_diff - break - else: - # no modifiable movement was found, need to compensate by quantity - if is_bpm: - raise NotImplementedError('Need to generate quantity compensation in %s, because all matched movements are immutable : %r.' % (applied_rule.getRelativeUrl(), [x.getRelativeUrl() for x in p_matched_list])) - else: - prevision['quantity'] = q_diff - add_list.append(prevision) - - for movement in p_matched_list: - if movement in (mutable_movement_list \ - + deletable_movement_list): - prop_dict = modify_dict.setdefault(movement.getId(), {}) - for k, v in prevision.items(): - if k in ('quantity',): - continue - if movement.isPropertyRecorded(k): - movement_value = movement.getRecordedProperty(k) - if isinstance(movement_value, list) and not isinstance(v, list): - try: - movement_value = movement_value[0] - except IndexError: - movement_value = None - else: - movement_value = movement.getProperty(k) - if v != movement_value: - prop_dict.setdefault(k, v) - - # update movement lists - for movement in p_matched_list: - non_matched_list.remove(movement) - - # No movement matched, we need to create one - else: - add_list.append(prevision) - - # delete non matched movements - for movement in non_matched_list: - if movement in deletable_movement_list: - # delete movement - delete_list.append(movement.getId()) - elif movement in mutable_movement_list: - # set movement quantity to 0 to make it "void" - prop_dict = modify_dict.setdefault(movement.getId(), {}) - prop_dict['quantity'] = 0.0 - else: - # movement not modifiable, we can decide to create a compensation - # with negative quantity - raise NotImplementedError("Tried to delete immutable movement %s" % \ - movement.getRelativeUrl()) - - return (add_list, modify_dict, delete_list) - - def _getExpandablePropertyDict(self, applied_rule, movement, business_path=None, - **kw): - """ - Return a Dictionary with the Properties used to edit the simulation - Do NOT overload this method, use _getExpandablePropertyUpdateDict instead - """ - property_dict = {} - - default_property_list = self.getExpandablePropertyList() - for prop in default_property_list: - # getProprety('title') returns the ID if title is not set, but we - # don't want to propagate such a value in simulation movements. - if prop in ('title',) and not movement.hasProperty(prop): - property_dict[prop] = None - else: - property_dict[prop] = movement.getProperty(prop) - - # rule specific - property_dict.update(**self._getExpandablePropertyUpdateDict(applied_rule, - movement, business_path, property_dict)) - - if business_path is None: - return property_dict - - # Arrow - for base_category, category_url_list in \ - business_path.getArrowCategoryDict(context=movement).iteritems(): - property_dict['%s_list' % base_category] = category_url_list - - # Amount - property_dict['quantity'] = business_path.getExpectedQuantity(movement) - - # Date - if movement.getStartDate() == movement.getStopDate(): - property_dict['start_date'] = business_path.getExpectedStartDate( - movement) - property_dict['stop_date'] = business_path.getExpectedStopDate(movement) - # in case of not fully working BPM get dates from movement - # XXX: as soon as BPM will be fully operational this hack will not be - # needed anymore - if property_dict['start_date'] is None: - property_dict['start_date'] = movement.getStartDate() - if property_dict['stop_date'] is None: - property_dict['stop_date'] = movement.getStopDate() - else: # XXX shall not be used, but business_path.getExpectedStart/StopDate - # do not works on second path... - property_dict['start_date'] = movement.getStartDate() - property_dict['stop_date'] = movement.getStopDate() - - # save a relation to business path - property_dict['causality_list'] = [business_path.getRelativeUrl()] - - return property_dict - - def _getDivergenceTesterList(self, exclude_quantity=True): - """ - Return the applicable divergence testers which must - be used to test movement divergence. (ie. not all - divergence testers of the Rule) - - exclude_quantity -- if set to true, do not consider - quantity divergence testers - """ - tester_list = self.objectValues( - portal_type=self.getPortalDivergenceTesterTypeList()) - if exclude_quantity: - # XXX hardcoded - return filter(lambda x:x.getPortalType() != 'Quantity Divergence Tester', - tester_list) - else: - return tester_list diff --git a/product/ERP5Legacy/Document/SupplyRule.py b/product/ERP5Legacy/Document/SupplyRule.py deleted file mode 100644 index b1ebd90c15..0000000000 --- a/product/ERP5Legacy/Document/SupplyRule.py +++ /dev/null @@ -1,55 +0,0 @@ -############################################################################## -# -# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved. -# Jean-Paul Smets-Solanes <jp@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo - -from Products.ERP5Type import Permissions, PropertySheet -from Products.ERP5Type.XMLMatrix import XMLMatrix -from Products.ERP5.Document.MappedValue import MappedValue - -class SupplyRule(MappedValue, XMLMatrix): - """ - Supply rule contains mapped values (if required) for each possible - variation of a resource. Structure should be similar to - transformed resource (domain / category membership) - """ - - meta_type = 'ERP5 Supply Rule' - portal_type = 'Supply Rule' - add_permission = Permissions.AddPortalContent - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - # Declarative properties - property_sheets = ( PropertySheet.Base - , PropertySheet.XMLObject - , PropertySheet.CategoryCore - ) - diff --git a/product/ERP5Legacy/Document/TaxRule.py b/product/ERP5Legacy/Document/TaxRule.py deleted file mode 100644 index aeecb38e31..0000000000 --- a/product/ERP5Legacy/Document/TaxRule.py +++ /dev/null @@ -1,99 +0,0 @@ -############################################################################## -# -# Copyright (c) 2002, 2005 Nexedi SARL and Contributors. All Rights Reserved. -# Jean-Paul Smets-Solanes <jp@nexedi.com> -# Romain Courteaud <romain@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo -from Products.ERP5Type import Permissions -from Products.ERP5Legacy.Document.Rule import Rule -from Products.ERP5Legacy.Document.DeliveryRule import DeliveryRule - -class TaxRule(DeliveryRule): - """ - """ - # CMF Type Definition - meta_type = 'ERP5 Tax Rule' - portal_type = 'Tax Rule' - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - security.declareProtected(Permissions.ModifyPortalContent, 'expand') - def expand(self, applied_rule, force=0, **kw): - """ """ - immutable_movement_list = [] - - root_simulation_movement = applied_rule.getRootSimulationMovement() - order_movement = root_simulation_movement.getDefaultOrderValue() - if order_movement is None: - order_movement = root_simulation_movement.getDefaultDeliveryValue() - - order_movement_dict = {} - for s_m in applied_rule.objectValues(): - order_movement_dict.setdefault(s_m.getOrder() or s_m.getDelivery(), []).append(s_m) - - order_movement_total_price = order_movement.getTotalPrice() - root_simulation_movement_total_price = \ - root_simulation_movement.getTotalPrice() - - # XXX round - if order_movement_total_price != 0 and \ - root_simulation_movement_total_price != 0: - - ratio = root_simulation_movement_total_price / \ - order_movement_total_price - for tax_movement in order_movement\ - .DeliveryMovement_getCorrespondingTaxLineList(): - existing_simulation_movement_list = order_movement_dict.get( - tax_movement.getRelativeUrl(), []) - - property_dict = dict() - for prop in ('price', 'base_application_list', - 'price_currency', 'payment_mode', - 'base_contribution_list', 'resource'): - property_dict[prop] = tax_movement.getProperty(prop) - - property_dict['quantity'] = tax_movement.getQuantity() * ratio - - if not existing_simulation_movement_list: - applied_rule.newContent( - portal_type=self.movement_type, - order_value=tax_movement, - order_ratio=1, - delivery_ratio=1, - **property_dict ) - else: - for existing_simulation_movement in \ - existing_simulation_movement_list: - if existing_simulation_movement.getDelivery() is None\ - and not "split" in existing_simulation_movement.getId(): - existing_simulation_movement.edit(**property_dict) - - # Pass to base class - Rule.expand(self, applied_rule, force=force, **kw) - diff --git a/product/ERP5Legacy/Document/TradeModelRule.py b/product/ERP5Legacy/Document/TradeModelRule.py deleted file mode 100644 index 48d74e0a0e..0000000000 --- a/product/ERP5Legacy/Document/TradeModelRule.py +++ /dev/null @@ -1,91 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2009 Nexedi SARL and Contributors. All Rights Reserved. -# Åukasz Nowak <luke@nexedi.com> -# -# 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 advised 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo -from Products.ERP5Type import Permissions - -from Products.ERP5Legacy.Document.Rule import Rule, \ - AppliedRule_getExplanationSpecialiseValue - -class TradeModelRule(Rule): - """ - Rule for Trade Model - """ - # CMF Type Definition - meta_type = 'ERP5 Trade Model Rule' - portal_type = 'Trade Model Rule' - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - def _isBPM(self): - return True - - def _getExpandableAmountPropertyDict(self, amount): - """Return a dict of properties extracted from an amount.""" - d = {} - for property in ('price', 'resource_list', 'reference', 'quantity', - 'base_application_list', 'base_contribution_list', 'use'): - d[property] = amount.getProperty(property) - return d - - def _generatePrevisionList(self, applied_rule, **kw): - """Generates list of movements (as dicts), and let parent class to decide - which is to add, modify or delete""" - movement_list = [] - trade_condition = AppliedRule_getExplanationSpecialiseValue(applied_rule, - ('Purchase Trade Condition', 'Sale Trade Condition')) - business_process = AppliedRule_getExplanationSpecialiseValue(applied_rule, - ('Business Process',)) - - if trade_condition is None or business_process is None: - return movement_list - - context_movement = applied_rule.getParentValue() - for amount in trade_condition.getAggregatedAmountList(context_movement): - if not amount.getQuantity(): - continue - # business path specific - business_path_list = business_process.getPathValueList( - trade_phase=amount.getTradePhaseList(), context=context_movement) - if len(business_path_list) > 1: - raise NotImplementedError('Only one Business Path is supported') - - if business_path_list: - business_path = business_path_list[0] - else: - business_path = None - - movement_kw = self._getExpandablePropertyDict(applied_rule, - context_movement, business_path) - movement_kw.update(self._getExpandableAmountPropertyDict(amount)) - movement_list.append(movement_kw) - - return movement_list diff --git a/product/ERP5Legacy/Document/TransformationModelRule.py b/product/ERP5Legacy/Document/TransformationModelRule.py deleted file mode 100644 index 7ef9f36381..0000000000 --- a/product/ERP5Legacy/Document/TransformationModelRule.py +++ /dev/null @@ -1,396 +0,0 @@ -# -*- coding:utf-8 -*- -############################################################################## -# -# Copyright (c) 2002-2009 Nexedi SARL and Contributors. All Rights Reserved. -# Jean-Paul Smets-Solanes <jp@nexedi.com> -# Romain Courteaud <romain@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from ExtensionClass import Base -import zope.interface -from AccessControl import ClassSecurityInfo - -from Products.ERP5Type import Permissions, interfaces -from Products.ERP5Legacy.Document.Rule import Rule -from Products.ERP5Type.Errors import TransformationRuleError - -class MovementFactory: - movement_type = 'Simulation Movement' - def getRequestList(self): - """ - return the list of a request which to be used to apply movements - """ - raise NotImplementedError, 'Must be implemented on each child' - - def _getCausalityList(self, causality=None, causality_value=None, - causality_list=None, causality_value_list=None, - **kw): - if causality is not None: - return [causality] - elif causality_value is not None: - return [causality_value.getRelativeUrl()] - elif causality_list is not None: - return causality_list - elif causality_value_list is not None: - return [causality_value.getRelativeUrl() - for causality_value in causality_value_list] - - def makeMovements(self, applied_rule): - """ - make movements under the applied_rule by requests - """ - movement_dict = {} - for movement in applied_rule.objectValues( - portal_type=self.movement_type): - key = tuple(sorted(movement.getCausalityList())) - movement_dict[key] = movement - - for request in self.getRequestList(): - # get movement by causality - key = tuple(sorted(self._getCausalityList(**request))) - movement = movement_dict.get(key, None) - # when no exist - if movement is None: - movement = applied_rule.newContent(portal_type=self.movement_type) - # update - if movement.isFrozen(): - self.makeDifferentMovement(movement, **request) - else: - movement.edit(**request) - - def _requestNetQuantity(self, request): - quantity = request.get('quantity', None) - efficiency = request.get('efficiency', None) - if efficiency in (0, 0.0, None, ''): - efficiency = 1.0 - return float(quantity) / efficiency - - def makeDifferentMovement(self, movement, **request): - """ - make different movement, which is based on original movement. - this implementation just focus about quantity. - """ - applied_rule = movement.getParentValue() - request['quantity'] = self._requestNetQuantity(request)\ - - movement.getNetQuantity() - if request['quantity'] != 0: - diff_movement = applied_rule.newContent(portal_type=self.movement_type) - diff_movement.edit(**request) - - -class TransformationModelMovementFactory(MovementFactory): - def __init__(self): - self.product = None # base information to use for making movements - self.produced_list = list() - self.consumed_list = list() - - def requestProduced(self, **produced): - self.produced_list.append(produced) - - def requestConsumed(self, **consumed): - self.consumed_list.append(consumed) - - def getRequestList(self): - """ - return the list of a request which to be used to apply movements - """ - _list = [] - """ - produced quantity should be represented by minus quantity on movement. - because plus quantity is consumed. - """ - for (request_list, sign) in ((self.produced_list, -1), - (self.consumed_list, 1)): - for request in request_list: - d = self.product.copy() - d.update(request) - d['quantity'] *= sign - _list.append(d) - return _list - - -class TransformationModelRuleMixin(Base): - security = ClassSecurityInfo() - - security.declareProtected(Permissions.View, 'getTransformationValue') - def getTransformationValue(self, movement=None, applied_rule=None): - """ - Return transformation related to used by the applied rule. - """ - if movement is None and applied_rule is not None: - movement = applied_rule.getParentValue() - - # 'order' category is deprecated. it is kept for compatibility. - order_movement = movement.getRootSimulationMovement().getOrderValue() - if order_movement is None: - order_movement = movement.getRootSimulationMovement().getDeliveryValue() - explanation = self.getExplanationValue(movement=movement, - applied_rule=applied_rule) - # find the line of order recursively - order_line = order_movement - while order_line.getParentValue() != explanation: - order_line = order_line.getParentValue() - - script = order_line._getTypeBasedMethod('_getTransformation') - if script is not None: - transformation = script() - else: - line_transformation = order_line.objectValues( - portal_type=self.getPortalTransformationTypeList()) - if len(line_transformation) == 1: - transformation = line_transformation[0] - else: - transformation = order_line.getSpecialiseValue( - portal_type=self.getPortalTransformationTypeList()) - - if transformation.getResource() == movement.getResource(): - return transformation - - security.declareProtected(Permissions.View, 'getBusinessProcessValue') - def getBusinessProcessValue(self, movement=None, applied_rule=None, portal_type_list=None): - """ - Return a business process related to the root causality. - """ - if portal_type_list is None: - portal_type_list = self.getPortalBusinessProcessTypeList() - - explanation = self.getExplanationValue(movement=movement, - applied_rule=applied_rule) - if explanation is not None: - specialise = explanation.getSpecialiseValue() - business_process_type_list = self.getPortalBusinessProcessTypeList() - # because trade condition can be specialised - while specialise is not None and \ - hasattr(specialise, 'getSpecialiseValue') and \ - specialise.getPortalType() not in portal_type_list: - specialise = specialise.getSpecialiseValue() - return specialise - - security.declareProtected(Permissions.View, 'getExplanationValue') - def getExplanationValue(self, movement=None, applied_rule=None): - """ - Return the explanation with the movement or the applied_rule. - """ - if applied_rule is not None: - return applied_rule.getRootAppliedRule().getCausalityValue() - else: - root_simulation_movement = movement.getRootSimulationMovement() - # 'order' category is deprecated. it is kept for compatibility. - order = root_simulation_movement.getOrderValue() - if order is None: - order = root_simulation_movement.getDeliveryValue() - return order.getExplanationValue() - - def getHeadProductionPathValueList(self, transformation, business_process): - """ - Return list of path which is head of transformation trade_phases - """ - return business_process.getHeadPathValueList( - set([amount.getTradePhase() - for amount in transformation.getAggregatedAmountList()])) - - -class TransformationModelRule(TransformationModelRuleMixin, Rule): - """ - """ - - # CMF Type Definition - meta_type = 'ERP5 Transformation Model Rule' - portal_type = 'Transformation Model Rule' - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - zope.interface.implements(interfaces.IPredicate, - interfaces.IRule ) - - def getFactory(self): - return TransformationModelMovementFactory() - - security.declareProtected(Permissions.ModifyPortalContent, 'expand') - def expand(self, applied_rule, **kw): - """ - """ - parent_movement = applied_rule.getParentValue() - - transformation = self.getTransformationValue(movement=parent_movement) - business_process = self.getBusinessProcessValue(movement=parent_movement) - explanation = self.getExplanationValue(movement=parent_movement) - - # get all trade_phase of the Business Process - trade_phase_list = business_process.getTradePhaseList() - - # get head of production path from business process with trade_phase_list - head_production_path_value_list = self.getHeadProductionPathValueList(transformation, - business_process) - # the factory which is to make simulation movements - factory = self.getFactory() - factory.product = dict( - resource=transformation.getResource(), - quantity=parent_movement.getNetQuantity(), - quantity_unit=parent_movement.getQuantityUnit(), - variation_category_list=parent_movement.getVariationCategoryList(), - variation_property_dict=parent_movement.getVariationPropertyDict(),) - - # consumed amounts are sorted by phase, but not ordered. - amount_dict = {} - for amount in transformation.getAggregatedAmountList(): - phase = amount.getTradePhase() - if phase not in trade_phase_list: - raise TransformationRuleError,\ - "the trade phase %r is not part of Business Process %r" % (phase, business_process) - amount_dict.setdefault(phase, []) - amount_dict[phase].append(amount) - - transformation_phase_list = amount_dict.keys() - - last_phase_path_list = list() # to keep phase_path_list - last_prop_dict = dict() - for (phase, amount_list) in amount_dict.items(): - phase_path_value_list = business_process.getPathValueList(phase) - """ - XXX: In this context, we assume quantity as ratio, - but this "quantity as ratio" is consistent with transformation. - """ - if sum(map(lambda path: path.getQuantity(), phase_path_value_list)) != 1: - raise TransformationRuleError,\ - "the sum ratio at the Trade Phase %r on the Business Process %r is not 1"\ - % (phase, business_process) - - for path in phase_path_value_list: - path_common_dict = dict(causality_value=path, - start_date=path.getExpectedStartDate(explanation), - stop_date=path.getExpectedStopDate(explanation)) - - # the quantity which is produced/consumed at the path. - quantity = factory.product['quantity'] * path.getQuantity() - - # nodes at the path - source_section = path.getSourceSection(context=parent_movement) - destination_section = path.getDestinationSection(context=parent_movement) - source = path.getSource(context=parent_movement) - destination = path.getDestination(context=parent_movement) - - # the remaining at the start and the end on the path - predecessor_remaining_phase_list = path.getPredecessorValue()\ - .getRemainingTradePhaseList(explanation, - trade_phase_list=transformation_phase_list) - successor_remaining_phase_list = path.getSuccessorValue()\ - .getRemainingTradePhaseList(explanation, - trade_phase_list=transformation_phase_list) - - consumed_common_dict = dict(source_section=source_section, - destination_section=destination_section, - source=source, - **path_common_dict) - - produced_common_dict = dict(source_section=source_section, - destination_section=destination_section, - destination=destination, - trade_phase_value_list=successor_remaining_phase_list, - **path_common_dict) - - # when the path is not a part in the last phase on the transformation. - if len(successor_remaining_phase_list) != 0: - # partial produced movement - factory.requestProduced( - quantity=quantity, - **produced_common_dict) - else: - last_phase_path_list.append(path) - - # used for matching - work_dict = dict(filter(lambda x: x[0] != 'causality_value', - produced_common_dict.items())) - - # when empty - if not last_prop_dict: - last_prop_dict.update(work_dict) - - # must be same, because the path(s) are integrated in the last phase on the transformation. - if last_prop_dict != work_dict: - raise TransformationRuleError,\ - """the Properties which is used to make a movement on the last path -are different with the Transformation %r and the Business Process %r"""\ - % (transformation, business_process) - - # when the path is part of production, but not first, consume previous partial product - if path not in head_production_path_value_list: - factory.requestConsumed( - quantity=quantity, - trade_phase_value_list=predecessor_remaining_phase_list, - **consumed_common_dict) - - # consumed movement - for amount in amount_list: - factory.requestConsumed( - resource=amount.getResource(), - quantity=quantity * amount.getQuantity() / amount.getEfficiency(), - quantity_unit=amount.getQuantityUnit(), - trade_phase=path.getTradePhase(), - **consumed_common_dict) - - """ - valid graph for transformation - a --- b --- c - - a -- - \ - X b - / - c -- - - invalid graph - a ------- b - c ------- d - - -- b - / - a X - \ - -- c - """ - # when empty - if last_phase_path_list is None or len(last_phase_path_list) == 0: - raise TransformationRuleError,\ - """could not make the product with the Transformation %r on the Business Process %r, -because last_phase_path_list is empty.""" % (transformation, business_process) - - factory.requestProduced( - causality_value_list=last_phase_path_list, - # in the last phase of transformation, produced quantity must be planned as same as ordered. - quantity=factory.product['quantity'], - **last_prop_dict) - - # make actual simulation movements - factory.makeMovements(applied_rule) - - Rule.expand(self, applied_rule, **kw) - - # Deliverability / orderability - def isDeliverable(self, m): - return 1 - def isOrderable(self, m): - return 0 diff --git a/product/ERP5Legacy/Document/TransformationRule.py b/product/ERP5Legacy/Document/TransformationRule.py deleted file mode 100644 index 35ec49279c..0000000000 --- a/product/ERP5Legacy/Document/TransformationRule.py +++ /dev/null @@ -1,305 +0,0 @@ -############################################################################## -# -# Copyright (c) 2002-2009 Nexedi SARL and Contributors. All Rights Reserved. -# Jean-Paul Smets-Solanes <jp@nexedi.com> -# Romain Courteaud <romain@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import zope.interface -from AccessControl import ClassSecurityInfo - -from Products.ERP5Type import Permissions, interfaces -from Products.ERP5Legacy.Document.Rule import Rule -from Products.ERP5Type.Errors import TransformationRuleError -from Products.ERP5Legacy.Document.TransformationSourcingRule import\ - TransformationSourcingRuleMixin - -class TransformationRule(TransformationSourcingRuleMixin, Rule): - """ - Order Rule object make sure an Order in the similation - is consistent with the real order - """ - # CMF Type Definition - meta_type = 'ERP5 Transformation Rule' - portal_type = 'Transformation Rule' - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - zope.interface.implements(interfaces.IPredicate, - interfaces.IRule ) - - # Simulation workflow - security.declareProtected(Permissions.ModifyPortalContent, 'expand') - def expand(self, applied_rule, **kw): - """ - Expands the current movement downward. - -> new status -> expanded - An applied rule can be expanded only if its parent movement - is expanded. - """ - parent_movement = applied_rule.getParentValue() - # Get production node and production section - production = parent_movement.getSource() - production_section = parent_movement.getSourceSection() - # Get the current supply link used to calculate consumed resource - # The current supply link is calculated from the parent AppliedRule. - supply_chain = self.getSupplyChain(parent_movement.getParentValue()) - parent_supply_link = self.getCurrentSupplyLink(parent_movement) - current_supply_link_list = supply_chain.\ - getPreviousProductionSupplyLinkList(parent_supply_link) - if len(current_supply_link_list) != 1: - # We shall no pass here. - # The test method returned a wrong value ! - raise TransformationRuleError,\ - "Expand must not be called on %r" %\ - applied_rule.getRelativeUrl() - else: - current_supply_link = current_supply_link_list[0] - # Generate produced movement - movement_dict = self._expandProducedResource(applied_rule, - production, - production_section, - current_supply_link) - # Generate consumed movement - consumed_mvt_dict = self._expandConsumedResource(applied_rule, - production, - production_section, - current_supply_link) - movement_dict.update(consumed_mvt_dict) - # Finally, build movement - self._buildMovementList(applied_rule, movement_dict, **kw) - # Expand each movement created - Rule.expand(self, applied_rule, **kw) - - def _expandProducedResource(self, applied_rule, production, - production_section, current_supply_link): - """ - Produced resource. - Create a movement for the resource produced by the transformation. - Only one produced movement can be created. - """ - parent_movement = applied_rule.getParentValue() - stop_date = parent_movement.getStartDate() - produced_movement_dict = { - 'pr': { - "resource": parent_movement.getResource(), - # XXX what is lost quantity ? - "quantity": parent_movement.getQuantity(),# + lost_quantity, - "quantity_unit": parent_movement.getQuantityUnit(), - "variation_category_list":\ - parent_movement.getVariationCategoryList(), - "variation_property_dict": \ - parent_movement.getVariationPropertyDict(), - "source_list": (), - "source_section_list": (), - "destination": production, - "destination_section": production_section, - 'start_date': current_supply_link.calculateStartDate(stop_date), - 'stop_date': stop_date, - 'causality_value': current_supply_link, - } - } - return produced_movement_dict - - def _expandConsumedResource(self, applied_rule, production, - production_section, current_supply_link): - """ - Consumed resource. - Create a movement for each resource consumed by the transformation, - and for the previous variation of the produced resource. - """ - # Calculate all consumed resource - # Store each value in a dictionnary before created them. - # { movement_id: {property_name: property_value,} ,} - consumed_movement_dict = {} - parent_movement = applied_rule.getParentValue() - supply_chain = self.getSupplyChain(parent_movement.getParentValue()) - # Consumed previous variation - previous_variation_dict = self._expandConsumedPreviousVariation( - applied_rule, - production, - production_section, - supply_chain, - current_supply_link) - consumed_movement_dict.update(previous_variation_dict) - # Consumed raw materials - raw_material_dict = self._expandConsumedRawMaterials( - applied_rule, - production, - production_section, - supply_chain, - current_supply_link) - consumed_movement_dict.update(raw_material_dict) - return consumed_movement_dict - - def _expandConsumedPreviousVariation(self, applied_rule, production, - production_section, supply_chain, - current_supply_link): - """ - Create a movement for the previous variation of the produced resource. - """ - id_count = 1 - consumed_movement_dict = {} - parent_movement = applied_rule.getParentValue() - # Calculate the variation category list of parent movement - base_category_list = parent_movement.getVariationBaseCategoryList() - if "industrial_phase" in base_category_list: - # We do not want to get the industrial phase variation - base_category_list.remove("industrial_phase") - category_list = parent_movement.getVariationCategoryList( - base_category_list=base_category_list) - # Calculate the previous variation - for previous_supply_link in supply_chain.\ - getPreviousSupplyLinkList(current_supply_link): - previous_ind_phase_list = supply_chain.\ - getPreviousProductionIndustrialPhaseList(previous_supply_link, - all=1) - if previous_ind_phase_list != []: - # Industrial phase is a category - ind_phase_list = [x.getRelativeUrl() for x in \ - previous_ind_phase_list] - consumed_mvt_id = "%s_%s" % ("mr", id_count) - id_count += 1 - stop_date = parent_movement.getStartDate() - consumed_movement_dict[consumed_mvt_id] = { - 'start_date': current_supply_link.calculateStartDate(stop_date), - 'stop_date': stop_date, - "resource": parent_movement.getResource(), - # XXX Is the quantity value correct ? - "quantity": parent_movement.getNetQuantity(), # getNetQuantity to support efficency from transformation - "quantity_unit": parent_movement.getQuantityUnit(), - "destination_list": (), - "destination_section_list": (), - "source": production, - "source_section": production_section, - "variation_category_list": category_list+ind_phase_list, - "variation_property_dict": \ - parent_movement.getVariationPropertyDict(), - 'causality_value': current_supply_link, - } - return consumed_movement_dict - - def _expandConsumedRawMaterials(self, applied_rule, production, - production_section, supply_chain, - current_supply_link): - """ - Create a movement for each resource consumed by the transformation, - """ - parent_movement = applied_rule.getParentValue() - # Calculate the context for getAggregatedAmountList - base_category_list = parent_movement.getVariationBaseCategoryList() - if "industrial_phase" in base_category_list: - # We do not want to get the industrial phase variation - base_category_list.remove("industrial_phase") - category_list = parent_movement.getVariationCategoryList( - base_category_list=base_category_list) - # Get the transformation to use - transformation = self.getTransformation(applied_rule) - # Generate the fake context - tmp_context = parent_movement.asContext(categories=category_list) - # Calculate the industrial phase list - previous_ind_phase_list = supply_chain.\ - getPreviousPackingListIndustrialPhaseList(current_supply_link) - ind_phase_url_list = [x.getCategoryRelativeUrl() - for x in previous_ind_phase_list] - # Call getAggregatedAmountList - # XXX expand failed if transformation is not defined. - # Do we need to catch the exception ? - amount_list = transformation.getAggregatedAmountList((tmp_context,)) - # Add entries in the consumed_movement_dict - consumed_movement_dict = {} - for amount in amount_list: - model_line = amount.getCausalityValue() - if model_line.getIndustrialPhase() not in ind_phase_url_list: - continue - consumed_mvt_id = "cr_%s_%s_%s" % (model_line.getParentId(), - model_line.getId(), - tmp_context.getId()) - stop_date = parent_movement.getStartDate() - resource_price = amount.getResourcePrice() - price = None - if resource_price is not None: - price = amount.getNetQuantity() * resource_price # getNetQuantity to support efficency from transformation - consumed_movement_dict[consumed_mvt_id] = { - 'start_date': current_supply_link.calculateStartDate(stop_date), - 'stop_date': stop_date, - "resource": amount.getResource(), - "variation_category_list":\ - amount.getVariationCategoryList(), - "variation_property_dict": \ - amount.getVariationPropertyDict(), - "quantity": amount.getNetQuantity(), # getNetQuantity to support efficency from < - "price": price, - "quantity_unit": amount.getQuantityUnit(), - "destination_list": (), - "destination_section_list": (), - "source": production, - "source_section": production_section, - 'causality_value': current_supply_link, - } - return consumed_movement_dict - - security.declareProtected(Permissions.ModifyPortalContent, 'solve') - def solve(self, applied_rule, solution_list): - """ - Solve inconsistency according to a certain number of solutions - templates. This updates the - - -> new status -> solved - - This applies a solution to an applied rule. Once - the solution is applied, the parent movement is checked. - If it does not diverge, the rule is reexpanded. If not, - diverge is called on the parent movement. - """ - - security.declareProtected(Permissions.ModifyPortalContent, 'diverge') - def diverge(self, applied_rule): - """ - -> new status -> diverged - - This basically sets the rule to "diverged" - and blocks expansion process - """ - -# # Solvers -# security.declareProtected(Permissions.View, 'isDivergent') -# def isDivergent(self, applied_rule): -# """ -# Returns 1 if divergent rule -# """ -# -# security.declareProtected(Permissions.View, 'getDivergenceList') -# def getDivergenceList(self, applied_rule): -# """ -# Returns a list Divergence descriptors -# """ - - # Deliverability / orderability - def isDeliverable(self, m): - return 1 - def isOrderable(self, m): - return 0 - diff --git a/product/ERP5Legacy/Document/TransformationSourcingModelRule.py b/product/ERP5Legacy/Document/TransformationSourcingModelRule.py deleted file mode 100644 index 81f4bfb7ea..0000000000 --- a/product/ERP5Legacy/Document/TransformationSourcingModelRule.py +++ /dev/null @@ -1,132 +0,0 @@ -############################################################################## -# -# Copyright (c) 2002, 2005 Nexedi SARL and Contributors. All Rights Reserved. -# Jean-Paul Smets-Solanes <jp@nexedi.com> -# Romain Courteaud <romain@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import zope.interface -from AccessControl import ClassSecurityInfo - -from Products.ERP5Type import Permissions, interfaces -from Products.ERP5Legacy.Document.Rule import Rule -from Products.ERP5Legacy.Document.TransformationModelRule import MovementFactory, TransformationModelRuleMixin - -class TransformationSourcingRuleError(Exception): pass - -class SourcingMovementFactory(MovementFactory): - def __init__(self): - self.request_list = list() - - def requestSourcing(self, **sourcing): - self.request_list.append(sourcing) - - def getRequestList(self): - return self.request_list - -class TransformationSourcingModelRule(TransformationModelRuleMixin, Rule): - """ - Transformation Sourcing Rule object make sure - items required in a Transformation are sourced - """ - # CMF Type Definition - meta_type = 'ERP5 Transformation Sourcing Model Rule' - portal_type = 'Transformation Sourcing Model Rule' - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - zope.interface.implements(interfaces.IPredicate, - interfaces.IRule ) - - def getFactory(self): - return SourcingMovementFactory() - - security.declareProtected(Permissions.ModifyPortalContent, 'expand') - def expand(self, applied_rule, **kw): - """ - Expands the current movement downward. - -> new status -> expanded - An applied rule can be expanded only if its parent movement - is expanded. - """ - parent_movement = applied_rule.getParentValue() - - explanation = self.getExplanationValue(applied_rule=applied_rule) - state = parent_movement.getCausalityValue().getPredecessorValue() - path_list = state.getSuccessorRelatedValueList() - - if len(path_list) == 0: - raise TransformationSourcingRuleError,\ - "Not found deliverable business path" - if len(path_list) > 1: - raise TransformationSourcingRuleError,\ - "Found 2 or more deliverable business path" - - path = path_list[0] - - source_section = path.getSourceSection(context=parent_movement) - destination_section = path.getDestinationSection(context=parent_movement) - source = path.getSource(context=parent_movement) - destination = path.getDestination(context=parent_movement) - - start_date = path.getExpectedStartDate(explanation) - stop_date = path.getExpectedStopDate(explanation) - - quantity = parent_movement.getNetQuantity() * path.getQuantity() - price = parent_movement.getPrice() - if price is not None: - price *= path.getQuantity() - - factory = self.getFactory() - factory.requestSourcing( - causality_value=path, - source=source, - source_section=source_section, - destination=destination, - destination_section=destination_section, - resource=parent_movement.getResource(), - variation_category_list=parent_movement.getVariationCategoryList(), - variation_property_dict=parent_movement.getVariationPropertyDict(), - quantity=quantity, - price=price, - quantity_unit=parent_movement.getQuantityUnit(), - start_date=start_date, - stop_date=stop_date, - ) - - factory.makeMovements(applied_rule) - Rule.expand(self, applied_rule, **kw) - - def isDeliverable(self, m): - resource = m.getResource() - # operation is not deliverable - if resource is None or \ - resource.find('operation/') >= 0: - return 0 - else: - return 1 - - def isOrderable(self, m): - return 0 diff --git a/product/ERP5Legacy/Document/TransformationSourcingRule.py b/product/ERP5Legacy/Document/TransformationSourcingRule.py deleted file mode 100644 index 6b75a7a251..0000000000 --- a/product/ERP5Legacy/Document/TransformationSourcingRule.py +++ /dev/null @@ -1,250 +0,0 @@ -############################################################################## -# -# Copyright (c) 2002, 2005 Nexedi SARL and Contributors. All Rights Reserved. -# Jean-Paul Smets-Solanes <jp@nexedi.com> -# Romain Courteaud <romain@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import ExtensionClass - -import zope.interface -from AccessControl import ClassSecurityInfo - -from Products.ERP5Type import Permissions, interfaces -from Products.ERP5Legacy.Document.Rule import Rule - -class ProductionOrderError(Exception): pass -class TransformationSourcingRuleError(Exception): pass - -class TransformationSourcingRuleMixin(ExtensionClass.Base): - """ - Mixin class used by TransformationSourcingRule and TransformationRule - """ - # Declarative security - security = ClassSecurityInfo() - - security.declareProtected(Permissions.View, - 'getSupplyChain') - def getSupplyChain(self, applied_rule): - """ - Get the SupplyChain. - """ - # Get the SupplyChain to use - supply_chain_portal_type = "Supply Chain" - order = applied_rule.getRootAppliedRule().getCausalityValue() - supply_chain = order.getSpecialiseValue( - portal_type=supply_chain_portal_type) - if supply_chain is None: - raise ProductionOrderError,\ - "No SupplyChain defined on %s" % str(order) - else: - return supply_chain - - def getCurrentSupplyLink(self, movement): - """ - Get the current SupplyLink - """ - # Get the current supply link - supply_link_portal_type = "Supply Link" - current_supply_link = movement.getCausalityValue( - portal_type=supply_link_portal_type) - return current_supply_link - - security.declareProtected(Permissions.ModifyPortalContent, - '_buildMovementList') - def _buildMovementList(self, applied_rule, movement_dict,activate_kw=None,**kw): - """ - For each movement in the dictionnary, test if the movement already - exists. - If not, create it. - Then, update the movement attributes. - """ - for movement_id in movement_dict.keys(): - movement = applied_rule.get(movement_id) - # Create the movement if it does not exist - if movement is None: - movement = applied_rule.newContent( - portal_type=self.movement_type, - id=movement_id, - activate_kw=activate_kw - ) - # We shouldn't modify frozen movements - elif movement.isFrozen(): - # FIXME: this is not perfect, instead of just skipping this one, we - # should generate a compensation movement - continue - # Update movement properties - movement.edit(activate_kw=activate_kw, **(movement_dict[movement_id])) - - security.declareProtected(Permissions.View, 'getTransformation') - def getTransformation(self, movement): - """ - Get transformation related to used by the applied rule. - """ - root_simulation_movement = movement.getRootSimulationMovement() - # 'order' category is deprecated. it is kept for compatibility. - production_order_movement = root_simulation_movement.getOrderValue() - if production_order_movement is None: - production_order_movement = root_simulation_movement.getDeliveryValue() - # XXX Acquisition can be use instead - parent_uid = production_order_movement.getParentUid() - explanation_uid = production_order_movement.getExplanationUid() - if parent_uid == explanation_uid: - production_order_line = production_order_movement - else: - production_order_line = production_order_movement.getParentValue() - script = production_order_line._getTypeBasedMethod('_getTransformation') - if script is not None: - transformation = script() - else: - line_transformation = production_order_line.objectValues( - portal_type=self.getPortalTransformationTypeList()) - if len(line_transformation)==1: - transformation = line_transformation[0] - else: - transformation = production_order_line.getSpecialiseValue( - portal_type=self.getPortalTransformationTypeList()) - return transformation - -class TransformationSourcingRule(TransformationSourcingRuleMixin, Rule): - """ - Transformation Sourcing Rule object make sure - items required in a Transformation are sourced - """ - # CMF Type Definition - meta_type = 'ERP5 Transformation Sourcing Rule' - portal_type = 'Transformation Sourcing Rule' - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - zope.interface.implements(interfaces.IPredicate, - interfaces.IRule ) - - security.declareProtected(Permissions.ModifyPortalContent, 'expand') - def expand(self, applied_rule, activate_kw=None,**kw): - """ - Expands the current movement downward. - -> new status -> expanded - An applied rule can be expanded only if its parent movement - is expanded. - """ - parent_movement = applied_rule.getParentValue() - # Calculate the previous supply link - supply_chain = self.getSupplyChain(parent_movement.getParentValue()) - parent_supply_link = self.getCurrentSupplyLink(parent_movement) - previous_supply_link_list = supply_chain.\ - getPreviousPackingListSupplyLinkList( - parent_supply_link, - movement=parent_movement) - if len(previous_supply_link_list) == 0: - raise TransformationSourcingRuleError,\ - "Expand must not be called on %r" %\ - applied_rule.getRelativeUrl() - else: - movement_dict = {} - for previous_supply_link in previous_supply_link_list: - # Calculate the source - source_value = None - source_node = previous_supply_link.getSourceValue() - if source_node is not None: - source_value = source_node.getDestinationValue() - source_section_value = previous_supply_link.getSourceSectionValue() - # Generate the dict - stop_date = parent_movement.getStartDate() - movement_dict.update({ - "ts": { - 'source_value': source_value, - 'source_section_value': source_section_value, - 'destination_value': parent_movement.getSourceValue(), - 'destination_section_value': \ - parent_movement.getSourceSectionValue(), - 'resource_value': parent_movement.getResourceValue(), - 'variation_category_list': parent_movement.\ - getVariationCategoryList(), - "variation_property_dict": \ - parent_movement.getVariationPropertyDict(), - 'quantity': parent_movement.getNetQuantity(), # getNetQuantity to support efficency from transformation - 'price': parent_movement.getPrice(), - 'quantity_unit': parent_movement.getQuantityUnit(), - 'start_date': previous_supply_link.calculateStartDate(stop_date), - 'stop_date': stop_date, - # Save the value of the current supply link - 'causality_value': previous_supply_link, - } - }) - # Build the movement - self._buildMovementList(applied_rule, movement_dict, - activate_kw=activate_kw) - # Create one submovement which sources the transformation - Rule.expand(self, applied_rule, activate_kw=activate_kw, **kw) - - security.declareProtected(Permissions.ModifyPortalContent, 'solve') - def solve(self, applied_rule, solution_list): - """ - Solve inconsistency according to a certain number of solutions - templates. This updates the - - -> new status -> solved - - This applies a solution to an applied rule. Once - the solution is applied, the parent movement is checked. - If it does not diverge, the rule is reexpanded. If not, - diverge is called on the parent movement. - """ - - security.declareProtected(Permissions.ModifyPortalContent, 'diverge') - def diverge(self, applied_rule): - """ - -> new status -> diverged - - This basically sets the rule to "diverged" - and blocks expansion process - """ - -# # Solvers -# security.declareProtected(Permissions.View, 'isDivergent') -# def isDivergent(self, applied_rule): -# """ -# Returns 1 if divergent rule -# """ -# -# security.declareProtected(Permissions.View, 'getDivergenceList') -# def getDivergenceList(self, applied_rule): -# """ -# Returns a list Divergence descriptors -# """ - - def isDeliverable(self, m): - resource = m.getResource() - if m.getResource() is None: - return 0 - if resource.find('operation/') >= 0: - return 0 - else: - return 1 - - def isOrderable(self, m): - return 0 - diff --git a/product/ERP5Legacy/Document/__init__.py b/product/ERP5Legacy/Document/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/product/ERP5Legacy/OrderBuilder.py b/product/ERP5Legacy/OrderBuilder.py deleted file mode 100644 index 9261d77daf..0000000000 --- a/product/ERP5Legacy/OrderBuilder.py +++ /dev/null @@ -1,833 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2005-2008 Nexedi SA and Contributors. All Rights Reserved. -# Romain Courteaud <romain@nexedi.com> -# -# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from AccessControl import ClassSecurityInfo -from Products.ERP5Type import Permissions, PropertySheet -from Products.ERP5Type.Base import Base -from Products.ERP5Type.XMLObject import XMLObject -from Products.ERP5Type.Core.Predicate import Predicate -from Products.ERP5.mixin.builder import BuilderMixin -from Products.ERP5.Document.Amount import Amount -from Products.ERP5.MovementGroup import MovementGroupNode -from Products.ERP5Type.TransactionalVariable import getTransactionalVariable -from Products.ERP5Type.UnrestrictedMethod import UnrestrictedMethod -from DateTime import DateTime -from Acquisition import aq_parent, aq_inner, aq_base - -class CollectError(Exception): pass -class MatrixError(Exception): pass -class DuplicatedPropertyDictKeysError(Exception): pass - -class SelectMethodError(Exception): pass -class SelectMovementError(Exception): pass - -class OrderBuilder(XMLObject, Amount, Predicate): - """ - Order Builder objects allow to gather multiple Simulation Movements - into a single Delivery. - - The initial quantity property of the Delivery Line is calculated by - summing quantities of related Simulation Movements. - - Order Builder objects are provided with a set a parameters to achieve - their goal: - - A path definition: source, destination, etc. which defines the general - kind of movements it applies. - - simulation_select_method which defines how to query all Simulation - Movements which meet certain criteria (including the above path path - definition). - - collect_order_list which defines how to group selected movements - according to gathering rules. - - delivery_select_method which defines how to select existing Delivery - which may eventually be updated with selected simulation movements. - - delivery_module, delivery_type and delivery_line_type which define the - module and portal types for newly built Deliveries and Delivery Lines. - - Order Builders can also be provided with optional parameters to - restrict selection to a given root Applied Rule caused by a single Order - or to Simulation Movements related to a limited set of existing - Deliveries. - """ - - # CMF Type Definition - meta_type = 'ERP5 Order Builder' - portal_type = 'Order Builder' - - # Declarative security - security = ClassSecurityInfo() - security.declareObjectProtected(Permissions.AccessContentsInformation) - - # Default Properties - property_sheets = ( PropertySheet.Base - , PropertySheet.XMLObject - , PropertySheet.CategoryCore - , PropertySheet.DublinCore - , PropertySheet.Arrow - , PropertySheet.Amount - , PropertySheet.Comment - , PropertySheet.DeliveryBuilder - ) - - # XXX it would be better to make the base id configurable at - # each builder. - matrix_base_id = 'movement' - - security.declarePublic('build') - def build(self, applied_rule_uid=None, movement_relative_url_list=None, - delivery_relative_url_list=None, movement_list=None, **kw): - """ - Build deliveries from a list of movements - - Delivery Builders can also be provided with optional parameters to - restrict selection to a given root Applied Rule caused by a single Order - or to Simulation Movements related to a limited set of existing - """ - # Parameter initialization - if delivery_relative_url_list is None: - delivery_relative_url_list = [] - # Call a script before building - self.callBeforeBuildingScript() # XXX-JPS Used ? - # Select - if not movement_list: - # XXX this code below has a problem of inconsistency in that - # searchMovementList is unrestricted while passing a list of - # movements is restricted. - if not movement_relative_url_list: - movement_list = self.searchMovementList( - delivery_relative_url_list=delivery_relative_url_list, - applied_rule_uid=applied_rule_uid,**kw) - else: - restrictedTraverse = self.getPortalObject().restrictedTraverse - movement_list = [restrictedTraverse(relative_url) for relative_url \ - in movement_relative_url_list] - #Please uncomment if you want to debug. - #LOG('movement_list', 0, repr(movement_list)) - if not movement_list: - return [] - # Collect - root_group_node = self.collectMovement(movement_list) - # Build - delivery_list = self.buildDeliveryList( - root_group_node, - delivery_relative_url_list=delivery_relative_url_list, - movement_list=movement_list, **kw) - # Call a script after building - self.callAfterBuildingScript(delivery_list, movement_list, **kw) - # XXX Returning the delivery list is probably not necessary - return delivery_list - - def callBeforeBuildingScript(self): - """ - Call a script on the module, for example, to remove some - auto_planned Order. - This part can only be done with a script, because user may want - to keep existing auto_planned Order, and only update lines in - them. - No activities are used when deleting a object, so, current - implementation should be OK. - """ - delivery_module_before_building_script_id = \ - self.getDeliveryModuleBeforeBuildingScriptId() - if delivery_module_before_building_script_id: - delivery_module = getattr(self.getPortalObject(), self.getDeliveryModule()) - getattr(delivery_module, delivery_module_before_building_script_id)() - - def generateMovementListForStockOptimisation(self, **kw): - from Products.ERP5Type.Document import newTempMovement - movement_list = [] - for attribute, method in [('node_uid', 'getDestinationUid'), - ('section_uid', 'getDestinationSectionUid')]: - if getattr(self, method)() not in ("", None): - kw[attribute] = getattr(self, method)() - # We have to check the inventory for each stock movement date. - # Inventory can be negative in some date, and positive in futur !! - # This must be done by subclassing OrderBuilder with a new inventory - # algorithm. - sql_list = self.portal_simulation.getFutureInventoryList( - group_by_variation=1, - group_by_resource=1, - group_by_node=1, - group_by_section=0, - **kw) - id_count = 0 - for inventory_item in sql_list: - # XXX FIXME SQL return None inventory... - # It may be better to return always good values - if (inventory_item.inventory is not None): - dumb_movement = inventory_item.getObject() - # Create temporary movement - movement = newTempMovement(self.getPortalObject(), - str(id_count)) - id_count += 1 - movement.edit( - resource=inventory_item.resource_relative_url, - variation_category_list=dumb_movement.getVariationCategoryList(), - destination_value=self.getDestinationValue(), - destination_section_value=self.getDestinationSectionValue()) - # We can do other test on inventory here - # XXX It is better if it can be sql parameters - resource_portal_type = self.getResourcePortalType() - resource = movement.getResourceValue() - # FIXME: XXX Those properties are defined on a supply line !! - # min_flow, max_delay - min_flow = resource.getMinFlow(0) - if (resource.getPortalType() == resource_portal_type) and\ - (round(inventory_item.inventory, 5) < min_flow): - # FIXME XXX getNextNegativeInventoryDate must work - stop_date = DateTime()+10 -# stop_date = resource.getNextNegativeInventoryDate( -# variation_text=movement.getVariationText(), -# from_date=DateTime(), -# # node_category=node_category, -# # section_category=section_category) -# node_uid=self.getDestinationUid(), -# section_uid=self.getDestinationSectionUid()) - max_delay = resource.getMaxDelay(0) - movement.edit( - start_date=DateTime(((stop_date-max_delay).Date())), - stop_date=DateTime(stop_date.Date()), - quantity=min_flow-inventory_item.inventory, - quantity_unit=resource.getQuantityUnit() - # XXX FIXME define on a supply line - # quantity_unit - ) - movement_list.append(movement) - return movement_list - - _searchMovementList = BuilderMixin._searchMovementList.im_func - - @UnrestrictedMethod - def searchMovementList(self, applied_rule_uid=None, **kw): - """ - Returns a list of simulation movements (or something similar to - simulation movements) to construct a new delivery. - - For compatibility, if a simulation select method id is not provided, - a list of movements for predicting future supplies is returned. - You should define a simulation select method id, then it will be used - to calculate the result. - """ - if self.getSimulationSelectMethodId(): - return self._searchMovementList(**kw) - return self.generateMovementListForStockOptimisation(**kw) # BBB - - def collectMovement(self, movement_list): - """ - group movements in the way we want. Thanks to this method, we are able - to retrieve movement classed by order, resource, criterion,.... - movement_list : the list of movement wich we want to group - class_list : the list of classes used to group movements. The order - of the list is important and determines by what we will - group movement first - Typically, check_list is : - [DateMovementGroup,PathMovementGroup,...] - """ - movement_group_list = self.getMovementGroupList() - - # Need to find the last branch movement group for separate methods. - last_line_movement_group = None - previous_collect_order_group = None - for movement_group in movement_group_list: - collect_order_group = movement_group.getCollectOrderGroup() - if collect_order_group == 'line': - if previous_collect_order_group == 'delivery' \ - or movement_group.isBranch(): - last_line_movement_group = movement_group - elif collect_order_group == 'cell': - break - previous_collect_order_group = collect_order_group - if last_line_movement_group is None: - # XXX I think this is an error, but there are many tests which - # fail, so for now I permit falling back to the last one. - #raise CollectError('No branch movement group found at %r' % (self,)) - last_line_movement_group = movement_group - - separate_method_name_list = self.getDeliveryCellSeparateOrderList([]) - root_group_node = MovementGroupNode( - separate_method_name_list=separate_method_name_list, - movement_group_list=movement_group_list, - last_line_movement_group=last_line_movement_group) - root_group_node.append(movement_list) - return root_group_node - - def _test(self, instance, movement_group_node_list, - divergence_list): - result = True - new_property_dict = {} - for movement_group_node in movement_group_node_list: - tmp_result, tmp_property_dict = movement_group_node.test( - instance, divergence_list) - if not tmp_result: - result = tmp_result - new_property_dict.update(tmp_property_dict) - return result, new_property_dict - - def _findUpdatableObject(self, instance_list, current_movement_group_node, - movement_group_node_list, divergence_list): - # FIXME this code may generate inconsistent results, because - # MovementGroupNode.test can return anything else but the - # property dict. So it would be better to use the test method - # in all cases. It is, however, not so easy to do, because - # Movement Group classes might not be prepared for receiving - # None instead of a real document object. So it would be safer - # to pass a temp object, but generating a temp object is not - # very fast. - instance = None - property_dict = {} - if not instance_list: - for movement_group_node in movement_group_node_list: - for k, v in movement_group_node.getGroupEditDict().iteritems(): - if k in property_dict: - raise DuplicatedPropertyDictKeysError(k) - else: - property_dict[k] = v - else: - # we want to check the original delivery first. - movement = current_movement_group_node.getMovementList()[0] - # XXX in the case of Order Builder, the movement is not always - # related to simulation, thus it might not have the delivery category. - # Possibly, this code should be overridden by DeliveryBuilder. - try: - delivery = movement.getDeliveryValue() - except AttributeError: - pass - else: - while isinstance(delivery, Base): - try: - instance_list.remove(delivery) - except ValueError: - pass - else: - instance_list.insert(0, delivery) - delivery = delivery.getParentValue() - for instance_to_update in instance_list: - result, property_dict = self._test( - instance_to_update, movement_group_node_list, divergence_list) - if result: - instance = instance_to_update - break - return instance, property_dict - - @UnrestrictedMethod - def buildDeliveryList(self, movement_group_node, - delivery_relative_url_list=None, - movement_list=None, update=True, **kw): - """ - Build deliveries from a list of movements - """ - # Parameter initialization - if delivery_relative_url_list is None: - delivery_relative_url_list = [] - if movement_list is None: - movement_list = [] - # Module where we can create new deliveries - portal = self.getPortalObject() - delivery_module = getattr(portal, self.getDeliveryModule()) - if update: - unrestrictedTraverse = portal.unrestrictedTraverse - delivery_to_update_list = [unrestrictedTraverse(relative_url) for \ - relative_url in delivery_relative_url_list] - # Deliveries we are trying to update - delivery_select_method_id = self.getDeliverySelectMethodId() - if delivery_select_method_id: - delivery_select_method = getattr(self, delivery_select_method_id) - for brain in delivery_select_method(movement_list=movement_list): - delivery_to_update_list.append(brain.getObject()) - - # Make sure that the portal type is good. - delivery_portal_type = self.getDeliveryPortalType() - delivery_to_update_list = [x for x in delivery_to_update_list \ - if x.getPortalType() == delivery_portal_type] - else: - delivery_to_update_list = [] - - delivery_list = self._processDeliveryGroup( - delivery_module, - movement_group_node, - self.getDeliveryMovementGroupList(), - delivery_to_update_list=delivery_to_update_list, - **kw) - return delivery_list - - def _createDelivery(self, delivery_module, movement_list, activate_kw): - """ - Create a new delivery in case where a builder may not update - an existing one. - """ - new_delivery_id = str(delivery_module.generateNewId()) - delivery = delivery_module.newContent( - portal_type=self.getDeliveryPortalType(), - id=new_delivery_id, - created_by_builder=1, - activate_kw=activate_kw) - return delivery - - def _processDeliveryGroup(self, delivery_module, movement_group_node, - collect_order_list, movement_group_node_list=None, - delivery_to_update_list=None, - divergence_list=None, - activate_kw=None, force_update=0, **kw): - """ - Build delivery from a list of movement - """ - if movement_group_node_list is None: - movement_group_node_list = [] - if divergence_list is None: - divergence_list = [] - # Parameter initialization - if delivery_to_update_list is None: - delivery_to_update_list = [] - delivery_list = [] - - if collect_order_list: - # Get sorted movement for each delivery - for grouped_node in movement_group_node.getGroupList(): - # do not use 'append' or '+=' because they are destructive. - new_movement_group_node_list = movement_group_node_list + [grouped_node] - new_delivery_list = self._processDeliveryGroup( - delivery_module, - grouped_node, - collect_order_list[1:], - movement_group_node_list=new_movement_group_node_list, - delivery_to_update_list=delivery_to_update_list, - divergence_list=divergence_list, - activate_kw=activate_kw, - force_update=force_update) - delivery_list.extend(new_delivery_list) - force_update = 0 - else: - # Test if we can update a existing delivery, or if we need to create - # a new one - delivery, property_dict = self._findUpdatableObject( - delivery_to_update_list, movement_group_node, movement_group_node_list, - divergence_list) - - # if all deliveries are rejected in case of update, we update the - # first one. - if force_update and delivery is None and delivery_to_update_list: - delivery = delivery_to_update_list[0] - - if delivery is None: - if not self.getDeliveryCreatable(): - raise SelectMethodError('No updatable delivery found with %s' \ - % (self.getPath(),)) - delivery = self._createDelivery(delivery_module, - movement_group_node.getMovementList(), - activate_kw) - else: - # The same delivery should not be updated more than once. - # Note that it is important to use a destructive method here. - delivery_to_update_list.remove(delivery) - - # Put properties on delivery - if property_dict: - property_dict.setdefault('edit_order', ('stop_date', 'start_date')) - delivery.edit(activate_kw=activate_kw, **property_dict) - - # Then, create delivery lines - delivery_line_portal_type = self.getDeliveryLinePortalType() - delivery_line_to_update_list = [] - for line in delivery.contentValues(portal_type=delivery_line_portal_type): - delivery_line_to_update_list.append(line) - for grouped_node in movement_group_node.getGroupList(): - self._processDeliveryLineGroup( - delivery, - grouped_node, - self.getDeliveryLineMovementGroupList()[1:], - movement_group_node_list=[grouped_node], - divergence_list=divergence_list, - delivery_line_to_update_list=delivery_line_to_update_list, - activate_kw=activate_kw, - force_update=force_update) - delivery_list.append(delivery) - return delivery_list - - def _createDeliveryLine(self, delivery, movement_list, activate_kw): - """ - Create a new delivery line in case where a builder may not update - an existing one. - """ - new_delivery_line_id = str(delivery.generateNewId()) - delivery_line = delivery.newContent( - portal_type=self.getDeliveryLinePortalType(), - id=new_delivery_line_id, - created_by_builder=1, - activate_kw=activate_kw) - return delivery_line - - def _processDeliveryLineGroup(self, delivery, movement_group_node, - collect_order_list, movement_group_node_list=None, - divergence_list=None, - delivery_line_to_update_list=None, - activate_kw=None, force_update=0, **kw): - """ - Build delivery line from a list of movement on a delivery - """ - if movement_group_node_list is None: - movement_group_node_list = [] - if divergence_list is None: - divergence_list = [] - if delivery_line_to_update_list is None: - delivery_line_to_update_list = [] - - if collect_order_list and not movement_group_node.getCurrentMovementGroup().isBranch(): - # Get sorted movement for each delivery line - for grouped_node in movement_group_node.getGroupList(): - # do not use 'append' or '+=' because they are destructive. - new_movement_group_node_list = movement_group_node_list + [grouped_node] - self._processDeliveryLineGroup( - delivery, - grouped_node, - collect_order_list[1:], - movement_group_node_list=new_movement_group_node_list, - divergence_list=divergence_list, - delivery_line_to_update_list=delivery_line_to_update_list, - activate_kw=activate_kw, - force_update=force_update) - else: - # Test if we can update an existing line, or if we need to create a new - # one - delivery_line, property_dict = self._findUpdatableObject( - delivery_line_to_update_list, movement_group_node, - movement_group_node_list, divergence_list) - if delivery_line is not None: - update_existing_line = 1 - delivery_line_to_update_list.remove(delivery_line) - else: - # Create delivery line - update_existing_line = 0 - delivery_line = self._createDeliveryLine( - delivery, - movement_group_node.getMovementList(), - activate_kw) - # Put properties on delivery line - if property_dict: - property_dict.setdefault('edit_order', ('stop_date', 'start_date')) - delivery_line.edit(force_update=1, activate_kw=activate_kw, - **property_dict) - - if movement_group_node.getCurrentMovementGroup().isBranch(): - delivery_line_portal_type = self.getDeliveryLinePortalType() - nested_delivery_line_to_update_list = [] - for line in delivery_line.contentValues(portal_type=delivery_line_portal_type): - nested_delivery_line_to_update_list.append(line) - for grouped_node in movement_group_node.getGroupList(): - self._processDeliveryLineGroup( - delivery_line, - grouped_node, - collect_order_list[1:], - movement_group_node_list=[grouped_node], - divergence_list=divergence_list, - delivery_line_to_update_list=nested_delivery_line_to_update_list, - activate_kw=activate_kw, - force_update=force_update) - return - - # Update variation category list on line - variation_category_set = set(delivery_line.getVariationCategoryList()) - for movement in movement_group_node.getMovementList(): - variation_category_set.update(movement.getVariationCategoryList()) - variation_category_list = sorted(variation_category_set) - delivery_line.edit(variation_category_list=variation_category_list, - activate_kw=activate_kw) - # Then, create delivery movement (delivery cell or complete delivery - # line) - grouped_node_list = movement_group_node.getGroupList() - # If no group is defined for cell, we need to continue, in order to - # save the quantity value - if grouped_node_list: - base_id = self.matrix_base_id - getCell = delivery_line.getCell - delivery_movement_to_update_list = [] - cell_key_list = delivery_line.getCellKeyList(base_id=base_id) - if cell_key_list: - for cell_key in cell_key_list: - cell = getCell(base_id=base_id, *cell_key) - if cell is not None: - delivery_movement_to_update_list.append(cell) - else: - delivery_movement_to_update_list.append(delivery_line) - for grouped_node in grouped_node_list: - self._processDeliveryCellGroup( - delivery_line, - grouped_node, - self.getDeliveryCellMovementGroupList()[1:], - movement_group_node_list=[grouped_node], - update_existing_line=update_existing_line, - divergence_list=divergence_list, - delivery_movement_to_update_list=delivery_movement_to_update_list, - activate_kw=activate_kw, - force_update=force_update) - else: - self._processDeliveryCellGroup( - delivery_line, - movement_group_node, - [], - movement_group_node_list=[], - update_existing_line=update_existing_line, - divergence_list=divergence_list, - delivery_movement_to_update_list=[delivery_line], - activate_kw=activate_kw, - force_update=force_update) - - def _createDeliveryCell(self, delivery_line, movement, activate_kw, - base_id, cell_key): - """ - Create a new delivery cell in case where a builder may not update - an existing one. - """ - cell = delivery_line.newCell(base_id=base_id, - portal_type=self.getDeliveryCellPortalType(), - activate_kw=activate_kw, - *cell_key) - return cell - - def _processDeliveryCellGroup(self, delivery_line, movement_group_node, - collect_order_list, movement_group_node_list=None, - update_existing_line=0, - divergence_list=None, - delivery_movement_to_update_list=None, - activate_kw=None, force_update=0): - """ - Build delivery cell from a list of movement on a delivery line - or complete delivery line - """ - if movement_group_node_list is None: - movement_group_node_list = [] - if delivery_movement_to_update_list is None: - delivery_movement_to_update_list = [] - if divergence_list is None: - divergence_list = [] - - if collect_order_list: - # Get sorted movement for each delivery line - for grouped_node in movement_group_node.getGroupList(): - new_movement_group_node_list = movement_group_node_list + [grouped_node] - self._processDeliveryCellGroup( - delivery_line, - grouped_node, - collect_order_list[1:], - movement_group_node_list=new_movement_group_node_list, - update_existing_line=update_existing_line, - divergence_list=divergence_list, - delivery_movement_to_update_list=delivery_movement_to_update_list, - activate_kw=activate_kw, - force_update=force_update) - else: - movement_list = movement_group_node.getMovementList() - if len(movement_list) != 1: - raise CollectError, "DeliveryBuilder: %s unable to distinct those\ - movements: %s" % (self.getId(), str(movement_list)) - else: - base_id = self.matrix_base_id - object_to_update = None - # We need to initialize the cell - update_existing_movement = 0 - movement = movement_list[0] - # decide if we create a cell or if we update the line - # Decision can only be made with line matrix range: - # because matrix range can be empty even if line variation category - # list is not empty - property_dict = {} - if not delivery_line.getCellKeyList(base_id=base_id): - # update line - dummy, property_dict = self._findUpdatableObject( - delivery_movement_to_update_list, movement_group_node, - movement_group_node_list, divergence_list) - if delivery_movement_to_update_list: - if update_existing_line: - update_existing_movement = 1 - del delivery_movement_to_update_list[:] - else: - # XXX probably an exception should be raised here. - pass - object_to_update = delivery_line - else: - object_to_update, property_dict = self._findUpdatableObject( - delivery_movement_to_update_list, movement_group_node, - movement_group_node_list, divergence_list) - if object_to_update is not None: - # We update a existing cell - # delivery_ratio of new related movement to this cell - # must be updated to 0. - update_existing_movement = 1 - delivery_movement_to_update_list.remove(object_to_update) - else: - # create a new cell - cell_key = movement.getVariationCategoryList( - omit_optional_variation=1) - if not delivery_line.hasCell(base_id=base_id, *cell_key): - cell = self._createDeliveryCell(delivery_line, movement, - activate_kw, base_id, cell_key) - vcl = movement.getVariationCategoryList() - # _createDeliveryCell calls reindexObject, so no need to use - # edit here. - cell._edit(category_list=vcl, - # XXX hardcoded value - mapped_value_property_list=('quantity', 'price'), - membership_criterion_category_list=vcl, - membership_criterion_base_category_list=movement.\ - getVariationBaseCategoryList()) - else: - raise MatrixError, 'Cell: %s already exists on %s' % \ - (str(cell_key), str(delivery_line)) - object_to_update = cell - - self._setDeliveryMovementProperties( - object_to_update, movement, property_dict, - update_existing_movement=update_existing_movement, - force_update=force_update, activate_kw=activate_kw) - - def _setDeliveryMovementProperties(self, delivery_movement, - simulation_movement, property_dict, - update_existing_movement=0, - force_update=0, activate_kw=None): - """ - Initialize or update delivery movement properties. - """ - if not update_existing_movement or force_update: - # Now, only 1 movement is possible, so copy from this movement - # XXX hardcoded value - if getattr(simulation_movement, 'getMappedProperty', None) is not None: - property_dict['quantity'] = simulation_movement.getMappedProperty('quantity') - else: - property_dict['quantity'] = simulation_movement.getQuantity() - property_dict['price'] = simulation_movement.getPrice() - # Update properties on object (quantity, price...) - delivery_movement.edit(force_update=1, activate_kw=activate_kw, - **property_dict) - - @UnrestrictedMethod - def callAfterBuildingScript(self, delivery_list, movement_list=None, **kw): - """ - Call script on each delivery built. - """ - if not delivery_list: - return - # Parameter initialization - if movement_list is None: - movement_list = [] - delivery_after_generation_script_id = \ - self.getDeliveryAfterGenerationScriptId() - related_simulation_movement_path_list = \ - [x.getPath() for x in movement_list] - if delivery_after_generation_script_id: - for delivery in delivery_list: - script = getattr(delivery, delivery_after_generation_script_id) - # BBB: Only Python Scripts were used in the past, and they might not - # accept an arbitrary argument. So to keep compatibility, - # check if it can take the new parameter safely, only when - # the callable object is a Python Script. - safe_to_pass_parameter = True - meta_type = getattr(script, 'meta_type', None) - if meta_type == 'Script (Python)': - # check if the script accepts related_simulation_movement_path_list - safe_to_pass_parameter = False - for param in script.params().split(','): - param = param.split('=', 1)[0].strip() - if param == 'related_simulation_movement_path_list' \ - or param.startswith('**'): - safe_to_pass_parameter = True - break - - if safe_to_pass_parameter: - script(related_simulation_movement_path_list=related_simulation_movement_path_list) - else: - script() - - security.declareProtected(Permissions.AccessContentsInformation, - 'getMovementGroupList') - def getMovementGroupList(self, portal_type=None, collect_order_group=None, - **kw): - """ - Return a list of movement groups sorted by collect order group and index. - """ - portal = self.getPortalObject() - if portal_type is None: - portal_type = portal.getPortalMovementGroupTypeList() - - if collect_order_group is None: - category_index_dict = {} - for i in portal.portal_categories.collect_order_group.contentValues(): - category_index_dict[i.getId()] = i.getIntIndex() - - def getMovementGroupKey(movement_group): - return (category_index_dict.get(movement_group.getCollectOrderGroup()), - movement_group.getIntIndex()) - - filter_dict = dict(portal_type=portal_type) - movement_group_list = self.contentValues(filter=filter_dict) - else: - def getMovementGroupKey(movement_group): - return movement_group.getIntIndex() - - filter_dict = dict(portal_type=portal_type) - movement_group_list = [] - for movement_group in self.contentValues(filter=filter_dict): - if movement_group.getCollectOrderGroup() == collect_order_group: - movement_group_list.append(movement_group) - - return sorted(movement_group_list, key=getMovementGroupKey) - - # XXX category name is hardcoded. - def getDeliveryMovementGroupList(self, **kw): - return self.getMovementGroupList(collect_order_group='delivery') - - # XXX category name is hardcoded. - def getDeliveryLineMovementGroupList(self, **kw): - return self.getMovementGroupList(collect_order_group='line') - - # XXX category name is hardcoded. - def getDeliveryCellMovementGroupList(self, **kw): - return self.getMovementGroupList(collect_order_group='cell') - - # XXX this method is not used in OrderBuilder but in DeliveryBuilder. - # So it should perhaps be moved to DeliveryBuilder. - def _searchUpByPortalType(self, obj, portal_type): - limit_portal_type = self.getPortalObject().getPortalType() - while obj is not None: - obj_portal_type = obj.getPortalType() - if obj_portal_type == portal_type: - break - elif obj_portal_type == limit_portal_type: - obj = None - break - else: - obj = aq_parent(aq_inner(obj)) - return obj - - # for backward compatibilities. - _deliveryGroupProcessing = _processDeliveryGroup - _deliveryLineGroupProcessing = _processDeliveryLineGroup - _deliveryCellGroupProcessing = _processDeliveryCellGroup diff --git a/product/ERP5Legacy/PropertySheet/BusinessPath.py b/product/ERP5Legacy/PropertySheet/BusinessPath.py deleted file mode 100644 index 6df0058ed3..0000000000 --- a/product/ERP5Legacy/PropertySheet/BusinessPath.py +++ /dev/null @@ -1,74 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved. -# Åukasz Nowak <luke@nexedi.com> -# Yusuke Muraoka <yusuke@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -class BusinessPath: - """ - Business Path properties - """ - _properties = ( - { 'id' : 'deliverable', # XXX: same is in Simulation property sheet - 'description' : 'If 1 it is related to root of simulation tree (root explanation)', - 'type' : 'boolean', - 'mode' : 'w' }, - { 'id' : 'source_method_id', - 'description' : 'ID of method to get source list of categories', - 'type' : 'string', - 'mode' : 'w' }, - { 'id' : 'destination_method_id', - 'description' : 'ID of method to get destination list of categories', - 'type' : 'string', - 'mode' : 'w' }, - { 'id' : 'lead_time', - 'description' : 'How much time shall be spent on path', - 'default' : 0.0, - 'type' : 'float', - 'mode' : 'w' }, - { 'id' : 'wait_time', - 'description' : 'How much time to wait before initiating path', - 'default' : 0.0, - 'type' : 'float', - 'mode' : 'w' }, - { 'id' : 'completed_state', - 'description' : 'List of states for which related Simulation ' - 'Movement is considered as completed', - 'type' : 'lines', - 'default' : [], - 'multivalued' : 1, - 'mode' : 'w' }, - { 'id' : 'frozen_state', - 'description' : 'List of states for which related Simulation ' - 'Movement is considered as frozen', - 'type' : 'lines', - 'default' : [], - 'multivalued' : 1, - 'mode' : 'w' }, - ) - _categories = ( 'delivery_builder', 'order_builder', 'end_of', - 'trade_phase' , 'incoterm') diff --git a/product/ERP5Legacy/PropertySheet/DivergenceTester.py b/product/ERP5Legacy/PropertySheet/DivergenceTester.py deleted file mode 100644 index 354d9f2588..0000000000 --- a/product/ERP5Legacy/PropertySheet/DivergenceTester.py +++ /dev/null @@ -1,42 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2006-2008 Nexedi SA and Contributors. All Rights Reserved. -# Rafael Monnerat <rafael@nexedi.com> -# -# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - - -class DivergenceTester: - """ - Divergence Tester are use for the divergence testers. - """ - - _properties = ( - { 'id' : 'tested_property', - 'description' : 'Property used to Test', - 'type' : 'lines', - 'default' : (), - 'mode' : 'w' }, - ) diff --git a/product/ERP5Legacy/VERSION.txt b/product/ERP5Legacy/VERSION.txt deleted file mode 100644 index 443005f52e..0000000000 --- a/product/ERP5Legacy/VERSION.txt +++ /dev/null @@ -1 +0,0 @@ -ERP5Legacy 5.4.7 diff --git a/product/ERP5Legacy/__init__.py b/product/ERP5Legacy/__init__.py deleted file mode 100644 index 95e7473666..0000000000 --- a/product/ERP5Legacy/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -import sys -from Products.ERP5Type.Utils import initializeProduct, updateGlobals - -this_module = sys.modules[__name__] -document_classes = updateGlobals(this_module, globals()) - -def initialize(context): - initializeProduct(context, this_module, globals(), - document_classes=document_classes) diff --git a/product/ERP5Legacy/tests/__init__.py b/product/ERP5Legacy/tests/__init__.py deleted file mode 100644 index 4042858ed7..0000000000 --- a/product/ERP5Legacy/tests/__init__.py +++ /dev/null @@ -1,51 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# 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. -# -############################################################################## - - -def Legacy_getBusinessTemplateList(cls): - getBusinessTemplateList = cls.getBusinessTemplateList - def Legacy_getBusinessTemplateList(self): - bt_list = [] - IGNORE_BUSINESS_TEMPLATE_LIST = ['erp5_simulation_test', - 'erp5_configurator_standard_solver', - 'erp5_configurator_standard_trade_template', - 'erp5_configurator_standard_accounting_template', - 'erp5_configurator_standard_invoicing_template'] - - for bt in getBusinessTemplateList(self): - if bt not in IGNORE_BUSINESS_TEMPLATE_LIST and bt not in bt_list: - bt_list.append(bt) - if bt == 'erp5_simulation': - bt_list.append(bt + '_legacy') - elif bt in ('erp5_accounting', 'erp5_invoicing', 'erp5_mrp', - 'erp5_project', 'erp5_trade'): - bt_list.append(bt + '_simulation_legacy') - return tuple(bt_list) - cls.getBusinessTemplateList = Legacy_getBusinessTemplateList - -from Products.ERP5.tests import utils -utils.newSimulationExpectedFailure = lambda test: test diff --git a/product/ERP5Legacy/tests/testLegacyAccounting.py b/product/ERP5Legacy/tests/testLegacyAccounting.py deleted file mode 100644 index 95a4d3f4f2..0000000000 --- a/product/ERP5Legacy/tests/testLegacyAccounting.py +++ /dev/null @@ -1,38 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# 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. -# -############################################################################## - -# It has been decided to have fully duplicated tests in ERP5Legacy, rather that -# monkey-patching everywhere. -# But waiting that we really start fixing testAccounting for new simulation, -# this file can be a virtual copy of testAccounting.py - -from Products.ERP5Legacy.tests import Legacy_getBusinessTemplateList -from Products.ERP5.tests.testAccounting import * - -AccountingTestCase.business_process = None -Legacy_getBusinessTemplateList(AccountingTestCase) -Legacy_getBusinessTemplateList(TestAccountingWithSequences) diff --git a/product/ERP5Legacy/tests/testLegacyAccountingReports.py b/product/ERP5Legacy/tests/testLegacyAccountingReports.py deleted file mode 100644 index c284b5d7c7..0000000000 --- a/product/ERP5Legacy/tests/testLegacyAccountingReports.py +++ /dev/null @@ -1,32 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved. -# Julien Muchembled <jm@nexedi.com> -# -# 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 advised 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. -# -############################################################################## - -import sys -from Products.ERP5Legacy.tests import testLegacyAccounting -sys.modules['Products.ERP5.tests.testAccounting'] = testLegacyAccounting -from Products.ERP5.tests.testAccountingReports import * diff --git a/product/ERP5Legacy/tests/testLegacyAccountingRules.py b/product/ERP5Legacy/tests/testLegacyAccountingRules.py deleted file mode 100644 index a4454b6357..0000000000 --- a/product/ERP5Legacy/tests/testLegacyAccountingRules.py +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved. -# Julien Muchembled <jm@nexedi.com> -# -# 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 advised 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 Products.ERP5Legacy.tests import Legacy_getBusinessTemplateList -from Products.ERP5.tests.testAccountingRules import * -Legacy_getBusinessTemplateList(TestAccountingRulesMixin) diff --git a/product/ERP5Legacy/tests/testLegacyBPMCore.py b/product/ERP5Legacy/tests/testLegacyBPMCore.py deleted file mode 100644 index 754a9bbf31..0000000000 --- a/product/ERP5Legacy/tests/testLegacyBPMCore.py +++ /dev/null @@ -1,1348 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved. -# Åukasz Nowak <luke@nexedi.com> -# Yusuke Muraoka <yusuke@nexedi.com> -# Fabien Morin <fabien@nexedi.com> -# -# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import unittest - -from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase -from DateTime import DateTime - -from Products.CMFCore.utils import getToolByName -from Products.ERP5Type.tests.utils import reindex - -class TestBPMMixin(ERP5TypeTestCase): - """Skeletons for tests which depend on BPM""" - - def getBusinessTemplateList(self): - return ('erp5_base', 'erp5_pdm', 'erp5_simulation', 'erp5_trade', - 'erp5_accounting', 'erp5_invoicing', 'erp5_simplified_invoicing', - 'erp5_simulation_legacy', 'erp5_trade_simulation_legacy', - 'erp5_accounting_simulation_legacy', - 'erp5_invoicing_simulation_legacy') - - business_process_portal_type = 'Business Process' - business_path_portal_type = 'Business Path' - business_state_portal_type = 'Business State' - - normal_resource_use_category_list = ['normal'] - invoicing_resource_use_category_list = ['discount', 'tax'] - - def createCategoriesInCategory(self, category, category_id_list): - for category_id in category_id_list: - if not category.hasObject(category_id): - category.newContent(portal_type='Category', id = category_id, - title = category_id) - - @reindex - def createCategories(self): - category_tool = getToolByName(self.portal, 'portal_categories') - self.createCategoriesInCategory(category_tool.base_amount, ['discount', - 'tax', 'total_tax', 'total_discount', 'total']) - self.createCategoriesInCategory(category_tool.use, - self.normal_resource_use_category_list + \ - self.invoicing_resource_use_category_list) - self.createCategoriesInCategory(category_tool.trade_phase, ['default',]) - self.createCategoriesInCategory(category_tool.trade_phase.default, - ['accounting', 'delivery', 'invoicing', 'discount', 'tax', 'payment']) - - @reindex - def createBusinessProcess(self, **kw): - module = self.portal.getDefaultModule( - portal_type=self.business_process_portal_type) - return module.newContent(portal_type=self.business_process_portal_type, - **kw) - - @reindex - def createBusinessPath(self, business_process=None, **kw): - if business_process is None: - business_process = self.createBusinessProcess() - kw['destination_method_id'] = kw.pop('destination_method_id', - 'BusinessPath_getDefaultDestinationList') - kw['source_method_id'] = kw.pop('source_method_id', - 'BusinessPath_getDefaultSourceList') - business_path = business_process.newContent( - portal_type=self.business_path_portal_type, **kw) - return business_path - - @reindex - def createBusinessState(self, business_process=None, **kw): - if business_process is None: - business_process = self.createBusinessProcess() - business_path = business_process.newContent( - portal_type=self.business_state_portal_type, **kw) - return business_path - - def createMovement(self): - # returns a movement for testing - applied_rule = self.portal.portal_simulation.newContent( - portal_type='Applied Rule') - return applied_rule.newContent(portal_type='Simulation Movement') - - @reindex - def createAndValidateAccount(self, account_id, account_type): - account_module = self.portal.account_module - account = account_module.newContent(portal_type='Account', - title=account_id, - account_type=account_type) - self.assertNotEqual(None, account.getAccountTypeValue()) - account.validate() - return account - - def createInvoiceTransactionRule(self): - self.receivable_account = self.createAndValidateAccount('receivable', - 'asset/receivable') - self.payable_account = self.createAndValidateAccount('payable', - 'liability/payable') - self.income_account = self.createAndValidateAccount('income', 'income') - self.expense_account = self.createAndValidateAccount('expense', 'expense') - self.collected_tax_account = self.createAndValidateAccount( - 'collected_tax', 'liability/payable/collected_vat') - self.refundable_tax_account = self.createAndValidateAccount( - 'refundable_tax', - 'asset/receivable/refundable_vat') - - itr = self.portal.portal_rules.newContent( - portal_type='Invoice Transaction Simulation Rule', - reference='default_invoice_transaction_rule', - id='test_invoice_transaction_simulation_rule', - title='Transaction Simulation Rule', - test_method_id= - 'SimulationMovement_testInvoiceTransactionSimulationRule', - version=100) - predicate = itr.newContent(portal_type='Predicate',) - predicate.edit( - string_index='use', - title='tax', - int_index=1, - membership_criterion_base_category='resource_use', - membership_criterion_category='resource_use/use/tax') - predicate = itr.newContent(portal_type='Predicate',) - predicate.edit( - string_index='use', - title='discount', - int_index=2, - membership_criterion_base_category='resource_use', - membership_criterion_category='resource_use/use/discount') - predicate = itr.newContent(portal_type='Predicate',) - predicate.edit( - string_index='use', - title='normal', - int_index=3, - membership_criterion_base_category='resource_use', - membership_criterion_category='resource_use/use/normal') - self.tic() - accounting_rule_cell_list = itr.contentValues( - portal_type='Accounting Rule Cell') - self.assertEquals(3, len(accounting_rule_cell_list)) - tax_rule_cell = itr._getOb("movement_0") - self.assertEquals(tax_rule_cell.getTitle(), 'tax') - tax_rule_cell.newContent( - portal_type='Accounting Transaction Line', - source_value=self.receivable_account, - destination_value=self.payable_account, - quantity=-1) - tax_rule_cell.newContent( - portal_type='Accounting Transaction Line', - source_value=self.collected_tax_account, - destination_value=self.refundable_tax_account, - quantity=1) - - discount_rule_cell = itr._getOb("movement_1") - self.assertEquals(discount_rule_cell.getTitle(), 'discount') - discount_rule_cell.newContent( - portal_type='Accounting Transaction Line', - source_value=self.receivable_account, - destination_value=self.payable_account, - quantity=-1) - discount_rule_cell.newContent( - portal_type='Accounting Transaction Line', - source_value=self.income_account, - destination_value=self.expense_account, - quantity=1) - - normal_rule_cell = itr._getOb("movement_2") - self.assertEquals(normal_rule_cell.getTitle(), 'normal') - normal_rule_cell.newContent( - portal_type='Accounting Transaction Line', - source_value=self.receivable_account, - destination_value=self.payable_account, - quantity=-1) - normal_rule_cell.newContent( - portal_type='Accounting Transaction Line', - source_value=self.income_account, - destination_value=self.expense_account, - quantity=1) - - itr.validate() - - def afterSetUp(self): - self.validateRules() - self.createCategories() - portal_rules = self.portal.portal_rules - if getattr(portal_rules,'test_invoice_transaction_simulation_rule', None)\ - is not None: - portal_rules.manage_delObjects( - ids=['test_invoice_transaction_simulation_rule']) - self.createInvoiceTransactionRule() - self.tic() - - def beforeTearDown(self): - # abort any transaction - self.abort() - self.tic() - -class TestBPMImplementation(TestBPMMixin): - """Business Process implementation tests""" - def test_BusinessProcess_getPathValueList(self): - business_process = self.createBusinessProcess() - - accounting_business_path = business_process.newContent( - portal_type=self.business_path_portal_type, - trade_phase='default/accounting') - - delivery_business_path = business_process.newContent( - portal_type=self.business_path_portal_type, - trade_phase='default/delivery') - - accounting_delivery_business_path = business_process.newContent( - portal_type=self.business_path_portal_type, - trade_phase=('default/accounting', 'default/delivery')) - - self.tic() - - self.assertSameSet( - (accounting_business_path, accounting_delivery_business_path), - business_process.getPathValueList(trade_phase='default/accounting') - ) - - self.assertSameSet( - (delivery_business_path, accounting_delivery_business_path), - business_process.getPathValueList(trade_phase='default/delivery') - ) - - self.assertSameSet( - (accounting_delivery_business_path, delivery_business_path, - accounting_business_path), - business_process.getPathValueList(trade_phase=('default/delivery', - 'default/accounting')) - ) - - def test_BusinessPathStandardCategoryAccessProvider(self): - source_node = self.portal.organisation_module.newContent( - portal_type='Organisation') - source_section_node = self.portal.organisation_module.newContent( - portal_type='Organisation') - business_path = self.createBusinessPath() - business_path.setSourceValue(source_node) - business_path.setSourceSectionValue(source_section_node) - self.assertEquals([source_node], business_path.getSourceValueList()) - self.assertEquals([source_node.getRelativeUrl()], business_path.getSourceList()) - self.assertEquals(source_node.getRelativeUrl(), - business_path.getSource(default='something')) - - def test_EmptyBusinessPathStandardCategoryAccessProvider(self): - business_path = self.createBusinessPath() - self.assertEquals(None, business_path.getSourceValue()) - self.assertEquals(None, business_path.getSource()) - self.assertEquals('something', - business_path.getSource(default='something')) - - def test_BuinessPathDynamicCategoryAccessProvider(self): - source_node = self.portal.organisation_module.newContent( - portal_type='Organisation') - source_section_node = self.portal.organisation_module.newContent( - portal_type='Organisation') - business_path = self.createBusinessPath() - business_path.setSourceMethodId('BusinessPath_getDefaultSourceList') - - context_movement = self.createMovement() - context_movement.setSourceValue(source_node) - context_movement.setSourceSectionValue(source_section_node) - self.assertEquals(None, business_path.getSourceValue()) - self.assertEquals([source_node], - business_path.getSourceValueList(context=context_movement)) - self.assertEquals([source_node.getRelativeUrl()], - business_path.getSourceList(context=context_movement)) - self.assertEquals(source_node.getRelativeUrl(), - business_path.getSource(context=context_movement, default='something')) - - def test_BuinessPathDynamicCategoryAccessProviderBusinessPathPrecedence(self): - movement_node = self.portal.organisation_module.newContent( - portal_type='Organisation') - path_node = self.portal.organisation_module.newContent( - portal_type='Organisation') - business_path = self.createBusinessPath() - business_path.setSourceMethodId('BusinessPath_getDefaultSourceList') - business_path.setSourceValue(path_node) - - context_movement = self.createMovement() - context_movement.setSourceValue(movement_node) - self.assertEquals(path_node, business_path.getSourceValue()) - self.assertEquals(path_node, - business_path.getSourceValue(context=context_movement)) - self.assertEquals([path_node], - business_path.getSourceValueList(context=context_movement)) - - def test_BuinessPathDynamicCategoryAccessProviderEmptyMovement(self): - business_path = self.createBusinessPath() - business_path.setSourceMethodId('BusinessPath_getDefaultSourceList') - - context_movement = self.createMovement() - self.assertEquals(None, business_path.getSourceValue()) - self.assertEquals(None, - business_path.getSourceValue(context=context_movement)) - self.assertEquals(None, - business_path.getSource(context=context_movement)) - self.assertEquals('something', - business_path.getSource(context=context_movement, default='something')) - - def test_BusinessState_getRemainingTradePhaseList(self): - """ - This test case is described for what trade_phase is remaining after the state. - In this case, root explanation is path of between "b" and "d", and - path of between "a" and "b" has a condition which simulation state of - explanation must be "ordered" to pass the path. (*1) - But this test case will be passed the condition. - - (root explanation) - default/discount default/invoicing default/accounting - a ------------------ b ------------------- d -------------------- e - (cond="ordered") \ / - \ / - default/delivery \ / default/payment - \ / - \ / - \ / - \ / - \ / - \ / - \ / - c - """ - # define business process - business_process = self.createBusinessProcess() - business_path_a_b = self.createBusinessPath(business_process) - business_path_b_c = self.createBusinessPath(business_process) - business_path_b_d = self.createBusinessPath(business_process) - business_path_c_d = self.createBusinessPath(business_process) - business_path_d_e = self.createBusinessPath(business_process) - business_state_a = self.createBusinessState(business_process) - business_state_b = self.createBusinessState(business_process) - business_state_c = self.createBusinessState(business_process) - business_state_d = self.createBusinessState(business_process) - business_state_e = self.createBusinessState(business_process) - business_path_a_b.setPredecessorValue(business_state_a) - business_path_b_c.setPredecessorValue(business_state_b) - business_path_b_d.setPredecessorValue(business_state_b) - business_path_c_d.setPredecessorValue(business_state_c) - business_path_d_e.setPredecessorValue(business_state_d) - business_path_a_b.setSuccessorValue(business_state_b) - business_path_b_c.setSuccessorValue(business_state_c) - business_path_b_d.setSuccessorValue(business_state_d) - business_path_c_d.setSuccessorValue(business_state_d) - business_path_d_e.setSuccessorValue(business_state_e) - - # set title for debug - business_path_a_b.edit(title="a_b") - business_path_b_c.edit(title="b_c") - business_path_b_d.edit(title="b_d") - business_path_c_d.edit(title="c_d") - business_path_d_e.edit(title="d_e") - business_state_a.edit(title="a") - business_state_b.edit(title="b") - business_state_c.edit(title="c") - business_state_d.edit(title="d") - business_state_e.edit(title="e") - - # set trade_phase - business_path_a_b.edit(trade_phase=['default/discount'], - completed_state=['ordered']) # (*1) - business_path_b_c.edit(trade_phase=['default/delivery']) - business_path_b_d.edit(trade_phase=['default/invoicing']) - business_path_c_d.edit(trade_phase=['default/payment']) - business_path_d_e.edit(trade_phase=['default/accounting']) - - # mock order - order = self.portal.sale_order_module.newContent(portal_type="Sale Order") - order_line = order.newContent(portal_type="Sale Order Line", quantity=1) - - # make simulation - order.order() - - self.tic() - - applied_rule = order.getCausalityRelatedValue() - sm = applied_rule.contentValues(portal_type="Simulation Movement")[0] - sm.edit(causality_value=business_path_a_b) - - # make other movements for each business path - applied_rule.newContent(portal_type="Simulation Movement", - causality_value=business_path_b_c, - order_value=order_line) - applied_rule.newContent(portal_type="Simulation Movement", - causality_value=business_path_b_d, - order_value=order_line) - applied_rule.newContent(portal_type="Simulation Movement", - causality_value=business_path_c_d, - order_value=order_line) - applied_rule.newContent(portal_type="Simulation Movement", - causality_value=business_path_d_e, - order_value=order_line) - - self.tic() - - trade_phase = self.portal.portal_categories.trade_phase.default - - # assertion which getRemainingTradePhaseList must return category which will be passed - # discount is passed, business_path_a_b is already completed, because simulation state is "ordered" - self.assertEquals(set([trade_phase.delivery, - trade_phase.invoicing, - trade_phase.payment, - trade_phase.accounting]), - set(business_state_a.getRemainingTradePhaseList(order))) - self.assertEquals(set([trade_phase.delivery, - trade_phase.invoicing, - trade_phase.payment, - trade_phase.accounting]), - set(business_state_b.getRemainingTradePhaseList(order))) - self.assertEquals(set([trade_phase.payment, - trade_phase.accounting]), - set(business_state_c.getRemainingTradePhaseList(order))) - self.assertEquals(set([trade_phase.accounting]), - set(business_state_d.getRemainingTradePhaseList(order))) - - # when trade_phase_list is defined in arguments, the result is filtered by base category. - self.assertEquals(set([trade_phase.delivery, - trade_phase.accounting]), - set(business_state_a\ - .getRemainingTradePhaseList(order, - trade_phase_list=['default/delivery', - 'default/accounting']))) - - def test_BusinessPath_calculateExpectedDate(self): - """ - This test case is described for what start/stop date is expected on - each path by explanation. - In this case, root explanation is path of between "b" and "d", and - lead time and wait time is set on each path. - ("l" is lead time, "w" is wait_time) - - Each path must calculate most early day from getting most longest - path in the simulation. - - "referential_date" represents for which date have to get of explanation from reality. - - (root_explanation) - l:2, w:1 l:3, w:1 l:4, w:2 - a ------------ b -------------- d -------------- e - \ / - \ / - l:2, w:1 \ / l:3, w:0 - \ / - \ / - \ / - \ / - c - """ - # define business process - business_process = self.createBusinessProcess() - business_path_a_b = self.createBusinessPath(business_process) - business_path_b_c = self.createBusinessPath(business_process) - business_path_b_d = self.createBusinessPath(business_process) - business_path_c_d = self.createBusinessPath(business_process) - business_path_d_e = self.createBusinessPath(business_process) - business_state_a = self.createBusinessState(business_process) - business_state_b = self.createBusinessState(business_process) - business_state_c = self.createBusinessState(business_process) - business_state_d = self.createBusinessState(business_process) - business_state_e = self.createBusinessState(business_process) - business_path_a_b.setPredecessorValue(business_state_a) - business_path_b_c.setPredecessorValue(business_state_b) - business_path_b_d.setPredecessorValue(business_state_b) - business_path_c_d.setPredecessorValue(business_state_c) - business_path_d_e.setPredecessorValue(business_state_d) - business_path_a_b.setSuccessorValue(business_state_b) - business_path_b_c.setSuccessorValue(business_state_c) - business_path_b_d.setSuccessorValue(business_state_d) - business_path_c_d.setSuccessorValue(business_state_d) - business_path_d_e.setSuccessorValue(business_state_e) - - business_process.edit(referential_date='stop_date') - business_state_a.edit(title='a') - business_state_b.edit(title='b') - business_state_c.edit(title='c') - business_state_d.edit(title='d') - business_state_e.edit(title='e') - business_path_a_b.edit(title='a_b', lead_time=2, wait_time=1) - business_path_b_c.edit(title='b_c', lead_time=2, wait_time=1) - business_path_b_d.edit(title='b_d', lead_time=3, wait_time=1) - business_path_c_d.edit(title='c_d', lead_time=3, wait_time=0) - business_path_d_e.edit(title='d_e', lead_time=4, wait_time=2) - - # root explanation - business_path_b_d.edit(deliverable=True) - self.tic() - - """ - Basic test, lead time of reality and simulation are consistent. - """ - class Mock: - def __init__(self, date): - self.date = date - def getStartDate(self): - return self.date - def getStopDate(self): - return self.date + 3 # lead time of reality - - base_date = DateTime('2009/04/01 GMT+9') - mock = Mock(base_date) - - # root explanation. - self.assertEquals(business_path_b_d.getExpectedStartDate(mock), DateTime('2009/04/01 GMT+9')) - self.assertEquals(business_path_b_d.getExpectedStopDate(mock), DateTime('2009/04/04 GMT+9')) - - # assertion for each path without root explanation. - self.assertEquals(business_path_a_b.getExpectedStartDate(mock), DateTime('2009/03/27 GMT+9')) - self.assertEquals(business_path_a_b.getExpectedStopDate(mock), DateTime('2009/03/29 GMT+9')) - self.assertEquals(business_path_b_c.getExpectedStartDate(mock), DateTime('2009/03/30 GMT+9')) - self.assertEquals(business_path_b_c.getExpectedStopDate(mock), DateTime('2009/04/01 GMT+9')) - self.assertEquals(business_path_c_d.getExpectedStartDate(mock), DateTime('2009/04/01 GMT+9')) - self.assertEquals(business_path_c_d.getExpectedStopDate(mock), DateTime('2009/04/04 GMT+9')) - self.assertEquals(business_path_d_e.getExpectedStartDate(mock), DateTime('2009/04/06 GMT+9')) - self.assertEquals(business_path_d_e.getExpectedStopDate(mock), DateTime('2009/04/10 GMT+9')) - - """ - Test of illegal case, lead time of reality and simulation are inconsistent, - always reality is taken, but it depends on which date(e.g. start_date and stop_date) is referential. - - How we know which is referential, currently implementation of it can be known by - BusinessProcess.isStartDateReferential and BusinessProcess.isStopDateReferential. - - In this test case, stop_date on business_path_b_d is referential, because business_path_b_d is - root explanation and business_process refer to stop_date as referential. - - calculation example(when referential date is 2009/04/06 GMT+9): - start_date of business_path_b_d = referential_date - 3(lead_time of business_path_b_d) - = 2009/04/06 GMT+9 - 3 - = 2009/04/03 GMT+9 - """ - class Mock: - def __init__(self, date): - self.date = date - def getStartDate(self): - return self.date - def getStopDate(self): - return self.date + 5 # changed - - base_date = DateTime('2009/04/01 GMT+9') - mock = Mock(base_date) - - self.assertEquals(business_path_b_d.getExpectedStartDate(mock), DateTime('2009/04/03 GMT+9')) - # This is base in this context, because referential_date is 'stop_date' - self.assertEquals(business_path_b_d.getExpectedStopDate(mock), DateTime('2009/04/06 GMT+9')) - - # assertion for each path without root explanation. - self.assertEquals(business_path_a_b.getExpectedStartDate(mock), DateTime('2009/03/29 GMT+9')) - self.assertEquals(business_path_a_b.getExpectedStopDate(mock), DateTime('2009/03/31 GMT+9')) - self.assertEquals(business_path_b_c.getExpectedStartDate(mock), DateTime('2009/04/01 GMT+9')) - self.assertEquals(business_path_b_c.getExpectedStopDate(mock), DateTime('2009/04/03 GMT+9')) - self.assertEquals(business_path_c_d.getExpectedStartDate(mock), DateTime('2009/04/03 GMT+9')) - self.assertEquals(business_path_c_d.getExpectedStopDate(mock), DateTime('2009/04/06 GMT+9')) - self.assertEquals(business_path_d_e.getExpectedStartDate(mock), DateTime('2009/04/08 GMT+9')) - self.assertEquals(business_path_d_e.getExpectedStopDate(mock), DateTime('2009/04/12 GMT+9')) - - def testBPMCopyAndPaste(self): - business_process = self.createBusinessProcess() - state = business_process.newContent( - portal_type=self.business_state_portal_type) - path = business_process.newContent( - portal_type=self.business_path_portal_type, predecessor_value=state, - successor_value=state) - self.tic() - - pasted_business_process = business_process.Base_createCloneDocument( - batch_mode=1) - self.tic() - - pasted_path = pasted_business_process.contentValues( - portal_type=self.business_path_portal_type)[0] - pasted_state = pasted_business_process.contentValues( - portal_type=self.business_state_portal_type)[0] - - self.assertEqual(pasted_state, pasted_path.getSuccessorValue()) - self.assertEqual(pasted_state, pasted_path.getPredecessorValue()) - -class TestBPMDummyDeliveryMovementMixin(TestBPMMixin): - def _createDelivery(self, **kw): - return self.folder.newContent(portal_type='Dummy Delivery', **kw) - - def _createMovement(self, delivery, **kw): - return delivery.newContent(portal_type='Dummy Movement', **kw) - - def getBusinessTemplateList(self): - return TestBPMMixin.getBusinessTemplateList(self) \ - + ('erp5_dummy_movement', ) - - def afterSetUp(self): - TestBPMMixin.afterSetUp(self) - if not hasattr(self.portal, 'testing_folder'): - self.portal.newContent(portal_type='Folder', - id='testing_folder') - self.folder = self.portal.testing_folder - self.tic() - - def beforeTearDown(self): - TestBPMMixin.beforeTearDown(self) - self.portal.deleteContent(id='testing_folder') - self.tic() - - completed_state = 'delivered' - frozen_state = 'confirmed' - - completed_state_list = [completed_state, frozen_state] - frozen_state_list = [frozen_state] - - def _createOrderedDeliveredInvoicedBusinessProcess(self): - # simple business process preparation - business_process = self.createBusinessProcess() - ordered = self.createBusinessState(business_process) - delivered = self.createBusinessState(business_process) - invoiced = self.createBusinessState(business_process) - - # path which is completed, as soon as related simulation movements are in - # proper state - self.order_path = self.createBusinessPath(business_process, - successor_value = ordered, - trade_phase='default/order', - completed_state_list = self.completed_state_list, - frozen_state_list = self.frozen_state_list) - - self.delivery_path = self.createBusinessPath(business_process, - predecessor_value = ordered, successor_value = delivered, - trade_phase='default/delivery', - completed_state_list = self.completed_state_list, - frozen_state_list = self.frozen_state_list) - - self.invoice_path = self.createBusinessPath(business_process, - predecessor_value = delivered, successor_value = invoiced, - trade_phase='default/invoicing') - self.tic() - - def _createOrderedInvoicedDeliveredBusinessProcess(self): - business_process = self.createBusinessProcess() - ordered = self.createBusinessState(business_process) - delivered = self.createBusinessState(business_process) - invoiced = self.createBusinessState(business_process) - - self.order_path = self.createBusinessPath(business_process, - successor_value = ordered, - trade_phase='default/order', - completed_state_list = self.completed_state_list, - frozen_state_list = self.frozen_state_list) - - self.invoice_path = self.createBusinessPath(business_process, - predecessor_value = ordered, successor_value = invoiced, - trade_phase='default/invoicing', - completed_state_list = self.completed_state_list, - frozen_state_list = self.frozen_state_list) - - self.delivery_path = self.createBusinessPath(business_process, - predecessor_value = invoiced, successor_value = delivered, - trade_phase='default/delivery') - self.tic() - -class TestBPMisBuildableImplementation(TestBPMDummyDeliveryMovementMixin): - def test_isBuildable_OrderedDeliveredInvoiced(self): - """Test isBuildable for ordered, delivered and invoiced sequence - - Here Business Process sequence corresponds simulation tree. - - delivery_path is related to root applied rule, and invoice_path is related - to rule below, and invoice_path is after delivery_path - """ - self._createOrderedDeliveredInvoicedBusinessProcess() - # create order and order line to have starting point for business process - order = self._createDelivery() - order_line = self._createMovement(order) - - # first level rule with simulation movement - applied_rule = self.portal.portal_simulation.newContent( - portal_type='Applied Rule', causality_value=order) - - simulation_movement = applied_rule.newContent( - portal_type = 'Simulation Movement', - delivery_value = order_line, - causality_value = self.order_path - ) - - # second level rule with simulation movement - delivery_rule = simulation_movement.newContent( - portal_type='Applied Rule') - delivery_simulation_movement = delivery_rule.newContent( - portal_type='Simulation Movement', - causality_value = self.delivery_path) - - # third level rule with simulation movement - invoicing_rule = delivery_simulation_movement.newContent( - portal_type='Applied Rule') - invoicing_simulation_movement = invoicing_rule.newContent( - portal_type='Simulation Movement', - causality_value = self.invoice_path) - - # split simulation movement for first level applied rule - split_simulation_movement = applied_rule.newContent( - portal_type = 'Simulation Movement', delivery_value = order_line, - causality_value = self.order_path) - - # second level rule with simulation movement for split parent movement - split_delivery_rule = split_simulation_movement.newContent( - portal_type='Applied Rule') - split_delivery_simulation_movement = split_delivery_rule.newContent( - portal_type='Simulation Movement', - causality_value = self.delivery_path) - - # third level rule with simulation movement for split parent movement - split_invoicing_rule = split_delivery_simulation_movement.newContent( - portal_type='Applied Rule') - split_invoicing_simulation_movement = split_invoicing_rule.newContent( - portal_type='Simulation Movement', - causality_value = self.invoice_path) - - order.setSimulationState(self.completed_state) - self.tic() - - # in the beginning only order related movements shall be buildable - self.assertEquals(self.delivery_path.isBuildable(order), True) - self.assertEquals(delivery_simulation_movement.isBuildable(), True) - self.assertEquals(split_delivery_simulation_movement.isBuildable(), True) - - self.assertEquals(self.invoice_path.isBuildable(order), False) - self.assertEquals(invoicing_simulation_movement.isBuildable(), False) - self.assertEquals(split_invoicing_simulation_movement.isBuildable(), - False) - - # add delivery - delivery = self._createDelivery(causality_value = order) - delivery_line = self._createMovement(delivery) - - # relate not split movement with delivery (deliver it) - delivery_simulation_movement.edit(delivery_value = delivery_line) - - self.tic() - - # delivery_path (for order) is still buildable, as split movement is not - # delivered yet - # - # invoice_path is not yet buildable, delivery is in inproper simulation - # state - # - # delivery_path (for delivery) is not buildable - delivery is already - # built for those movements - self.assertEquals(self.delivery_path.isBuildable(order), True) - self.assertEquals(split_delivery_simulation_movement.isBuildable(), True) - - self.assertEquals(self.delivery_path.isBuildable(delivery), False) - self.assertEquals(self.invoice_path.isBuildable(delivery), False) - self.assertEquals(delivery_simulation_movement.isBuildable(), False) - self.assertEquals(invoicing_simulation_movement.isBuildable(), False) - self.assertEquals(self.invoice_path.isBuildable(order), False) - self.assertEquals(split_invoicing_simulation_movement.isBuildable(), - False) - - # put delivery in simulation state configured on path (and this state is - # available directly on movements) - - delivery.setSimulationState(self.completed_state) - - self.assertEqual(self.completed_state, delivery.getSimulationState()) - - self.tic() - - # delivery_path (for order) is still buildable, as split movement is not - # delivered yet - # - # invoicing_path (for delivery and order) is buildable - in case of order, - # because part of tree is buildable - # - # split movement for invoicing is not buildable - no proper delivery - # related for previous path - self.assertEquals(self.delivery_path.isBuildable(order), True) - self.assertEquals(invoicing_simulation_movement.isBuildable(), True) - self.assertEquals(self.invoice_path.isBuildable(delivery), True) - - # XXX look at comments in BusinessPath.isBuildable - self.assertEquals(self.invoice_path.isBuildable(order), True) - - self.assertEquals(self.delivery_path.isBuildable(delivery), False) - self.assertEquals(delivery_simulation_movement.isBuildable(), False) - self.assertEquals(split_invoicing_simulation_movement.isBuildable(), - False) - - def test_isBuildable_OrderedInvoicedDelivered(self): - """Test isBuildable for ordered, invoiced and delivered sequence - - Here Business Process sequence do not corresponds simulation tree. - - delivery_path is related to root applied rule, and invoice_path is related - to rule below, but invoice_path is before delivery_path in seuqence. - """ - self._createOrderedInvoicedDeliveredBusinessProcess() - - order = self._createDelivery() - order_line = self._createMovement(order) - - applied_rule = self.portal.portal_simulation.newContent( - portal_type='Applied Rule', causality_value=order) - - simulation_movement = applied_rule.newContent( - portal_type = 'Simulation Movement', - delivery_value = order_line, - causality_value = self.order_path - ) - - delivery_rule = simulation_movement.newContent( - portal_type='Applied Rule') - delivery_simulation_movement = delivery_rule.newContent( - portal_type='Simulation Movement', - causality_value = self.delivery_path) - - invoicing_rule = delivery_simulation_movement.newContent( - portal_type='Applied Rule') - invoicing_simulation_movement = invoicing_rule.newContent( - portal_type='Simulation Movement', - causality_value = self.invoice_path) - - order.setSimulationState(self.completed_state) - self.tic() - - self.assertEquals(self.delivery_path.isBuildable(order), False) - self.assertEquals(delivery_simulation_movement.isBuildable(), False) - - self.assertEquals(self.invoice_path.isBuildable(order), True) - self.assertEquals(invoicing_simulation_movement.isBuildable(), True) - - delivery = self._createDelivery(causality_value = order) - delivery_line = self._createMovement(delivery) - - invoicing_simulation_movement.edit(delivery_value = delivery_line) - - self.tic() - - self.assertEquals(self.delivery_path.isBuildable(order), False) - - self.assertEquals(self.delivery_path.isBuildable(delivery), False) - self.assertEquals(self.invoice_path.isBuildable(delivery), False) - self.assertEquals(delivery_simulation_movement.isBuildable(), False) - self.assertEquals(invoicing_simulation_movement.isBuildable(), False) - self.assertEquals(self.invoice_path.isBuildable(order), False) - - # put delivery in simulation state configured on path (and this state is - # available directly on movements) - - delivery.setSimulationState(self.completed_state) - - self.assertEqual(self.completed_state, delivery.getSimulationState()) - - self.tic() - - self.assertEquals(self.delivery_path.isBuildable(order), True) - self.assertEquals(self.delivery_path.isBuildable(delivery), True) - self.assertEquals(invoicing_simulation_movement.isBuildable(), False) - self.assertEquals(self.invoice_path.isBuildable(delivery), False) - self.assertEquals(self.invoice_path.isBuildable(order), False) - self.assertEquals(delivery_simulation_movement.isBuildable(), True) - - # now simulate compensation - - compensated_simulation_movement = delivery_rule.newContent( - portal_type = 'Simulation Movement', - delivery_value = order_line, - causality_value = self.delivery_path - ) - - compensated_invoicing_rule = compensated_simulation_movement.newContent( - portal_type='Applied Rule') - - compensated_invoicing_simulation_movement = compensated_invoicing_rule \ - .newContent(portal_type='Simulation Movement', - causality_value = self.invoice_path) - - # and delivery some part of tree - - another_delivery = self._createDelivery(causality_value = delivery) - another_delivery_line = self._createMovement(another_delivery) - - delivery_simulation_movement.edit(delivery_value=another_delivery_line) - - self.tic() - - self.assertEquals(self.delivery_path.isBuildable(order), False) - - self.assertEquals(delivery_simulation_movement.isBuildable(), False) - self.assertEquals(invoicing_simulation_movement.isBuildable(), False) - - self.assertEquals(self.invoice_path.isBuildable(order), True) - self.assertEquals(compensated_invoicing_simulation_movement.isBuildable(), - True) - - self.assertEquals(compensated_simulation_movement.isBuildable(), False) - -class TestBPMisCompletedImplementation(TestBPMDummyDeliveryMovementMixin): - def test_isCompleted_OrderedDeliveredInvoiced(self): - """Test isCompleted for ordered, delivered and invoiced sequence""" - self._createOrderedDeliveredInvoicedBusinessProcess() - - # create order and order line to have starting point for business process - order = self._createDelivery() - order_line = self._createMovement(order) - - # first level rule with simulation movement - applied_rule = self.portal.portal_simulation.newContent( - portal_type='Applied Rule', causality_value=order) - - simulation_movement = applied_rule.newContent( - portal_type = 'Simulation Movement', - delivery_value = order_line, - causality_value = self.order_path - ) - - # second level rule with simulation movement - delivery_rule = simulation_movement.newContent( - portal_type='Applied Rule') - delivery_simulation_movement = delivery_rule.newContent( - portal_type='Simulation Movement', - causality_value = self.delivery_path) - - # third level rule with simulation movement - invoicing_rule = delivery_simulation_movement.newContent( - portal_type='Applied Rule') - invoicing_simulation_movement = invoicing_rule.newContent( - portal_type='Simulation Movement', - causality_value = self.invoice_path) - - # split simulation movement for first level applied rule - split_simulation_movement = applied_rule.newContent( - portal_type = 'Simulation Movement', delivery_value = order_line, - causality_value = self.order_path) - - # second level rule with simulation movement for split parent movement - split_delivery_rule = split_simulation_movement.newContent( - portal_type='Applied Rule') - split_delivery_simulation_movement = split_delivery_rule.newContent( - portal_type='Simulation Movement', - causality_value = self.delivery_path) - - # third level rule with simulation movement for split parent movement - split_invoicing_rule = split_delivery_simulation_movement.newContent( - portal_type='Applied Rule') - split_invoicing_simulation_movement = split_invoicing_rule.newContent( - portal_type='Simulation Movement', - causality_value = self.invoice_path) - - self.tic() - - self.assertEqual(self.delivery_path.isCompleted(order), False) - self.assertEqual(self.delivery_path.isPartiallyCompleted(order), False) - - self.assertEqual(self.invoice_path.isCompleted(order), False) - self.assertEqual(self.invoice_path.isPartiallyCompleted(order), False) - - # add delivery - delivery = self._createDelivery(causality_value = order) - delivery_line = self._createMovement(delivery) - - # relate not split movement with delivery (deliver it) - delivery_simulation_movement.edit(delivery_value = delivery_line) - - self.tic() - - # nothing changes - self.assertEqual(self.delivery_path.isCompleted(order), False) - self.assertEqual(self.delivery_path.isPartiallyCompleted(order), False) - - self.assertEqual(self.invoice_path.isCompleted(order), False) - self.assertEqual(self.invoice_path.isPartiallyCompleted(order), False) - - # from delivery point of view everything is same - self.assertEqual(self.delivery_path.isCompleted(delivery), False) - self.assertEqual(self.delivery_path.isPartiallyCompleted(delivery), False) - - self.assertEqual(self.invoice_path.isCompleted(delivery), False) - self.assertEqual(self.invoice_path.isPartiallyCompleted(delivery), False) - - # put delivery in simulation state configured on path (and this state is - # available directly on movements) - - delivery.setSimulationState(self.completed_state) - - self.assertEqual(self.completed_state, delivery.getSimulationState()) - - self.tic() - - self.assertEqual(self.delivery_path.isCompleted(order), False) - self.assertEqual(self.delivery_path.isPartiallyCompleted(order), True) - - self.assertEqual(self.invoice_path.isCompleted(order), False) - self.assertEqual(self.invoice_path.isPartiallyCompleted(order), False) - - self.assertEqual(self.delivery_path.isCompleted(delivery), True) - self.assertEqual(self.delivery_path.isPartiallyCompleted(delivery), True) - - self.assertEqual(self.invoice_path.isCompleted(delivery), False) - self.assertEqual(self.invoice_path.isPartiallyCompleted(delivery), False) - - def test_isCompleted_OrderedInvoicedDelivered(self): - """Test isCompleted for ordered, invoiced and invoiced sequence""" - self._createOrderedInvoicedDeliveredBusinessProcess() - - order = self._createDelivery() - order_line = self._createMovement(order) - - applied_rule = self.portal.portal_simulation.newContent( - portal_type='Applied Rule', causality_value=order) - - simulation_movement = applied_rule.newContent( - portal_type = 'Simulation Movement', - delivery_value = order_line, - causality_value = self.delivery_path - ) - - delivery_rule = simulation_movement.newContent( - portal_type='Applied Rule') - delivery_simulation_movement = delivery_rule.newContent( - portal_type='Simulation Movement', - causality_value = self.delivery_path) - - invoicing_rule = delivery_simulation_movement.newContent( - portal_type='Applied Rule') - invoicing_simulation_movement = invoicing_rule.newContent( - portal_type='Simulation Movement', - causality_value = self.invoice_path) - - self.tic() - - self.assertEqual(self.delivery_path.isCompleted(order), False) - self.assertEqual(self.delivery_path.isPartiallyCompleted(order), False) - - self.assertEqual(self.invoice_path.isCompleted(order), False) - self.assertEqual(self.invoice_path.isPartiallyCompleted(order), False) - - delivery = self._createDelivery(causality_value = order) - delivery_line = self._createMovement(delivery) - - invoicing_simulation_movement.edit(delivery_value = delivery_line) - - self.tic() - - self.assertEqual(self.delivery_path.isCompleted(order), False) - self.assertEqual(self.delivery_path.isPartiallyCompleted(order), False) - - self.assertEqual(self.invoice_path.isCompleted(order), False) - self.assertEqual(self.invoice_path.isPartiallyCompleted(order), False) - - self.assertEqual(self.delivery_path.isCompleted(delivery), False) - self.assertEqual(self.delivery_path.isPartiallyCompleted(delivery), False) - - self.assertEqual(self.invoice_path.isCompleted(delivery), False) - self.assertEqual(self.invoice_path.isPartiallyCompleted(delivery), False) - - # put delivery in simulation state configured on path (and this state is - # available directly on movements) - - delivery.setSimulationState(self.completed_state) - - self.assertEqual(self.completed_state, delivery.getSimulationState()) - - self.tic() - - self.assertEqual(self.delivery_path.isCompleted(order), False) - self.assertEqual(self.delivery_path.isPartiallyCompleted(order), False) - - self.assertEqual(self.invoice_path.isCompleted(order), True) - self.assertEqual(self.invoice_path.isPartiallyCompleted(order), True) - - self.assertEqual(self.delivery_path.isCompleted(delivery), False) - self.assertEqual(self.delivery_path.isPartiallyCompleted(delivery), False) - - self.assertEqual(self.invoice_path.isCompleted(delivery), True) - self.assertEqual(self.invoice_path.isPartiallyCompleted(delivery), True) - - # now simulate compensation - - compensated_simulation_movement = delivery_rule.newContent( - portal_type = 'Simulation Movement', - delivery_value = order_line, - causality_value = self.delivery_path - ) - - compensated_invoicing_rule = compensated_simulation_movement.newContent( - portal_type='Applied Rule') - - compensated_invoicing_simulation_movement = compensated_invoicing_rule \ - .newContent(portal_type='Simulation Movement', - causality_value = self.invoice_path) - - # and delivery some part of tree - - another_delivery = self._createDelivery(causality_value = delivery) - another_delivery_line = self._createMovement(another_delivery) - - delivery_simulation_movement.edit(delivery_value=another_delivery_line) - - self.tic() - - self.assertEqual(self.delivery_path.isCompleted(order), False) - self.assertEqual(self.delivery_path.isPartiallyCompleted(order), False) - - self.assertEqual(self.invoice_path.isCompleted(order), False) - self.assertEqual(self.invoice_path.isPartiallyCompleted(order), True) - - self.assertEqual(self.delivery_path.isCompleted(delivery), False) - self.assertEqual(self.delivery_path.isPartiallyCompleted(delivery), False) - - self.assertEqual(self.invoice_path.isCompleted(delivery), True) - self.assertEqual(self.invoice_path.isPartiallyCompleted(delivery), True) - -class TestBPMisFrozenImplementation(TestBPMDummyDeliveryMovementMixin): - def test_isFrozen_OrderedDeliveredInvoiced(self): - """Test isFrozen for ordered, delivered and invoiced sequence""" - self._createOrderedDeliveredInvoicedBusinessProcess() - - # create order and order line to have starting point for business process - order = self._createDelivery() - order_line = self._createMovement(order) - - # first level rule with simulation movement - applied_rule = self.portal.portal_simulation.newContent( - portal_type='Applied Rule', causality_value=order) - - simulation_movement = applied_rule.newContent( - portal_type = 'Simulation Movement', - delivery_value = order_line, - causality_value = self.delivery_path - ) - - # second level rule with simulation movement - delivery_rule = simulation_movement.newContent( - portal_type='Applied Rule') - delivery_simulation_movement = delivery_rule.newContent( - portal_type='Simulation Movement', - causality_value = self.delivery_path) - - # third level rule with simulation movement - invoicing_rule = delivery_simulation_movement.newContent( - portal_type='Applied Rule') - invoicing_simulation_movement = invoicing_rule.newContent( - portal_type='Simulation Movement', - causality_value = self.invoice_path) - - # split simulation movement for first level applied rule - split_simulation_movement = applied_rule.newContent( - portal_type = 'Simulation Movement', delivery_value = order_line, - causality_value = self.order_path) - - # second level rule with simulation movement for split parent movement - split_delivery_rule = split_simulation_movement.newContent( - portal_type='Applied Rule') - split_delivery_simulation_movement = split_delivery_rule.newContent( - portal_type='Simulation Movement', - causality_value = self.delivery_path) - - # third level rule with simulation movement for split parent movement - split_invoicing_rule = split_delivery_simulation_movement.newContent( - portal_type='Applied Rule') - split_invoicing_simulation_movement = split_invoicing_rule.newContent( - portal_type='Simulation Movement', - causality_value = self.invoice_path) - - self.tic() - - self.assertEqual(self.delivery_path.isFrozen(order), False) - self.assertEqual(self.invoice_path.isFrozen(order), False) - - self.assertEqual(simulation_movement.isFrozen(), False) - self.assertEqual(invoicing_simulation_movement.isFrozen(), False) - self.assertEqual(split_simulation_movement.isFrozen(), False) - self.assertEqual(split_invoicing_simulation_movement.isFrozen(), False) - - # add delivery - delivery = self._createDelivery(causality_value = order) - delivery_line = self._createMovement(delivery) - - # relate not split movement with delivery (deliver it) - delivery_simulation_movement.edit(delivery_value = delivery_line) - - self.tic() - - # nothing changes - self.assertEqual(self.delivery_path.isFrozen(order), False) - self.assertEqual(self.invoice_path.isFrozen(order), False) - - # from delivery point of view everything is same - self.assertEqual(self.delivery_path.isFrozen(delivery), False) - self.assertEqual(self.invoice_path.isFrozen(delivery), False) - - self.assertEqual(simulation_movement.isFrozen(), False) - self.assertEqual(invoicing_simulation_movement.isFrozen(), False) - self.assertEqual(split_simulation_movement.isFrozen(), False) - self.assertEqual(split_invoicing_simulation_movement.isFrozen(), False) - - # put delivery in simulation state configured on path (and this state is - # available directly on movements) - - delivery.setSimulationState(self.frozen_state) - - self.assertEqual(self.frozen_state, delivery.getSimulationState()) - - self.tic() - - self.assertEqual(self.delivery_path.isFrozen(order), False) - self.assertEqual(self.invoice_path.isFrozen(order), False) - self.assertEqual(self.delivery_path.isFrozen(delivery), False) - self.assertEqual(self.invoice_path.isFrozen(delivery), False) - - self.assertEqual(delivery_simulation_movement.isFrozen(), True) - self.assertEqual(invoicing_simulation_movement.isFrozen(), False) - self.assertEqual(split_simulation_movement.isFrozen(), False) - self.assertEqual(split_invoicing_simulation_movement.isFrozen(), False) - - def test_isFrozen_OrderedInvoicedDelivered(self): - """Test isFrozen for ordered, invoiced and invoiced sequence""" - self._createOrderedInvoicedDeliveredBusinessProcess() - - order = self._createDelivery() - order_line = self._createMovement(order) - - applied_rule = self.portal.portal_simulation.newContent( - portal_type='Applied Rule', causality_value=order) - - simulation_movement = applied_rule.newContent( - portal_type = 'Simulation Movement', - delivery_value = order_line, - causality_value = self.delivery_path - ) - - delivery_rule = simulation_movement.newContent( - portal_type='Applied Rule') - delivery_simulation_movement = delivery_rule.newContent( - portal_type='Simulation Movement', - causality_value = self.delivery_path) - - invoicing_rule = delivery_simulation_movement.newContent( - portal_type='Applied Rule') - invoicing_simulation_movement = invoicing_rule.newContent( - portal_type='Simulation Movement', - causality_value = self.invoice_path) - - self.tic() - - self.assertEqual(self.delivery_path.isFrozen(order), False) - self.assertEqual(self.invoice_path.isFrozen(order), False) - - self.assertEqual(simulation_movement.isFrozen(), False) - self.assertEqual(invoicing_simulation_movement.isFrozen(), False) - - delivery = self._createDelivery(causality_value = order) - delivery_line = self._createMovement(delivery) - - invoicing_simulation_movement.edit(delivery_value = delivery_line) - - self.tic() - - self.assertEqual(self.delivery_path.isFrozen(order), False) - self.assertEqual(self.invoice_path.isFrozen(order), False) - self.assertEqual(self.delivery_path.isFrozen(delivery), False) - self.assertEqual(self.invoice_path.isFrozen(delivery), False) - - self.assertEqual(simulation_movement.isFrozen(), False) - self.assertEqual(invoicing_simulation_movement.isFrozen(), False) - - # put delivery in simulation state configured on path (and this state is - # available directly on movements) - - delivery.setSimulationState(self.frozen_state) - - self.assertEqual(self.frozen_state, delivery.getSimulationState()) - - self.tic() - - self.assertEqual(self.delivery_path.isFrozen(order), False) - self.assertEqual(self.invoice_path.isFrozen(order), True) - self.assertEqual(self.delivery_path.isFrozen(delivery), False) - self.assertEqual(self.invoice_path.isFrozen(delivery), True) - - self.assertEqual(simulation_movement.isFrozen(), False) - self.assertEqual(invoicing_simulation_movement.isFrozen(), True) - - # now simulate compensation - - compensated_simulation_movement = delivery_rule.newContent( - portal_type = 'Simulation Movement', - delivery_value = order_line, - causality_value = self.delivery_path - ) - - compensated_invoicing_rule = compensated_simulation_movement.newContent( - portal_type='Applied Rule') - - compensated_invoicing_simulation_movement = compensated_invoicing_rule \ - .newContent(portal_type='Simulation Movement', - causality_value = self.invoice_path) - - # and delivery some part of tree - - another_delivery = self._createDelivery(causality_value = delivery) - another_delivery_line = self._createMovement(another_delivery) - - delivery_simulation_movement.edit(delivery_value=another_delivery_line) - - self.tic() - - self.assertEqual(self.delivery_path.isFrozen(order), False) - - self.assertEqual(self.invoice_path.isFrozen(order), False) - - self.assertEqual(self.delivery_path.isFrozen(delivery), False) - - self.assertEqual(self.invoice_path.isFrozen(delivery), True) - - self.assertEqual(simulation_movement.isFrozen(), False) - self.assertEqual(invoicing_simulation_movement.isFrozen(), True) - - self.assertEqual(compensated_simulation_movement.isFrozen(), False) - self.assertEqual(compensated_invoicing_simulation_movement.isFrozen(), - False) - -def test_suite(): - suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(TestBPMImplementation)) - suite.addTest(unittest.makeSuite(TestBPMisBuildableImplementation)) - suite.addTest(unittest.makeSuite(TestBPMisCompletedImplementation)) - suite.addTest(unittest.makeSuite(TestBPMisFrozenImplementation)) - return suite diff --git a/product/ERP5Legacy/tests/testLegacyConversionInSimulation.py b/product/ERP5Legacy/tests/testLegacyConversionInSimulation.py deleted file mode 100644 index abadc0302a..0000000000 --- a/product/ERP5Legacy/tests/testLegacyConversionInSimulation.py +++ /dev/null @@ -1,827 +0,0 @@ -############################################################################# -# -# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved. -# Aurelien Calonne <aurel@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import unittest - -from DateTime import DateTime -from zLOG import LOG -from Products.ERP5Type.UnrestrictedMethod import UnrestrictedMethod -from Testing import ZopeTestCase -from Products.ERP5.tests.testAccounting import AccountingTestCase -from AccessControl.SecurityManagement import newSecurityManager -QUIET = False -run_all_test = True - - - -def printAndLog(msg): - """ - A utility function to print a message - to the standard output and to the LOG - at the same time - """ - msg = str(msg) - ZopeTestCase._print('\n ' + msg) - LOG('Testing... ', 0, msg) - -class TestConversionInSimulation(AccountingTestCase): - - username = 'username' - default_region = "europe/west/france" - vat_gap = 'fr/pcg/4/44/445/4457/44571' - vat_rate = 0.196 - sale_gap = 'fr/pcg/7/70/707/7071/70712' - customer_gap = 'fr/pcg/4/41/411' - mail_delivery_mode = 'by_mail' - cpt_incoterm = 'cpt' - unit_piece_quantity_unit = 'unit/piece' - mass_quantity_unit = 'mass/kg' - - # (account_id, account_gap, account_type) - account_definition_list = ( - ('receivable_vat', vat_gap, 'liability/payable/collected_vat',), - ('sale', sale_gap, 'income'), - ('customer', customer_gap, 'asset/receivable'), - ('refundable_vat', vat_gap, 'asset/receivable/refundable_vat'), - ('purchase', sale_gap, 'expense'), - ('supplier', customer_gap, 'liability/payable'), - ) - # (line_id, source_account_id, destination_account_id, line_quantity) - transaction_line_definition_list = ( - ('income', 'sale', 'purchase', 1.0), - ('receivable', 'customer', 'supplier', -1.0 - vat_rate), - ('collected_vat', 'receivable_vat', 'refundable_vat', vat_rate), - ) - - @UnrestrictedMethod - def createCategories(self): - """Create the categories for our test. """ - for cat_string in self.getNeededCategoryList() : - base_cat = cat_string.split("/")[0] - path = self.getPortal().portal_categories[base_cat] - for cat in cat_string.split("/")[1:] : - if not cat in path.objectIds() : - path = path.newContent( - portal_type='Category', - id=cat,) - else: - path = path[cat] - # check categories have been created - for cat_string in self.getNeededCategoryList() : - self.assertNotEquals(None, - self.getCategoryTool().restrictedTraverse(cat_string), - cat_string) - - def getNeededCategoryList(self): - """return a list of categories that should be created.""" - return ('region/%s' % self.default_region, - 'gap/%s' % self.vat_gap, - 'gap/%s' % self.sale_gap, - 'gap/%s' % self.customer_gap, - 'delivery_mode/%s' % self.mail_delivery_mode, - 'incoterm/%s' % self.cpt_incoterm, - 'quantity_unit/%s' % self.unit_piece_quantity_unit, - 'quantity_unit/%s' % self.mass_quantity_unit, - 'product_line/apparel', - ) - - def _solveDivergence(self, obj, property, decision, group='line'): - """ - Check if simulation movement are disconnected - """ - kw = {'%s_group_listbox' % group:{}} - for divergence in obj.getDivergenceList(): - if divergence.getProperty('tested_property') != property: - continue - sm_url = divergence.getProperty('simulation_movement').getRelativeUrl() - kw['line_group_listbox']['%s&%s' % (sm_url, property)] = { - 'choice':decision} - self.portal.portal_workflow.doActionFor( - obj, - 'solve_divergence_action', - **kw) - - def afterSetUp(self): - super(TestConversionInSimulation, self).afterSetUp() - self.createCategories() - self.validateRules() - self.login() - - def beforeTearDown(self): - self.abort() - # clear modules if necessary - currency_list = ('euro', 'yen', 'usd') - module = self.portal.currency_module - module.manage_delObjects([x for x in module.objectIds() - if x not in currency_list]) - for currency_id in currency_list: - currency = self.currency_module._getOb(currency_id, None) - if currency is not None: - currency.manage_delObjects([x.getId() for x in - currency.objectValues( - portal_type='Currency Exchange Line')]) - self.tic() - super(TestConversionInSimulation, self).beforeTearDown() - - def login(self,name=username, quiet=0, run=run_all_test): - uf = self.getPortal().acl_users - uf._doAddUser(self.username, '', ['Assignee', 'Assignor', - 'Author'], []) - user = uf.getUserById(self.username).__of__(uf) - newSecurityManager(None, user) - - def getBusinessTemplateList(self): - """ - Return the list of business templates we need to run the test. - This method is called during the initialization of the unit test by - the unit test framework in order to know which business templates - need to be installed to run the test on. - """ - return ('erp5_base', 'erp5_pdm', 'erp5_simulation', 'erp5_trade', - 'erp5_accounting', 'erp5_accounting_ui_test', 'erp5_invoicing', - 'erp5_simplified_invoicing', 'erp5_simulation_legacy', - 'erp5_trade_simulation_legacy', - 'erp5_accounting_simulation_legacy', - 'erp5_invoicing_simulation_legacy') - - @UnrestrictedMethod - def createInvoiceTransactionRule(self, resource=None): - """Create a sale invoice transaction rule with only one cell for - product_line/apparel and default_region - The accounting rule cell will have the provided resource, but this his more - or less optional (as long as price currency is set correctly on order) - """ - portal = self.portal - account_module = portal.account_module - for account_id, account_gap, account_type \ - in self.account_definition_list: - if not account_id in account_module.objectIds(): - account = account_module.newContent(id=account_id) - account.setGap(account_gap) - account.setAccountType(account_type) - portal.portal_workflow.doActionFor(account, 'validate_action') - - invoice_rule = portal.portal_rules.default_invoice_transaction_simulation_rule - if invoice_rule.getValidationState() == 'validated': - invoice_rule.invalidate() - invoice_rule.deleteContent(list(invoice_rule.objectIds())) - self.tic() - region_predicate = invoice_rule.newContent(portal_type = 'Predicate') - product_line_predicate = invoice_rule.newContent(portal_type = 'Predicate') - region_predicate.edit( - membership_criterion_base_category_list = ['destination_region'], - membership_criterion_category_list = - ['destination_region/region/%s' % self.default_region ], - int_index = 1, - string_index = 'region' - ) - product_line_predicate.edit( - membership_criterion_base_category_list = ['product_line'], - membership_criterion_category_list = - ['product_line/apparel'], - int_index = 1, - string_index = 'product' - ) - product_line_predicate.immediateReindexObject() - region_predicate.immediateReindexObject() - - invoice_rule.updateMatrix() - cell_list = invoice_rule.getCellValueList(base_id='movement') - self.assertEquals(len(cell_list),1) - cell = cell_list[0] - - for line_id, line_source_id, line_destination_id, line_ratio in \ - self.transaction_line_definition_list: - line = cell.newContent(id=line_id, - portal_type='Accounting Transaction Line', quantity=line_ratio, - resource_value=resource, - source_value=account_module[line_source_id], - destination_value=account_module[line_destination_id]) - - invoice_rule.validate() - self.tic() - - def test_01_simulation_movement_destination_asset_price(self,quiet=0, - run=run_all_test): - """ - tests that when resource on simulation movements is different - from the price currency of the destination section, that - destination_asset_price is set on the movement - """ - if not run: return - if not quiet: - printAndLog('test_01_simulation_movement_destination_asset_price') - resource = self.portal.product_module.newContent( - portal_type='Product', - title='Resource', - product_line='apparel') - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='euro') - currency.setBaseUnitQuantity(0.01) - new_currency = \ - self.portal.currency_module.newContent(portal_type='Currency') - new_currency.setReference('XOF') - new_currency.setTitle('Francs CFA') - new_currency.setBaseUnitQuantity(1.00) - self.tic()#execute transaction - x_curr_ex_line = currency.newContent( - portal_type='Currency Exchange Line', - price_currency=new_currency.getRelativeUrl()) - x_curr_ex_line.setTitle('Euro to Francs CFA') - x_curr_ex_line.setBasePrice(655.957) - x_curr_ex_line.setStartDate(DateTime(2008,10,21)) - x_curr_ex_line.setStopDate(DateTime(2008,10,22)) - x_curr_ex_line.validate() - self.createInvoiceTransactionRule(currency) - self.tic()#execute transactio - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client', - price_currency=new_currency.getRelativeUrl(), - default_address_region=self.default_region) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor', - default_address_region=self.default_region) - order = self.portal.sale_order_module.newContent( - portal_type='Sale Order', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008,10, 21), - price_currency_value=currency, - title='Order') - order_line = order.newContent(portal_type='Sale Order Line', - resource_value=resource, - quantity=1, - price=2) - - order.confirm() - self.tic() - - related_applied_rule = order.getCausalityRelatedValue( - portal_type='Applied Rule') - order_movement = related_applied_rule.contentValues()[0] - delivery_applied_rule = order_movement.contentValues()[0] - delivery_movement = delivery_applied_rule.contentValues()[0] - invoice_applied_rule = delivery_movement.contentValues()[0] - invoice_movement = invoice_applied_rule.contentValues()[0] - invoice_transaction_applied_rule = invoice_movement.contentValues()[0] - invoice_transaction_movement_1 =\ - invoice_transaction_applied_rule.contentValues()[0] - self.assertEquals(currency, - invoice_transaction_movement_1.getResourceValue()) - self.assertEquals(currency, - delivery_movement.getPriceCurrencyValue()) - self.assertEquals\ - (invoice_transaction_movement_1.getDestinationTotalAssetPrice(), - round(655.957*delivery_movement.getTotalPrice())) - self.assertEquals\ - (invoice_transaction_movement_1.getSourceTotalAssetPrice(), - None) - invoice_transaction_movement_2 =\ - invoice_transaction_applied_rule.contentValues()[1] - self.assertEquals(currency, - invoice_transaction_movement_2.getResourceValue()) - self.assertEquals(currency, - delivery_movement.getPriceCurrencyValue()) - self.assertEquals\ - (invoice_transaction_movement_2.getDestinationTotalAssetPrice(), - round(655.957*delivery_movement.getTotalPrice())) - - def test_01_simulation_movement_source_asset_price(self,quiet=0, - run=run_all_test): - """ - tests that when resource on simulation movements is different - from the price currency of the source section, that - source_asset_price is set on the movement - """ - if not run: return - if not quiet: - printAndLog('test_01_simulation_movement_source_asset_price') - resource = self.portal.product_module.newContent( - portal_type='Product', - title='Resource', - product_line='apparel') - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='euro') - currency.setBaseUnitQuantity(0.01) - new_currency = \ - self.portal.currency_module.newContent(portal_type='Currency') - new_currency.setReference('XOF') - new_currency.setTitle('Francs CFA') - new_currency.setBaseUnitQuantity(1.00) - self.tic()#execute transaction - x_curr_ex_line = currency.newContent( - portal_type='Currency Exchange Line', - price_currency=new_currency.getRelativeUrl()) - x_curr_ex_line.setTitle('Euro to Francs CFA') - x_curr_ex_line.setBasePrice(655.957) - x_curr_ex_line.setStartDate(DateTime(2008,10,21)) - x_curr_ex_line.setStopDate(DateTime(2008,10,22)) - x_curr_ex_line.validate() - self.createInvoiceTransactionRule(currency) - self.tic()#execute transactio - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client', - default_address_region=self.default_region) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor', - price_currency=new_currency.getRelativeUrl(), - default_address_region=self.default_region) - order = self.portal.sale_order_module.newContent( - portal_type='Sale Order', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008,10, 21), - price_currency_value=currency, - title='Order') - order_line = order.newContent(portal_type='Sale Order Line', - resource_value=resource, - quantity=1, - price=2) - - order.confirm() - self.tic() - - related_applied_rule = order.getCausalityRelatedValue( - portal_type='Applied Rule') - order_movement = related_applied_rule.contentValues()[0] - delivery_applied_rule = order_movement.contentValues()[0] - delivery_movement = delivery_applied_rule.contentValues()[0] - invoice_applied_rule = delivery_movement.contentValues()[0] - invoice_movement = invoice_applied_rule.contentValues()[0] - invoice_transaction_applied_rule = invoice_movement.contentValues()[0] - invoice_transaction_movement =\ - invoice_transaction_applied_rule.contentValues()[0] - self.assertEquals(currency, - invoice_transaction_movement.getResourceValue()) - self.assertEquals(currency, - delivery_movement.getPriceCurrencyValue()) - self.assertEquals\ - (invoice_transaction_movement.getSourceTotalAssetPrice(), - round(655.957*delivery_movement.getTotalPrice())) - self.assertEquals\ - (invoice_transaction_movement.getDestinationTotalAssetPrice(), - None) - - - def test_01_destination_total_asset_price_on_accounting_lines(self,quiet=0, - run=run_all_test): - """ - tests that the delivery builder of the invoice transaction lines - copies the destination asset price on the accounting_lines of the invoice - """ - if not run: return - if not quiet: - printAndLog( - 'test_01_destination_total_asset_price_on_accounting_lines') - - resource = self.portal.product_module.newContent( - portal_type='Product', - title='Resource', - product_line='apparel') - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='euro') - currency.setBaseUnitQuantity(0.01) - new_currency = \ - self.portal.currency_module.newContent(portal_type='Currency') - new_currency.setReference('XOF') - new_currency.setTitle('Francs CFA') - new_currency.setBaseUnitQuantity(1.00) - self.tic()#execute transaction - x_curr_ex_line = currency.newContent( - portal_type='Currency Exchange Line', - price_currency=new_currency.getRelativeUrl()) - x_curr_ex_line.setTitle('Euro to Francs CFA') - x_curr_ex_line.setBasePrice(655.957) - x_curr_ex_line.setStartDate(DateTime(2008,10,21)) - x_curr_ex_line.setStopDate(DateTime(2008,10,22)) - x_curr_ex_line.validate() - self.createInvoiceTransactionRule(currency) - self.tic()#execute transaction - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client', - price_currency=new_currency.getRelativeUrl(), - default_address_region=self.default_region) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor', - default_address_region=self.default_region) - order = self.portal.sale_order_module.newContent( - portal_type='Sale Order', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008,10, 21), - price_currency_value=currency, - title='Order') - order_line = order.newContent(portal_type='Sale Order Line', - resource_value=resource, - quantity=1, - price=2) - order.confirm() - self.tic() - related_packing_list = order.getCausalityRelatedValue( - portal_type='Sale Packing List') - self.assertNotEquals(related_packing_list, None) - related_packing_list.start() - related_packing_list.stop() - self.tic() - related_applied_rule = order.getCausalityRelatedValue( - portal_type='Applied Rule') - order_movement = related_applied_rule.contentValues()[0] - delivery_applied_rule = order_movement.contentValues()[0] - delivery_movement = delivery_applied_rule.contentValues()[0] - related_invoice = related_packing_list.getCausalityRelatedValue( - portal_type='Sale Invoice Transaction') - self.assertNotEquals(related_invoice, None) - related_invoice.start() - self.tic() - line_list= related_invoice.contentValues( - portal_type=self.portal.getPortalAccountingMovementTypeList()) - self.assertNotEquals(line_list, None) - for line in line_list: - self.assertEquals(line.getDestinationTotalAssetPrice(), - round(655.957*delivery_movement.getTotalPrice())) - - - - def test_01_diverged_sale_packing_list_destination_total_asset_price( - self,quiet=0,run=run_all_test): - """ - tests that when the sale packing list is divergent on the quantity and - that the resource on simulation movements is different - from the price currency of the source section, - source_asset_price is updated as we solve the divergence and - accept the decision - """ - if not run: return - if not quiet: - printAndLog( - 'test_01_diverged_sale_packing_list_destination_total_asset_price') - - resource = self.portal.product_module.newContent( - portal_type='Product', - title='Resource', - product_line='apparel') - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='euro') - currency.setBaseUnitQuantity(0.01) - new_currency = \ - self.portal.currency_module.newContent(portal_type='Currency') - new_currency.setReference('XOF') - new_currency.setTitle('Francs CFA') - new_currency.setBaseUnitQuantity(1.00) - self.tic()#execute transaction - x_curr_ex_line = currency.newContent( - portal_type='Currency Exchange Line', - price_currency=new_currency.getRelativeUrl()) - x_curr_ex_line.setTitle('Euro to Francs CFA') - x_curr_ex_line.setBasePrice(655.957) - x_curr_ex_line.setStartDate(DateTime(2008,10,21)) - x_curr_ex_line.setStopDate(DateTime(2008,10,22)) - x_curr_ex_line.validate() - self.createInvoiceTransactionRule(currency) - self.tic()#execute transaction - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client', - price_currency=new_currency.getRelativeUrl(), - default_address_region=self.default_region) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor', - default_address_region=self.default_region) - order = self.portal.sale_order_module.newContent( - portal_type='Sale Order', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008,10, 21), - price_currency_value=currency, - title='Order') - order_line = order.newContent(portal_type='Sale Order Line', - resource_value=resource, - quantity=5, - price=2) - order.confirm() - self.tic() - related_packing_list = order.getCausalityRelatedValue( - portal_type='Sale Packing List') - self.assertNotEquals(related_packing_list, None) - related_packing_list_line_list=related_packing_list.getMovementList() - related_packing_list_line= related_packing_list_line_list[0] - self.assertEquals(related_packing_list_line.getQuantity(),5.0) - old_destination_asset_price = \ - round(655.957*related_packing_list_line.getTotalPrice()) - - related_packing_list_line.edit(quantity=3.0) - self.tic() - self.assertEquals(related_packing_list.getCausalityState(), - 'diverged') - self._solveDivergence(related_packing_list, 'quantity', 'accept') - self.tic() - related_packing_list.start() - related_packing_list.stop() - self.tic() - - related_applied_rule = order.getCausalityRelatedValue( - portal_type='Applied Rule') - order_movement = related_applied_rule.contentValues()[0] - delivery_applied_rule = order_movement.contentValues()[0] - delivery_movement = delivery_applied_rule.contentValues()[0] - invoice_applied_rule = delivery_movement.contentValues()[0] - invoice_movement = invoice_applied_rule.contentValues()[0] - invoice_transaction_applied_rule = invoice_movement.contentValues()[0] - invoice_transaction_movement =\ - invoice_transaction_applied_rule.contentValues()[0] - self.assertEquals( - invoice_transaction_movement.getDestinationTotalAssetPrice(), - old_destination_asset_price *(3.0/5.0)) - - - def test_01_diverged_purchase_packing_list_source_total_asset_price( - self,quiet=0,run=run_all_test): - """ - tests that when the purchase packing list is divergent on the quantity - and that the resource on simulation movements is different - from the price currency of the destination section, - destination_asset_price is updated as we solve the divergence and - accept the decision - """ - if not run: return - if not quiet: - printAndLog( - 'test_01_diverged_purchase_packing_list_source_total_asset_price') - - resource = self.portal.product_module.newContent( - portal_type='Product', - title='Resource', - product_line='apparel') - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='euro') - currency.setBaseUnitQuantity(0.01) - new_currency = \ - self.portal.currency_module.newContent(portal_type='Currency') - new_currency.setReference('XOF') - new_currency.setTitle('Francs CFA') - new_currency.setBaseUnitQuantity(1.00) - self.tic()#execute transaction - x_curr_ex_line = currency.newContent( - portal_type='Currency Exchange Line', - price_currency=new_currency.getRelativeUrl()) - x_curr_ex_line.setTitle('Euro to Francs CFA') - x_curr_ex_line.setBasePrice(655.957) - x_curr_ex_line.setStartDate(DateTime(2008,10,21)) - x_curr_ex_line.setStopDate(DateTime(2008,10,22)) - x_curr_ex_line.validate() - self.createInvoiceTransactionRule(currency) - self.tic()#execute transaction - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client', - default_address_region=self.default_region) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor', - price_currency=new_currency.getRelativeUrl(), - default_address_region=self.default_region) - order = self.portal.purchase_order_module.newContent( - portal_type='Purchase Order', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008,10, 21), - price_currency_value=currency, - title='Order') - order_line = order.newContent(portal_type='Purchase Order Line', - resource_value=resource, - quantity=5, - price=2) - order.confirm() - self.tic() - related_packing_list = order.getCausalityRelatedValue( - portal_type='Purchase Packing List') - self.assertNotEquals(related_packing_list, None) - related_packing_list_line_list=related_packing_list.getMovementList() - related_packing_list_line= related_packing_list_line_list[0] - self.assertEquals(related_packing_list_line.getQuantity(),5.0) - old_source_asset_price = \ - round(655.957*related_packing_list_line.getTotalPrice()) - - related_packing_list_line.edit(quantity=3.0) - self.tic() - self.assertEquals(related_packing_list.getCausalityState(), - 'diverged') - - self._solveDivergence(related_packing_list, 'quantity','accept') - self.tic() - related_packing_list.start() - related_packing_list.stop() - self.tic() - - related_applied_rule = order.getCausalityRelatedValue( - portal_type='Applied Rule') - order_movement = related_applied_rule.contentValues()[0] - delivery_applied_rule = order_movement.contentValues()[0] - delivery_movement = delivery_applied_rule.contentValues()[0] - invoice_applied_rule = delivery_movement.contentValues()[0] - invoice_movement = invoice_applied_rule.contentValues()[0] - invoice_transaction_applied_rule = invoice_movement.contentValues()[0] - invoice_transaction_movement =\ - invoice_transaction_applied_rule.contentValues()[0] - self.assertEquals(invoice_transaction_movement.\ - getSourceTotalAssetPrice(), - old_source_asset_price *(3.0/5.0)) - - def test_01_delivery_mode_on_sale_packing_list_and_invoice( - self,quiet=0,run=run_all_test): - """ - tests that when the sale packing list is divergent on the quantity and - that the resource on simulation movements is different - from the price currency of the source section, - source_asset_price is updated as we solve the divergence and - accept the decision - """ - if not run: return - if not quiet: - printAndLog( - 'test_01_delivery_mode_on_sale_packing_list_and_invoice') - - resource = self.portal.product_module.newContent( - portal_type='Product', - title='Resource', - product_line='apparel') - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='euro') - currency.setBaseUnitQuantity(0.01) - new_currency = \ - self.portal.currency_module.newContent(portal_type='Currency') - new_currency.setReference('XOF') - new_currency.setTitle('Francs CFA') - new_currency.setBaseUnitQuantity(1.00) - self.tic()#execute transaction - x_curr_ex_line = currency.newContent( - portal_type='Currency Exchange Line', - price_currency=new_currency.getRelativeUrl()) - x_curr_ex_line.setTitle('Euro to Francs CFA') - x_curr_ex_line.setBasePrice(655.957) - x_curr_ex_line.setStartDate(DateTime(2008,10,21)) - x_curr_ex_line.setStopDate(DateTime(2008,10,22)) - x_curr_ex_line.validate() - self.createInvoiceTransactionRule(currency) - self.tic()#execute transaction - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client', - price_currency=new_currency.getRelativeUrl(), - default_address_region=self.default_region) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor', - default_address_region=self.default_region) - order = self.portal.sale_order_module.newContent( - portal_type='Sale Order', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008,10, 21), - price_currency_value=currency, - delivery_mode=self.mail_delivery_mode, - incoterm=self.cpt_incoterm, - title='Order') - order_line = order.newContent(portal_type='Sale Order Line', - resource_value=resource, - quantity=5, - price=2) - order.confirm() - self.tic() - related_packing_list = order.getCausalityRelatedValue( - portal_type='Sale Packing List') - self.assertNotEquals(related_packing_list, None) - self.assertEquals(related_packing_list.getDeliveryMode(), - order.getDeliveryMode()) - self.assertEquals(related_packing_list.getIncoterm(), - order.getIncoterm()) - related_packing_list.start() - related_packing_list.stop() - self.tic() - related_invoice = related_packing_list.getCausalityRelatedValue( - portal_type='Sale Invoice Transaction') - self.assertNotEquals(related_invoice, None) - self.assertEquals(related_invoice.getDeliveryMode(), - order.getDeliveryMode()) - self.assertEquals(related_invoice.getIncoterm(), - order.getIncoterm()) - - def test_01_quantity_unit_on_sale_packing_list( - self,quiet=0,run=run_all_test): - """ - tests that when a resource uses different quantity unit that the - """ - if not run: return - if not quiet: - printAndLog( - 'test_01_quantity_unit_on_sale_packing_list') - - resource = self.portal.product_module.newContent( - portal_type='Product', - title='Resource', - product_line='apparel') - resource.setQuantityUnitList([self.unit_piece_quantity_unit, - self.mass_quantity_unit]) - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='euro') - currency.setBaseUnitQuantity(0.01) - self.tic()#execute transaction - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client', - default_address_region=self.default_region) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor', - default_address_region=self.default_region) - order = self.portal.sale_order_module.newContent( - portal_type='Sale Order', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008,10, 21), - price_currency_value=currency, - delivery_mode=self.mail_delivery_mode, - incoterm=self.cpt_incoterm, - title='Order') - first_order_line = order.newContent( - portal_type='Sale Order Line', - resource_value=resource, - quantity_unit = self.unit_piece_quantity_unit, - quantity=5, - price=3) - second_order_line = order.newContent( - portal_type='Sale Order Line', - resource_value=resource, - quantity_unit=self.mass_quantity_unit, - quantity=1.5, - price=2) - order.confirm() - self.tic() - related_packing_list = order.getCausalityRelatedValue( - portal_type='Sale Packing List') - self.assertNotEquals(related_packing_list, None) - movement_list = related_packing_list.getMovementList() - movement_list.sort(key=lambda x:x.getCausalityId()) - self.assertEquals(len(movement_list),2) - self.assertEquals(movement_list[0].getQuantityUnit(), - first_order_line.getQuantityUnit()) - self.assertEquals(movement_list[1].getQuantityUnit(), - second_order_line.getQuantityUnit()) - -def test_suite(): - suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(TestConversionInSimulation)) - return suite diff --git a/product/ERP5Legacy/tests/testLegacyDeliveryBuilderToSupportMultipleLines.py b/product/ERP5Legacy/tests/testLegacyDeliveryBuilderToSupportMultipleLines.py deleted file mode 100644 index d57cc38fbd..0000000000 --- a/product/ERP5Legacy/tests/testLegacyDeliveryBuilderToSupportMultipleLines.py +++ /dev/null @@ -1,28 +0,0 @@ -############################################################################## -# 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 advised 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 Products.ERP5Legacy.tests import testLegacySimulationInvoice -from Products.ERP5.tests.testDeliveryBuilderToSupportMultipleLines import * diff --git a/product/ERP5Legacy/tests/testLegacyDivergenceTester.py b/product/ERP5Legacy/tests/testLegacyDivergenceTester.py deleted file mode 100644 index 721020a8c9..0000000000 --- a/product/ERP5Legacy/tests/testLegacyDivergenceTester.py +++ /dev/null @@ -1,370 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved. -# Julien Muchembled <jm@nexedi.com> -# -# 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. -# -############################################################################## - -import unittest - -from Products.ERP5Legacy.tests import testLegacySimulationPackingList -from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase -from Products.ERP5Type.tests.Sequence import Sequence - -class TestDivergenceTester(testLegacySimulationPackingList.TestPackingListMixin, - ERP5TypeTestCase): - """ - Check isDivergent method on movement, delivery - """ - run_all_test = 1 - quiet = 0 - - def getTitle(self): - return "Divergence Tester" - - def getDeliveringRule(self): - return self.getRule(reference='default_delivering_rule', - validation_state="validated") - - def afterSetUp(self): - """ - Remove all divergence testers from order_rule. - """ - rule = self.getDeliveringRule() - tester_list = rule.contentValues( - portal_type=rule.getPortalDivergenceTesterTypeList()) - rule.deleteContent([x.getId() for x in tester_list]) - self.tic() - - def bootstrapSite(self): - """ - Manager has to create an administrator user first. - """ - self.logMessage("Bootstrap the site by creating required " \ - "order, simulation, ...") - # These next calls were originally in TestOrderMixin.afterSetUp(), but we need - # them here for the bootstrap Sequence to work correctly - self.createCategories() - self.validateRules() - self.setUpPreferences() - # Create a clean packing list - sequence_string = ' \ - stepCreateOrganisation1 \ - stepCreateOrganisation2 \ - stepCreateOrganisation3 \ - stepCreateOrder \ - stepSetOrderProfile \ - stepCreateNotVariatedResource \ - stepTic \ - stepCreateOrderLine \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepOrderOrder \ - stepTic \ - stepConfirmOrder \ - stepTic \ - ' - sequence = Sequence(self) - sequence(sequence_string, quiet=self.quiet) - self.logMessage("Bootstrap finished") - - def setUpOnce(self, quiet=1, run=run_all_test): - """ - Create an order and generate a packing list from it. - This has to be called only once. - """ - self.validateRules() - self.commit() - self.tic(verbose=1) - self.bootstrapSite() - - def stepGetPackingList(self, sequence=None, sequence_list=None, **kw): - """ - Set the packing list in the sequence - """ - sql_result = self.getPortal().portal_catalog( - portal_type=self.packing_list_portal_type) - self.assertEquals(1, len(sql_result)) - packing_list = sql_result[0].getObject() - # XXX Hardcoded id - movement=packing_list['1'] - rule = self.getDeliveringRule() - sequence.edit( - packing_list=packing_list, - movement=movement, - rule=rule, - sim_mvt=movement.getDeliveryRelatedValueList()[0]) - - def stepCheckPackingListIsDivergent(self, sequence=None, - sequence_list=None, **kw): - """ - Test if packing list is divergent - """ - packing_list = sequence.get('packing_list') - self.assertTrue(packing_list.isDivergent()) - - def stepSetNewQuantity(self, sequence=None, - sequence_list=None, **kw): - """ - Modify the quantity of the delivery movement - """ - packing_list = sequence.get('packing_list') - movement = sequence.get('movement') - movement.setQuantity(movement.getQuantity()+1234) - - def stepSetPreviousQuantity(self, sequence=None, - sequence_list=None, **kw): - """ - Reset the quantity of the delivery movement - """ - sim_mvt = sequence.get('sim_mvt') - movement = sequence.get('movement') - movement.setQuantity(sim_mvt.getQuantity()) - - def stepSetPreviousQuantityWithEpsilon(self, sequence=None, - sequence_list=None, **kw): - sim_mvt = sequence.get('sim_mvt') - movement = sequence.get('movement') - prevision = sim_mvt.getQuantity() - decision = prevision * (1 + 1e-15) - self.assertNotEqual(prevision, decision) - movement.setQuantity(decision) - - def stepAddQuantityDivergenceTester(self, sequence=None, - sequence_list=None, **kw): - """ - Add a quantity divergence tester in the rule - """ - rule = sequence.get('rule') - rule.newContent(portal_type='Quantity Divergence Tester') - - def test_01_QuantityDivergenceTester(self, quiet=quiet, run=run_all_test): - """ - Test the quantity divergence tester - """ - if not run: return - sequence_string = """ - GetPackingList - CheckPackingListIsNotDivergent - SetNewQuantity - CheckPackingListIsNotDivergent - AddQuantityDivergenceTester - CheckPackingListIsDivergent - SetPreviousQuantity - CheckPackingListIsNotDivergent - SetPreviousQuantityWithEpsilon - CheckPackingListIsNotDivergent - Tic - """ - sequence = Sequence(self) - sequence(sequence_string, quiet=self.quiet) - - def stepSetNewSource(self, sequence=None, - sequence_list=None, **kw): - """ - Modify the source of the delivery - """ - packing_list = sequence.get('packing_list') - packing_list.setSource(None) - - def stepAddCategoryDivergenceTester(self, sequence=None, - sequence_list=None, **kw): - """ - Add a category divergence tester in the rule - """ - rule = sequence.get('rule') - tester = rule.newContent(portal_type='Category Divergence Tester') - sequence.edit(tester=tester) - - def stepConfigureCategoryDivergenceTesterForSource(self, sequence=None, - sequence_list=None, **kw): - """ - Add a category divergence tester in the rule - """ - tester = sequence.get('tester') - tester.setTestedPropertyList(['source | Source']) - - def stepSetPreviousSource(self, sequence=None, - sequence_list=None, **kw): - """ - Reset the quantity of the delivery - """ - sim_mvt = sequence.get('sim_mvt') - packing_list = sequence.get('packing_list') - packing_list.setSource(sim_mvt.getSource()) - - def test_02_CategoryDivergenceTester(self, quiet=quiet, run=run_all_test): - """ - Test the category divergence tester - """ - if not run: return - sequence_string = """ - GetPackingList - CheckPackingListIsNotDivergent - SetNewSource - CheckPackingListIsNotDivergent - AddCategoryDivergenceTester - CheckPackingListIsNotDivergent - ConfigureCategoryDivergenceTesterForSource - CheckPackingListIsDivergent - SetPreviousSource - CheckPackingListIsNotDivergent - Tic - """ - sequence = Sequence(self) - sequence(sequence_string, quiet=self.quiet) - - def stepSetNewStartDate(self, sequence=None, - sequence_list=None, **kw): - """ - Modify the source of the delivery - """ - packing_list = sequence.get('packing_list') - packing_list.setStartDate(packing_list.getStartDate()+10) - - def stepAddPropertyDivergenceTester(self, sequence=None, - sequence_list=None, **kw): - """ - Add a property divergence tester in the rule - """ - rule = sequence.get('rule') - tester = rule.newContent(portal_type='Property Divergence Tester') - sequence.edit(tester=tester) - - def stepConfigurePropertyDivergenceTesterForStartDate(self, sequence=None, - sequence_list=None, **kw): - """ - Add a property divergence tester in the rule - """ - tester = sequence.get('tester') - tester.setTestedPropertyList(['start_date | Start Date']) - - def stepSetPreviousStartDate(self, sequence=None, - sequence_list=None, **kw): - """ - Reset the quantity of the delivery - """ - sim_mvt = sequence.get('sim_mvt') - packing_list = sequence.get('packing_list') - packing_list.setStartDate(sim_mvt.getStartDate()) - - def test_03_PropertyDivergenceTester(self, quiet=quiet, run=run_all_test): - """ - Test the property divergence tester - """ - if not run: return - sequence_string = """ - GetPackingList - CheckPackingListIsNotDivergent - SetNewStartDate - CheckPackingListIsNotDivergent - AddPropertyDivergenceTester - CheckPackingListIsNotDivergent - ConfigurePropertyDivergenceTesterForStartDate - CheckPackingListIsDivergent - SetPreviousStartDate - CheckPackingListIsNotDivergent - Tic - """ - sequence = Sequence(self) - sequence(sequence_string, quiet=self.quiet) - - def stepSetNewAggregate(self, sequence=None, - sequence_list=None, **kw): - """ - Modify the aggregate of the delivery movement - """ - movement = sequence.get('movement') - # Set an aggregate value which does not exist - # but it should not be a problem for testing the divergence - movement.setAggregate('a_great_module/a_random_id') - - def stepConfigureCategoryDivergenceTesterForAggregate(self, sequence=None, - sequence_list=None, **kw): - """ - Add a category divergence tester in the rule - """ - tester = sequence.get('tester') - tester.setTestedPropertyList(['aggregate | Aggregate']) - - def stepSetPreviousAggregate(self, sequence=None, - sequence_list=None, **kw): - """ - Reset the quantity of the delivery - """ - movement = sequence.get('movement') - movement.setAggregate(None) - - def test_04_CategoryDivergenceTester(self, quiet=quiet, run=run_all_test): - """ - Test the category divergence tester - """ - if not run: return - sequence_string = """ - GetPackingList - CheckPackingListIsNotDivergent - SetNewAggregate - CheckPackingListIsNotDivergent - AddCategoryDivergenceTester - CheckPackingListIsNotDivergent - ConfigureCategoryDivergenceTesterForAggregate - CheckPackingListIsDivergent - SetPreviousAggregate - CheckPackingListIsNotDivergent - Tic - """ - sequence = Sequence(self) - sequence(sequence_string, quiet=self.quiet) - - def test_QuantityDivergenceTesterCompareMethod(self): - rule = self.portal.portal_rules.newContent(portal_type='Delivery Rule') - divergence_tester = rule.newContent(portal_type='Quantity Divergence Tester') - - self.assertFalse(divergence_tester.isDecimalAlignmentEnabled()) - self.assertFalse(divergence_tester.compare(3.0, 3.001)) - self.assertTrue(divergence_tester.compare(3.0, 3.0)) - - divergence_tester.setDecimalAlignmentEnabled(True) - divergence_tester.setDecimalRoundingOption('ROUND_DOWN') - divergence_tester.setDecimalExponent('0.01') - - self.assertTrue(divergence_tester.compare(3.0, 3.001)) - self.assertTrue(divergence_tester.compare(3.0, 3.0)) - - divergence_tester.setDecimalExponent('0.001') - self.assertFalse(divergence_tester.compare(3.0, 3.001)) - - divergence_tester.setDecimalRoundingOption('ROUND_UP') - divergence_tester.setDecimalExponent('0.01') - self.assertFalse(divergence_tester.compare(3.0, 3.001)) - - divergence_tester.setDecimalRoundingOption('ROUND_HALF_UP') - divergence_tester.setDecimalExponent('0.01') - self.assertTrue(divergence_tester.compare(3.0, 3.001)) - - -def test_suite(): - suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(TestDivergenceTester)) - return suite diff --git a/product/ERP5Legacy/tests/testLegacyERP5Commerce.py b/product/ERP5Legacy/tests/testLegacyERP5Commerce.py deleted file mode 100644 index a5a73fe79a..0000000000 --- a/product/ERP5Legacy/tests/testLegacyERP5Commerce.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved. -# Julien Muchembled <jm@nexedi.com> -# -# 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 advised 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 Products.ERP5Legacy.tests import Legacy_getBusinessTemplateList -from Products.ERP5.tests.testERP5Commerce import * - -TestCommerce.business_process = None -Legacy_getBusinessTemplateList(TestCommerce) diff --git a/product/ERP5Legacy/tests/testLegacyICal.py b/product/ERP5Legacy/tests/testLegacyICal.py deleted file mode 100644 index 2263bd52ce..0000000000 --- a/product/ERP5Legacy/tests/testLegacyICal.py +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# 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 advised 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 Products.ERP5Legacy.tests import Legacy_getBusinessTemplateList -from Products.ERP5.tests.testICal import * - -Legacy_getBusinessTemplateList(TestICal) diff --git a/product/ERP5Legacy/tests/testLegacyImmobilisation.py b/product/ERP5Legacy/tests/testLegacyImmobilisation.py deleted file mode 100644 index ae2c5ed1cc..0000000000 --- a/product/ERP5Legacy/tests/testLegacyImmobilisation.py +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# 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 advised 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 Products.ERP5Legacy.tests import Legacy_getBusinessTemplateList -from Products.ERP5.tests.testImmobilisation import * - -Legacy_getBusinessTemplateList(TestImmobilisationMixin) diff --git a/product/ERP5Legacy/tests/testLegacyInvoice.py b/product/ERP5Legacy/tests/testLegacyInvoice.py deleted file mode 100644 index 802d095658..0000000000 --- a/product/ERP5Legacy/tests/testLegacyInvoice.py +++ /dev/null @@ -1,3427 +0,0 @@ -############################################################################## -# -# Copyright (c) 2004-2008 Nexedi SA and Contributors. All Rights Reserved. -# Sebastien Robin <seb@nexedi.com> -# Jerome Perrin <jerome@nexedi.com> -# -# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## -""" - Tests invoice creation from simulation. - -""" - -from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase -from Products.ERP5Type.tests.utils import FileUpload, DummyMailHost -from Products.ERP5Type.UnrestrictedMethod import UnrestrictedMethod -from Products.ERP5OOo.OOoUtils import OOoParser -from AccessControl.SecurityManagement import newSecurityManager -from DateTime import DateTime -from Acquisition import aq_parent -from zLOG import LOG -from Products.ERP5Type.tests.Sequence import SequenceList -from testLegacyPackingList import TestPackingListMixin -from testAccountingRules import TestAccountingRulesMixin - -class TestInvoiceMixin(TestPackingListMixin, - TestAccountingRulesMixin,): - """Test methods for invoices - """ - default_region = "europe/west/france" - vat_gap = 'fr/pcg/4/44/445/4457/44571' - vat_rate = 0.196 - sale_gap = 'fr/pcg/7/70/707/7071/70712' - customer_gap = 'fr/pcg/4/41/411' - bank_gap = 'fr/pcg/5/51/512' - mail_delivery_mode = 'by_mail' - cpt_incoterm = 'cpt' - unit_piece_quantity_unit = 'unit/piece' - mass_quantity_unit = 'mass/kg' - oldMailhost = None - - # (account_id, account_gap, account_type) - account_definition_list = ( - ('receivable_vat', vat_gap, 'liability/payable/collected_vat',), - ('sale', sale_gap, 'income'), - ('customer', customer_gap, 'asset/receivable'), - ('refundable_vat', vat_gap, 'asset/receivable/refundable_vat'), - ('purchase', sale_gap, 'expense'), - ('supplier', customer_gap, 'liability/payable'), - ('bank', bank_gap, 'asset/cash/bank'), - ) - # (line_id, source_account_id, destination_account_id, line_quantity) - transaction_line_definition_list = ( - ('income', 'sale', 'purchase', 1.0), - ('receivable', 'customer', 'supplier', -1.0 - vat_rate), - ('collected_vat', 'receivable_vat', 'refundable_vat', vat_rate), - ) - - - def getTitle(self): - return "Invoices" - - def getBusinessTemplateList(self): - return super(TestInvoiceMixin, self).getBusinessTemplateList() + ( - 'erp5_accounting', 'erp5_invoicing', 'erp5_simplified_invoicing', - 'erp5_accounting_simulation_legacy', 'erp5_invoicing_simulation_legacy') - - @UnrestrictedMethod - def createCategories(self): - """Create the categories for our test. """ - for cat_string in self.getNeededCategoryList() : - base_cat = cat_string.split("/")[0] - path = self.getPortal().portal_categories[base_cat] - for cat in cat_string.split("/")[1:] : - if not cat in path.objectIds() : - path = path.newContent( - portal_type='Category', - id=cat,) - else: - path = path[cat] - # check categories have been created - for cat_string in self.getNeededCategoryList() : - self.assertNotEquals(None, - self.getCategoryTool().restrictedTraverse(cat_string), - cat_string) - - def getNeededCategoryList(self): - """return a list of categories that should be created.""" - return ('region/%s' % self.default_region, - 'gap/%s' % self.vat_gap, - 'gap/%s' % self.sale_gap, - 'gap/%s' % self.customer_gap, - 'gap/%s' % self.bank_gap, - 'delivery_mode/%s' % self.mail_delivery_mode, - 'incoterm/%s' % self.cpt_incoterm, - 'quantity_unit/%s' % self.unit_piece_quantity_unit, - 'quantity_unit/%s' % self.mass_quantity_unit, - ) - - - def afterSetUp(self): - self.createCategories() - self.validateRules() - self.login() - self.oldMailHost = getattr(self.portal, 'MailHost', None) - if self.oldMailHost is not None: - self.portal.manage_delObjects(['MailHost']) - self.portal._setObject('MailHost', DummyMailHost('MailHost')) - - def beforeTearDown(self): - self.abort() - self.tic() - # restore the original MailHost - if self.oldMailHost is not None: - self.portal.manage_delObjects(['MailHost']) - self.portal._setObject('MailHost', DummyMailHost('MailHost')) - for folder in (self.portal.accounting_module, - self.portal.organisation_module, - self.portal.sale_order_module, - self.portal.purchase_order_module, - self.portal.sale_packing_list_module, - self.portal.purchase_packing_list_module, - self.portal.portal_simulation,): - - folder.manage_delObjects([x for x in folder.objectIds() if x not in ('organisation_1','organisation_2','ppl_1','ppl_2')]) - - self.tic() - - def login(self): - """login, without manager role""" - uf = self.getPortal().acl_users - uf._doAddUser('test_invoice_user', '', ['Assignee', 'Assignor', 'Member', - 'Associate', 'Auditor', 'Author'], []) - user = uf.getUserById('test_invoice_user').__of__(uf) - newSecurityManager(None, user) - - def stepCreateSaleInvoiceTransactionRule(self, sequence, **kw) : - """Create the rule for accounting. """ - self.createInvoiceTransactionRule(resource=sequence.get('resource')) - - @UnrestrictedMethod - def createInvoiceTransactionRule(self, resource=None): - """Create a sale invoice transaction rule with only one cell for - product_line/apparel and default_region - The accounting rule cell will have the provided resource, but this his more - or less optional (as long as price currency is set correctly on order) - """ - portal = self.portal - account_module = portal.account_module - for account_id, account_gap, account_type \ - in self.account_definition_list: - if not account_id in account_module.objectIds(): - account = account_module.newContent(id=account_id) - account.setGap(account_gap) - account.setAccountType(account_type) - portal.portal_workflow.doActionFor(account, 'validate_action') - - invoice_rule = portal.portal_rules.default_invoice_transaction_rule - if invoice_rule.getValidationState() == 'validated': - invoice_rule.invalidate() - invoice_rule.deleteContent(list(invoice_rule.objectIds())) - self.tic() - region_predicate = invoice_rule.newContent(portal_type = 'Predicate') - product_line_predicate = invoice_rule.newContent(portal_type = 'Predicate') - region_predicate.edit( - membership_criterion_base_category_list = ['destination_region'], - membership_criterion_category_list = - ['destination_region/region/%s' % self.default_region ], - int_index = 1, - string_index = 'region' - ) - product_line_predicate.edit( - membership_criterion_base_category_list = ['product_line'], - membership_criterion_category_list = - ['product_line/apparel'], - int_index = 1, - string_index = 'product' - ) - product_line_predicate.immediateReindexObject() - region_predicate.immediateReindexObject() - - invoice_rule.updateMatrix() - cell_list = invoice_rule.getCellValueList(base_id='movement') - self.assertEquals(len(cell_list),1) - cell = cell_list[0] - - for line_id, line_source_id, line_destination_id, line_ratio in \ - self.transaction_line_definition_list: - line = cell.newContent(id=line_id, - portal_type='Accounting Transaction Line', quantity=line_ratio, - resource_value=resource, - source_value=account_module[line_source_id], - destination_value=account_module[line_destination_id]) - - invoice_rule.validate() - self.tic() - - def stepCreateEntities(self, sequence, **kw) : - """Create a vendor and two clients. """ - self.stepCreateOrganisation1(sequence, **kw) - self.stepCreateOrganisation2(sequence, **kw) - self.stepCreateOrganisation3(sequence, **kw) - self.stepCreateProject1(sequence, **kw) - self.stepCreateProject2(sequence, **kw) - vendor = sequence.get('organisation1') - vendor.setRegion(self.default_region) - vendor.validate() - sequence.edit(vendor=vendor) - client1 = sequence.get('organisation2') - client1.setRegion(self.default_region) - self.assertNotEquals(client1.getRegionValue(), None) - client1.validate() - sequence.edit(client1=client1) - client2 = sequence.get('organisation3') - self.assertEquals(client2.getRegionValue(), None) - client2.validate() - sequence.edit(client2=client2) - - def stepCheckOrderRule(self, sequence=None, sequence_list=None, **kw): - """Check we have a related Order Rule""" - order = sequence.get('order') - simulation_tool = self.getSimulationTool() - # Check that there is an applied rule for our packing list - rule_list = [x for x in simulation_tool.objectValues() - if x.getCausalityValue()==order] - self.assertNotEquals(len(rule_list), 0) - sequence.edit(order_rule_list = rule_list) - - self.assertEquals(len(order.getMovementList()), - sum([len(rule.objectIds()) for rule in rule_list])) - - def stepCheckInvoicingRule(self, sequence=None, sequence_list=None, **kw): - """ - Checks that the invoicing rule is applied and its values are correct. - """ - order_rule_list = sequence.get('order_rule_list') - invoicing_rule_list = [] - invoice_transaction_rule_list = [] - for order_rule in order_rule_list : - for order_simulation_movement in order_rule.objectValues() : - temp_invoicing_rule_list = [ar for ar in order_simulation_movement.objectValues() - if ar.getSpecialiseValue().getPortalType() == 'Invoicing Rule'] - self.assertEquals(len(temp_invoicing_rule_list), 1) - invoicing_rule_list.extend(temp_invoicing_rule_list) - sequence.edit(invoicing_rule_list=invoicing_rule_list) - invoicing_rule = invoicing_rule_list[0] - sequence.edit(invoicing_rule = invoicing_rule) - for invoicing_rule in invoicing_rule_list: - self.assertEquals(invoicing_rule.getSpecialiseReference(), - 'default_invoicing_rule') - self.assertEquals(invoicing_rule.getPortalType(), - 'Applied Rule') - simulation_movement_list = invoicing_rule.objectValues() - self.assertNotEquals(len(simulation_movement_list), 0) - for simulation_movement in simulation_movement_list : - invoice_transaction_rule_list.extend([applied_rule for applied_rule - in simulation_movement.objectValues() if applied_rule \ - .getSpecialiseValue().getPortalType() - == 'Invoice Transaction Rule']) - resource_list = sequence.get('resource_list') - self.assertEquals(simulation_movement.getPortalType(), - 'Simulation Movement') - self.assertTrue(simulation_movement.getResourceValue() in - resource_list) - self.assertTrue(simulation_movement.isConvergent()) - # TODO: What is the invoice dates supposed to be ? - # is this done through profiles ? - #self.assertEquals(simulation_movement.getStartDate(), - # sequence.get('order').getStartDate()) - #self.assertEquals(simulation_movement.getStopDate(), - # sequence.get('order').getStopDate()) - sequence.edit(invoice_transaction_rule_list=invoice_transaction_rule_list) - - def stepCheckInvoiceTransactionRule(self, sequence=None, sequence_list=None, - **kw): - """ - Checks that the applied invoice_transaction_rule is expanded and its movements are - consistent with its parent movement - """ - invoice_transaction_rule_list = \ - sequence.get('invoice_transaction_rule_list') - for applied_invoice_transaction_rule in invoice_transaction_rule_list: - parent_movement = aq_parent(applied_invoice_transaction_rule) - invoice_transaction_rule = \ - applied_invoice_transaction_rule.getSpecialiseValue() - self.assertEquals(3, len(applied_invoice_transaction_rule.objectValues())) - for line_id, line_source_id, line_destination_id, line_ratio in \ - self.transaction_line_definition_list: - movement = None - for simulation_movement in \ - applied_invoice_transaction_rule.objectValues(): - if simulation_movement.getSourceId() == line_source_id and\ - simulation_movement.getDestinationId() == line_destination_id: - movement = simulation_movement - break - - self.assertTrue(movement is not None) - self.assertEquals(movement.getCorrectedQuantity(), parent_movement.getPrice() * - parent_movement.getCorrectedQuantity() * line_ratio) - self.assertEquals(movement.getStartDate(), - parent_movement.getStartDate()) - self.assertEquals(movement.getStopDate(), - parent_movement.getStopDate()) - - - -class TestInvoice(TestInvoiceMixin): - """Test methods for sale and purchase invoice. - Subclasses must defines portal types to use. - """ - quiet = 1 - def test_invoice_transaction_line_resource(self): - """ - tests that simulation movements corresponding to accounting line have a - good resource in the simulation - """ - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource', - product_line='apparel') - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='Currency', - base_unit_quantity=0.01) - self.createInvoiceTransactionRule(currency) - - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client', - price_currency= currency.getRelativeUrl(), - default_address_region=self.default_region) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor', - price_currency= currency.getRelativeUrl(), - default_address_region=self.default_region) - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008, 1, 1), - price_currency_value=currency, - title='Order') - order_line = order.newContent(portal_type=self.order_line_portal_type, - resource_value=resource, - quantity=1, - price=2) - - order.confirm() - self.tic() - - related_applied_rule = order.getCausalityRelatedValue( - portal_type='Applied Rule') - delivery_movement = related_applied_rule.contentValues()[0] - invoice_applied_rule = delivery_movement.contentValues()[0] - invoice_movement = invoice_applied_rule.contentValues()[0] - invoice_transaction_applied_rule = invoice_movement.contentValues()[0] - invoice_transaction_movement =\ - invoice_transaction_applied_rule.contentValues()[0] - self.assertEquals(currency, - invoice_transaction_movement.getResourceValue()) - self.assertEquals(currency, - delivery_movement.getPriceCurrencyValue()) - - - def test_modify_planned_order_invoicing_rule(self): - """ - tests that modifying a planned order affects movements from invoicing - rule - """ - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource', - product_line='apparel') - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='Currency', - base_unit_quantity=0.01) - - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client', - price_currency= currency.getRelativeUrl()) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor', - price_currency= currency.getRelativeUrl()) - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008, 1, 1), - price_currency_value=currency, - title='Order') - order_line = order.newContent(portal_type=self.order_line_portal_type, - resource_value=resource, - quantity=1, - price=2) - - other_entity = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Other Entity', - price_currency=currency.getRelativeUrl()) - other_project = self.portal.project_module.newContent( - portal_type='Project', - title='Other Project') - order.plan() - self.tic() - self.assertEquals('planned', order.getSimulationState()) - - related_applied_rule = order.getCausalityRelatedValue( - portal_type='Applied Rule') - delivery_movement = related_applied_rule.contentValues()[0] - invoice_applied_rule = delivery_movement.contentValues()[0] - invoice_movement = invoice_applied_rule.contentValues()[0] - - order_line.setSourceValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getSourceValue()) - - order_line.setDestinationValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getDestinationValue()) - - order_line.setSourceSectionValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getSourceSectionValue()) - - # make sure destination_section != source_section, this might be needed by - # some rules - order_line.setSourceSectionValue(order_line.getDestinationSectionValue()) - - order_line.setDestinationSectionValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getDestinationSectionValue()) - - order_line.setSourceAdministrationValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getSourceAdministrationValue()) - - order_line.setDestinationAdministrationValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getDestinationAdministrationValue()) - - order_line.setSourceDecisionValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getSourceDecisionValue()) - - order_line.setDestinationDecisionValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getDestinationDecisionValue()) - - order_line.setSourceProjectValue(other_project) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_project, - invoice_movement.getSourceProjectValue()) - - order_line.setDestinationProjectValue(other_project) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_project, - invoice_movement.getDestinationProjectValue()) - - order_line.setSourcePaymentValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getSourcePaymentValue()) - - order_line.setDestinationPaymentValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getDestinationPaymentValue()) - - order_line.setSourceFunctionValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getSourceFunctionValue()) - - order_line.setDestinationFunctionValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getDestinationFunctionValue()) - - self.assertNotEquals(123, order_line.getPrice()) - order_line.setPrice(123) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(123, - invoice_movement.getPrice()) - - self.assertNotEquals(456, order_line.getQuantity()) - order_line.setQuantity(456) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(456, - invoice_movement.getQuantity()) - - other_resource = self.portal.product_module.newContent( - portal_type='Product', - title='Other Resource') - order_line.setResourceValue(other_resource) - self.tic() - # after changing 'resource', related simulation movement will be - # replaced with another id, and we need to find the appropriate one - # here. - delivery_movement = related_applied_rule.contentValues()[0] - invoice_applied_rule = delivery_movement.contentValues()[0] - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_resource, - invoice_movement.getResourceValue()) - - order_line.setStartDate(DateTime(2001, 02, 03)) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(DateTime(2001, 02, 03), - invoice_movement.getStartDate()) - - order_line.setStopDate(DateTime(2002, 03, 04)) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(DateTime(2002, 03, 04), - invoice_movement.getStopDate()) - - def test_modify_planned_order_invoice_transaction_rule(self): - """ - tests that modifying a planned order affects movements from invoice - transaction rule - """ - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource', - product_line='apparel') - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='Currency', - base_unit_quantity=0.01) - self.createInvoiceTransactionRule(currency) - - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client', - default_address_region=self.default_region) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor', - default_address_region=self.default_region) - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008, 1, 1), - price_currency_value=currency, - title='Order') - order_line = order.newContent(portal_type=self.order_line_portal_type, - resource_value=resource, - quantity=1, - price=2) - other_entity = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Other Entity', - default_address_region=self.default_region) - other_project = self.portal.project_module.newContent( - portal_type='Project', - title='Other Project') - order.plan() - self.tic() - self.assertEquals('planned', order.getSimulationState()) - - related_applied_rule = order.getCausalityRelatedValue( - portal_type='Applied Rule') - delivery_movement = related_applied_rule.contentValues()[0] - invoice_applied_rule = delivery_movement.contentValues()[0] - invoice_movement = invoice_applied_rule.contentValues()[0] - invoice_transaction_applied_rule = invoice_movement.contentValues()[0] - - # utility function to return the simulation movement that should be used - # for "income" line - def getIncomeSimulationMovement(applied_rule): - for movement in applied_rule.contentValues(): - if movement.getDestination() == 'account_module/purchase'\ - and movement.getSource() == 'account_module/sale': - return movement - self.fail('Income movement not found') - - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - - order_line.setSourceSectionValue(other_entity) - self.tic() - self.assertEquals(other_entity, - invoice_transaction_movement.getSourceSectionValue()) - - # make sure destination_section != source_section, this might be needed by - # some rules - order_line.setSourceSectionValue(order_line.getDestinationSectionValue()) - - order_line.setDestinationSectionValue(other_entity) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_entity, - invoice_transaction_movement.getDestinationSectionValue()) - - order_line.setSourceAdministrationValue(other_entity) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_entity, - invoice_transaction_movement.getSourceAdministrationValue()) - - order_line.setDestinationAdministrationValue(other_entity) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_entity, - invoice_transaction_movement.getDestinationAdministrationValue()) - - order_line.setSourceDecisionValue(other_entity) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_entity, - invoice_transaction_movement.getSourceDecisionValue()) - - order_line.setDestinationDecisionValue(other_entity) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_entity, - invoice_transaction_movement.getDestinationDecisionValue()) - - order_line.setSourceProjectValue(other_project) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_project, - invoice_transaction_movement.getSourceProjectValue()) - - order_line.setDestinationProjectValue(other_project) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_project, - invoice_transaction_movement.getDestinationProjectValue()) - - order_line.setSourceFunctionValue(other_entity) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_entity, - invoice_transaction_movement.getSourceFunctionValue()) - - order_line.setDestinationFunctionValue(other_entity) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_entity, - invoice_transaction_movement.getDestinationFunctionValue()) - - order_line.setSourcePaymentValue(other_entity) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_entity, - invoice_transaction_movement.getSourcePaymentValue()) - - order_line.setDestinationPaymentValue(other_entity) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_entity, - invoice_transaction_movement.getDestinationPaymentValue()) - - order_line.setQuantity(1) - order_line.setPrice(123) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(123, - invoice_transaction_movement.getQuantity()) - - order_line.setQuantity(456) - order_line.setPrice(1) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(456, - invoice_transaction_movement.getQuantity()) - - order_line.setStartDate(DateTime(2001, 02, 03)) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(DateTime(2001, 02, 03), - invoice_transaction_movement.getStartDate()) - - order_line.setStopDate(DateTime(2002, 03, 04)) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(DateTime(2002, 03, 04), - invoice_transaction_movement.getStopDate()) - - - def test_Invoice_viewAsODT(self): - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource',) - client = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Client') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Vendor') - invoice = self.portal.getDefaultModule(self.invoice_portal_type).newContent( - portal_type=self.invoice_portal_type, - start_date=DateTime(2008, 12, 31), - title='Invoice', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client) - line = invoice.newContent(portal_type=self.invoice_line_portal_type, - resource_value=resource, - quantity=10, - price=3) - invoice.confirm() - self.tic() - - odt = invoice.Invoice_viewAsODT() - from Products.ERP5OOo.tests.utils import Validator - odf_validator = Validator() - err_list = odf_validator.validate(odt) - if err_list: - self.fail(''.join(err_list)) - - def test_Invoice_viewAsODT_empty_image(self): - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource',) - client = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Client') - client_logo = client.newContent(portal_type='Embedded File', - id='default_image') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Vendor') - vendor_logo = vendor.newContent(portal_type='Embedded File', - id='default_image') - self.assertEquals(0, vendor_logo.getSize()) - self.assertEquals(0, vendor.getDefaultImageWidth()) - self.assertEquals(0, vendor.getDefaultImageHeight()) - invoice = self.portal.getDefaultModule(self.invoice_portal_type).newContent( - portal_type=self.invoice_portal_type, - start_date=DateTime(2008, 12, 31), - title='Invoice', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client) - line = invoice.newContent(portal_type=self.invoice_line_portal_type, - resource_value=resource, - quantity=10, - price=3) - invoice.confirm() - self.tic() - - odt = invoice.Invoice_viewAsODT() - from Products.ERP5OOo.tests.utils import Validator - odf_validator = Validator() - err_list = odf_validator.validate(odt) - if err_list: - self.fail(''.join(err_list)) - - # the <draw:image> should not be present, because there's no logo - parser = OOoParser() - parser.openFromString(odt) - style_xml = parser.oo_files['styles.xml'] - self.assert_('<draw:image' not in style_xml) - - def test_Invoice_viewAsODT_invalid_image(self): - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource',) - file_data = FileUpload(__file__, 'rb') - client = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Client') - client_logo = client.newContent(portal_type='Embedded File', - id='default_image', - file=file_data) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Vendor') - vendor_logo = vendor.newContent(portal_type='Embedded File', - id='default_image', - file=file_data) - - # width and height of an invalid image are -1 according to - # OFS.Image.getImageInfo maybe this is not what we want here ? - self.assertEquals(-1, vendor.getDefaultImageWidth()) - self.assertEquals(-1, vendor.getDefaultImageHeight()) - - invoice = self.portal.getDefaultModule(self.invoice_portal_type).newContent( - portal_type=self.invoice_portal_type, - start_date=DateTime(2008, 12, 31), - title='Invoice', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client) - line = invoice.newContent(portal_type=self.invoice_line_portal_type, - resource_value=resource, - quantity=10, - price=3) - invoice.confirm() - self.tic() - - odt = invoice.Invoice_viewAsODT() - from Products.ERP5OOo.tests.utils import Validator - odf_validator = Validator() - err_list = odf_validator.validate(odt) - if err_list: - self.fail(''.join(err_list)) - - def test_invoice_building_with_cells(self): - # if the order has cells, the invoice built from that order must have - # cells too - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource', - variation_base_category_list=['size']) - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='Currency') - - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor') - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008, 1, 1), - price_currency_value=currency, - title='Order') - - order_line = order.newContent(portal_type=self.order_line_portal_type, - resource_value=resource,) - order_line.setVariationBaseCategoryList(('size', )) - order_line.setVariationCategoryList(['size/Baby', 'size/Child/32']) - order_line.updateCellRange() - - cell_baby = order_line.newCell('size/Baby', base_id='movement', - portal_type=self.order_cell_portal_type) - cell_baby.edit(quantity=10, - price=4, - variation_category_list=['size/Baby'], - mapped_value_property_list=['quantity', 'price'],) - - cell_child_32 = order_line.newCell('size/Child/32', base_id='movement', - portal_type=self.order_cell_portal_type) - cell_child_32.edit(quantity=20, - price=5, - variation_category_list=['size/Child/32'], - mapped_value_property_list=['quantity', 'price'],) - order.confirm() - self.tic() - - related_packing_list = order.getCausalityRelatedValue( - portal_type=self.packing_list_portal_type) - self.assertNotEquals(related_packing_list, None) - - related_packing_list.start() - related_packing_list.stop() - self.tic() - - related_invoice = related_packing_list.getCausalityRelatedValue( - portal_type=self.invoice_portal_type) - self.assertNotEquals(related_invoice, None) - - line_list = related_invoice.contentValues( - portal_type=self.invoice_line_portal_type) - self.assertEquals(1, len(line_list)) - invoice_line = line_list[0] - - self.assertEquals(resource, invoice_line.getResourceValue()) - self.assertEquals(['size'], invoice_line.getVariationBaseCategoryList()) - self.assertEquals(2, - len(invoice_line.getCellValueList(base_id='movement'))) - - cell_baby = invoice_line.getCell('size/Baby', base_id='movement') - self.assertNotEquals(cell_baby, None) - self.assertEquals(resource, cell_baby.getResourceValue()) - self.assertEquals(10, cell_baby.getQuantity()) - self.assertEquals(4, cell_baby.getPrice()) - self.assertTrue('size/Baby' in - cell_baby.getVariationCategoryList()) - self.assertTrue(cell_baby.isMemberOf('size/Baby')) - - cell_child_32 = invoice_line.getCell('size/Child/32', base_id='movement') - self.assertNotEquals(cell_child_32, None) - self.assertEquals(resource, cell_child_32.getResourceValue()) - self.assertEquals(20, cell_child_32.getQuantity()) - self.assertEquals(5, cell_child_32.getPrice()) - self.assertTrue('size/Child/32' in - cell_child_32.getVariationCategoryList()) - self.assertTrue(cell_child_32.isMemberOf('size/Child/32')) - - - - def test_invoice_created_from_packing_list_with_no_order(self): - # if the order has cells and an aggregate, the invoice built - #from that order must have - # cells too - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource', - variation_base_category_list=['size']) - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='Currency') - - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor') - no_order_packing_list = \ -self.portal.getDefaultModule(self.packing_list_portal_type).newContent( - portal_type=self.packing_list_portal_type, - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008, 1, 1), - price_currency_value=currency, - title='Order') - - packing_list_line = no_order_packing_list.newContent( - portal_type=self.packing_list_line_portal_type, - resource_value=resource,) - packing_list_line.setVariationBaseCategoryList(('size', )) - packing_list_line.setVariationCategoryList(['size/Baby', 'size/Child/32']) - packing_list_line.updateCellRange() - - cell_baby = packing_list_line.newCell('size/Baby', base_id='movement', - portal_type=self.packing_list_cell_portal_type) - cell_baby.edit(quantity=10, - price=4, - variation_category_list=['size/Baby'], - mapped_value_property_list=['quantity', 'price'],) - - cell_child_32 = packing_list_line.newCell( - 'size/Child/32',base_id='movement', - portal_type=self.packing_list_cell_portal_type) - cell_child_32.edit(quantity=20, - price=5, - variation_category_list=['size/Child/32'], - mapped_value_property_list=['quantity', 'price'],) - no_order_packing_list.confirm() - self.tic() - self.assertNotEquals(no_order_packing_list, None) - - no_order_packing_list.start() - no_order_packing_list.stop() - self.tic() - - related_invoice = no_order_packing_list.getCausalityRelatedValue( - portal_type=self.invoice_portal_type) - self.assertNotEquals(related_invoice, None) - - line_list = related_invoice.contentValues( - portal_type=self.invoice_line_portal_type) - self.assertEquals(1, len(line_list)) - invoice_line = line_list[0] - - self.assertEquals(resource, invoice_line.getResourceValue()) - self.assertEquals(['size'], invoice_line.getVariationBaseCategoryList()) - self.assertEquals(2, - len(invoice_line.getCellValueList(base_id='movement'))) - - cell_baby = invoice_line.getCell('size/Baby', base_id='movement') - self.assertNotEquals(cell_baby, None) - self.assertEquals(resource, cell_baby.getResourceValue()) - self.assertEquals(10, cell_baby.getQuantity()) - self.assertEquals(4, cell_baby.getPrice()) - self.assertTrue('size/Baby' in - cell_baby.getVariationCategoryList()) - self.assertTrue(cell_baby.isMemberOf('size/Baby')) - - cell_child_32 = invoice_line.getCell('size/Child/32', base_id='movement') - self.assertNotEquals(cell_child_32, None) - self.assertEquals(resource, cell_child_32.getResourceValue()) - self.assertEquals(20, cell_child_32.getQuantity()) - self.assertEquals(5, cell_child_32.getPrice()) - self.assertTrue('size/Child/32' in - cell_child_32.getVariationCategoryList()) - self.assertTrue(cell_child_32.isMemberOf('size/Child/32')) - - def test_invoice_building_with_cells_and_aggregate(self): - # if the order has cells and an aggregate, the invoice built - #from that order must have - # cells too - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource', - variation_base_category_list=['size']) - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='Currency') - - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor') - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008, 1, 1), - price_currency_value=currency, - title='Order') - - order_line = order.newContent(portal_type=self.order_line_portal_type, - resource_value=resource,) - order_line.setVariationBaseCategoryList(('size', )) - order_line.setVariationCategoryList(['size/Baby', 'size/Child/32']) - order_line.updateCellRange() - - cell_baby = order_line.newCell('size/Baby', base_id='movement', - portal_type=self.order_cell_portal_type) - cell_baby.edit(quantity=10, - price=4, - variation_category_list=['size/Baby'], - mapped_value_property_list=['quantity', 'price'],) - - cell_child_32 = order_line.newCell('size/Child/32', base_id='movement', - portal_type=self.order_cell_portal_type) - cell_child_32.edit(quantity=20, - price=5, - variation_category_list=['size/Child/32'], - mapped_value_property_list=['quantity', 'price'],) - order.confirm() - self.tic() - - related_packing_list = order.getCausalityRelatedValue( - portal_type=self.packing_list_portal_type) - self.assertNotEquals(related_packing_list, None) - - related_packing_list.start() - related_packing_list.stop() - self.tic() - - related_invoice = related_packing_list.getCausalityRelatedValue( - portal_type=self.invoice_portal_type) - self.assertNotEquals(related_invoice, None) - - line_list = related_invoice.contentValues( - portal_type=self.invoice_line_portal_type) - self.assertEquals(1, len(line_list)) - invoice_line = line_list[0] - - self.assertEquals(resource, invoice_line.getResourceValue()) - self.assertEquals(['size'], invoice_line.getVariationBaseCategoryList()) - self.assertEquals(2, - len(invoice_line.getCellValueList(base_id='movement'))) - - cell_baby = invoice_line.getCell('size/Baby', base_id='movement') - self.assertNotEquals(cell_baby, None) - self.assertEquals(resource, cell_baby.getResourceValue()) - self.assertEquals(10, cell_baby.getQuantity()) - self.assertEquals(4, cell_baby.getPrice()) - self.assertTrue('size/Baby' in - cell_baby.getVariationCategoryList()) - self.assertTrue(cell_baby.isMemberOf('size/Baby')) - - cell_child_32 = invoice_line.getCell('size/Child/32', base_id='movement') - self.assertNotEquals(cell_child_32, None) - self.assertEquals(resource, cell_child_32.getResourceValue()) - self.assertEquals(20, cell_child_32.getQuantity()) - self.assertEquals(5, cell_child_32.getPrice()) - self.assertTrue('size/Child/32' in - cell_child_32.getVariationCategoryList()) - self.assertTrue(cell_child_32.isMemberOf('size/Child/32')) - - - def test_description_copied_on_lines(self): - # if the order lines have different descriptions, description must be - # copied in the simulation and on created movements - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource',) - resource2 = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource2',) - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='Currency') - - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor') - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008, 1, 1), - price_currency_value=currency, - title='Order') - - order.newContent(portal_type=self.order_line_portal_type, - quantity=3, - price=10, - description='The first line', - resource_value=resource,) - order.newContent(portal_type=self.order_line_portal_type, - quantity=5, - price=10, - description='The second line', - resource_value=resource2,) - - order.confirm() - self.tic() - - related_packing_list = order.getCausalityRelatedValue( - portal_type=self.packing_list_portal_type) - self.assertNotEquals(related_packing_list, None) - - movement_list = related_packing_list.getMovementList() - self.assertEquals(2, len(movement_list)) - self.assertEquals(['The first line'], - [m.getDescription() for m in movement_list if m.getQuantity() == 3]) - self.assertEquals(['The second line'], - [m.getDescription() for m in movement_list if m.getQuantity() == 5]) - - related_packing_list.start() - related_packing_list.stop() - self.tic() - - related_invoice = related_packing_list.getCausalityRelatedValue( - portal_type=self.invoice_portal_type) - self.assertNotEquals(related_invoice, None) - - movement_list = related_invoice.getMovementList( - portal_type=self.invoice_line_portal_type) - self.assertEquals(2, len(movement_list)) - self.assertEquals(['The first line'], - [m.getDescription() for m in movement_list if m.getQuantity() == 3]) - self.assertEquals(['The second line'], - [m.getDescription() for m in movement_list if m.getQuantity() == 5]) - - - def test_CopyAndPaste(self): - """Test copy on paste on Invoice. - When an invoice is copy/pasted, references should be resetted. - """ - accounting_module = self.portal.accounting_module - invoice = accounting_module.newContent( - portal_type=self.invoice_portal_type) - invoice.edit(reference='reference', - source_reference='source_reference', - destination_reference='destination_reference',) - cb_data = accounting_module.manage_copyObjects([invoice.getId()]) - copied, = accounting_module.manage_pasteObjects(cb_data) - new_invoice = accounting_module[copied['new_id']] - self.assertNotEquals(invoice.getReference(), - new_invoice.getReference()) - self.assertNotEquals(invoice.getSourceReference(), - new_invoice.getSourceReference()) - self.assertNotEquals(invoice.getDestinationReference(), - new_invoice.getDestinationReference()) - - def test_delivery_mode_and_incoterm_on_invoice(self): - """ - test that categories delivery_mode and incoterm are copied on - the invoice by the delivery builder - """ - resource = self.portal.product_module.newContent( - portal_type='Product', - title='Resource', - product_line='apparel') - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='euro') - currency.setBaseUnitQuantity(0.01) - self.createInvoiceTransactionRule(currency) - self.tic()#execute transaction - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client', - default_address_region=self.default_region) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor', - default_address_region=self.default_region) - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008,10, 21), - price_currency_value=currency, - delivery_mode=self.mail_delivery_mode, - incoterm=self.cpt_incoterm, - title='Order') - order_line = order.newContent(portal_type=self.order_line_portal_type, - resource_value=resource, - quantity=5, - price=2) - order.confirm() - self.tic() - related_packing_list = order.getCausalityRelatedValue( - portal_type=self.packing_list_portal_type) - self.assertNotEquals(related_packing_list, None) - self.assertEquals(related_packing_list.getDeliveryMode(), - order.getDeliveryMode()) - self.assertEquals(related_packing_list.getIncoterm(), - order.getIncoterm()) - related_packing_list.start() - related_packing_list.stop() - self.tic() - related_invoice = related_packing_list.getCausalityRelatedValue( - portal_type=self.invoice_portal_type) - self.assertNotEquals(related_invoice, None) - self.assertEquals(related_invoice.getDeliveryMode(), - order.getDeliveryMode()) - self.assertEquals(related_invoice.getIncoterm(), - order.getIncoterm()) - - - def test_01_quantity_unit_copied(self): - """ - tests that when a resource uses different quantity unit that the - quantity units are copied on the packing list line and then the invoice - line using the delivery builers - """ - resource = self.portal.product_module.newContent( - portal_type='Product', - title='Resource', - product_line='apparel') - resource.setQuantityUnitList([self.unit_piece_quantity_unit, - self.mass_quantity_unit]) - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='euro') - currency.setBaseUnitQuantity(0.01) - self.tic()#execute transaction - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client', - default_address_region=self.default_region) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor', - default_address_region=self.default_region) - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008,10, 21), - price_currency_value=currency, - delivery_mode=self.mail_delivery_mode, - incoterm=self.cpt_incoterm, - title='Order') - first_order_line = order.newContent( - portal_type=self.order_line_portal_type, - resource_value=resource, - quantity_unit = self.unit_piece_quantity_unit, - quantity=5, - price=3) - second_order_line = order.newContent( - portal_type=self.order_line_portal_type, - resource_value=resource, - quantity_unit=self.mass_quantity_unit, - quantity=1.5, - price=2) - self.assertEquals(first_order_line.getQuantityUnit(), - self.unit_piece_quantity_unit) - self.assertEquals(second_order_line.getQuantityUnit(), - self.mass_quantity_unit) - - order.confirm() - self.tic() - related_packing_list = order.getCausalityRelatedValue( - portal_type=self.packing_list_portal_type) - self.assertNotEquals(related_packing_list, None) - movement_list = related_packing_list.getMovementList() - self.assertEquals(len(movement_list),2) - movement_list = sorted(movement_list, key=lambda x: x.getQuantity()) - self.assertEquals(movement_list[0].getQuantityUnit(), - self.mass_quantity_unit) - self.assertEquals(movement_list[0].getQuantity(), 1.5) - self.assertEquals(movement_list[1].getQuantityUnit(), - self.unit_piece_quantity_unit) - self.assertEquals(movement_list[1].getQuantity(), 5) - - related_packing_list.start() - related_packing_list.stop() - related_packing_list.deliver() - self.tic() - related_invoice = related_packing_list.getCausalityRelatedValue( - portal_type=self.invoice_portal_type) - self.assertNotEquals(related_invoice, None) - movement_list = related_invoice.getMovementList() - self.assertEquals(len(movement_list),2) - movement_list = sorted(movement_list, key=lambda x: x.getQuantity()) - self.assertEquals(movement_list[0].getQuantityUnit(), - self.mass_quantity_unit) - self.assertEquals(movement_list[0].getQuantity(), 1.5) - self.assertEquals(movement_list[1].getQuantityUnit(), - self.unit_piece_quantity_unit) - self.assertEquals(movement_list[1].getQuantity(), 5) - - - - def _acceptDivergenceOnInvoice(self, invoice, divergence_list): - builder_list = invoice.getBuilderList() - self.assertEquals(2, len(builder_list)) - for builder in builder_list: - builder.solveDivergence(invoice.getRelativeUrl(), - divergence_to_accept_list=divergence_list) - - def test_accept_quantity_divergence_on_invoice_with_stopped_packing_list( - self, quiet=quiet): - sequence_list = SequenceList() - sequence = sequence_list.addSequenceString(self.PACKING_LIST_DEFAULT_SEQUENCE) - sequence_list.play(self, quiet=quiet) - - packing_list = sequence.get('packing_list') - packing_list_line = packing_list.getMovementList()[0] - previous_quantity = packing_list_line.getQuantity() - - packing_list.setReady() - packing_list.start() - packing_list.stop() - self.assertEquals('stopped', packing_list.getSimulationState()) - self.tic() - - invoice = packing_list.getCausalityRelatedValue( - portal_type=self.invoice_portal_type) - self.assertNotEquals(invoice, None) - invoice_line_list = invoice.getMovementList() - self.assertEquals(1, len(invoice_line_list)) - invoice_line = invoice_line_list[0] - - new_quantity = invoice_line.getQuantity() * 2 - invoice_line.setQuantity(new_quantity) - - self.tic() - - self.assertTrue(invoice.isDivergent()) - divergence_list = invoice.getDivergenceList() - self.assertEquals(1, len(divergence_list)) - - divergence = divergence_list[0] - self.assertEquals('quantity', divergence.tested_property) - - # accept decision - self._acceptDivergenceOnInvoice(invoice, divergence_list) - - self.tic() - self.assertEquals('solved', invoice.getCausalityState()) - - self.assertEquals([], invoice.getDivergenceList()) - self.assertEquals(new_quantity, invoice_line.getQuantity()) - self.assertEquals(new_quantity, - invoice_line.getDeliveryRelatedValue(portal_type='Simulation Movement' - ).getQuantity()) - - self.assertEquals([], packing_list.getDivergenceList()) - self.assertEquals('solved', packing_list.getCausalityState()) - - def _adoptDivergenceOnInvoice(self, invoice, divergence_list): - builder_list = invoice.getBuilderList() - self.assertEquals(2, len(builder_list)) - for builder in builder_list: - builder.solveDivergence(invoice.getRelativeUrl(), - divergence_to_adopt_list=divergence_list) - - def test_adopt_quantity_divergence_on_invoice_line_with_stopped_packing_list( - self, quiet=quiet): - # #1053 - sequence_list = SequenceList() - sequence = sequence_list.addSequenceString(self.PACKING_LIST_DEFAULT_SEQUENCE) - sequence_list.play(self, quiet=quiet) - - packing_list = sequence.get('packing_list') - packing_list_line = packing_list.getMovementList()[0] - previous_quantity = packing_list_line.getQuantity() - previous_resource = packing_list_line.getResource() - previous_price = packing_list_line.getPrice() - - packing_list.setReady() - packing_list.start() - packing_list.stop() - self.assertEquals('stopped', packing_list.getSimulationState()) - self.tic() - - invoice = packing_list.getCausalityRelatedValue( - portal_type=self.invoice_portal_type) - self.assertNotEquals(invoice, None) - invoice_line_list = invoice.getMovementList() - self.assertEquals(1, len(invoice_line_list)) - invoice_line = invoice_line_list[0] - - new_quantity = invoice_line.getQuantity() * 2 - invoice_line.setQuantity(new_quantity) - - self.tic() - - self.assertTrue(invoice.isDivergent()) - divergence_list = invoice.getDivergenceList() - self.assertEquals(1, len(divergence_list)) - - divergence = divergence_list[0] - self.assertEquals('quantity', divergence.tested_property) - - # adopt prevision - self._adoptDivergenceOnInvoice(invoice, divergence_list) - - self.tic() - self.assertEquals([], invoice.getDivergenceList()) - self.assertEquals('solved', invoice.getCausalityState()) - - self.assertEquals(1, - len(invoice.getMovementList(portal_type=self.invoice_line_portal_type))) - self.assertEquals(0, - len(invoice.getMovementList(portal_type=self.invoice_transaction_line_portal_type))) - - self.assertEquals(previous_resource, invoice_line.getResource()) - self.assertEquals(previous_quantity, invoice_line.getQuantity()) - self.assertEquals(previous_price, invoice_line.getPrice()) - self.assertEquals(previous_quantity, - invoice_line.getDeliveryRelatedValue(portal_type='Simulation Movement' - ).getQuantity()) - - self.assertEquals([], packing_list.getDivergenceList()) - self.assertEquals('solved', packing_list.getCausalityState()) - - - -class TestSaleInvoiceMixin(TestInvoiceMixin, - ERP5TypeTestCase): - """Test sale invoice are created from orders then packing lists. - - Those tests methods only work for sale, because sale and purchase invoice - are not built at the same time on packing list workflow. - """ - quiet = 0 - invoice_portal_type = 'Sale Invoice Transaction' - invoice_line_portal_type = 'Invoice Line' - invoice_cell_portal_type = 'Invoice Cell' - invoice_transaction_line_portal_type = 'Sale Invoice Transaction Line' - - # default sequence for one line of not varianted resource. - PACKING_LIST_DEFAULT_SEQUENCE = """ - stepCreateEntities - stepCreateCurrency - stepCreateSaleInvoiceTransactionRule - stepCreateOrder - stepSetOrderProfile - stepSetOrderPriceCurrency - stepCreateNotVariatedResource - stepTic - stepCreateOrderLine - stepSetOrderLineResource - stepSetOrderLineDefaultValues - stepOrderOrder - stepTic - stepCheckDeliveryBuilding - stepConfirmOrder - stepTic - stepCheckOrderRule - stepCheckOrderSimulation - stepCheckDeliveryBuilding - stepAddPackingListContainer - stepAddPackingListContainerLine - stepSetContainerLineFullQuantity - stepTic - stepCheckPackingListIsPacked - """ - - # default sequence for two lines of not varianted resource. - PACKING_LIST_TWO_LINES_DEFAULT_SEQUENCE = """ - stepCreateEntities - stepCreateCurrency - stepCreateSaleInvoiceTransactionRule - stepCreateOrder - stepSetOrderProfile - stepSetOrderPriceCurrency - stepCreateNotVariatedResource - stepTic - stepCreateOrderLine - stepSetOrderLineResource - stepSetOrderLineDefaultValues - stepCreateNotVariatedResource - stepTic - stepCreateOrderLine - stepSetOrderLineResource - stepSetOrderLineDefaultValues - stepOrderOrder - stepTic - stepCheckDeliveryBuilding - stepConfirmOrder - stepTic - stepCheckOrderRule - stepCheckOrderSimulation - stepCheckDeliveryBuilding - stepAddPackingListContainer - stepAddPackingListContainerLine - stepTic - stepSetContainerFullQuantity - stepTic - stepCheckPackingListIsPacked - """ - - # default sequence for one line of not varianted resource. - TWO_PACKING_LIST_DEFAULT_SEQUENCE = """ - stepCreateEntities - stepCreateCurrency - stepCreateSaleInvoiceTransactionRule - stepCreateOrder - stepSetOrderProfile - stepSetOrderPriceCurrency - stepCreateNotVariatedResource - stepTic - stepCreateOrderLine - stepSetOrderLineResource - stepSetOrderLineDefaultValues - stepOrderOrder - stepTic - stepCheckDeliveryBuilding - stepConfirmOrder - stepTic - stepCheckOrderRule - stepCheckOrderSimulation - stepCheckDeliveryBuilding - stepDecreasePackingListLineQuantity - stepCheckPackingListIsCalculating - stepTic - stepCheckPackingListIsDiverged - stepSplitAndDeferPackingList - stepTic - stepCheckPackingListIsSolved - stepCheckPackingListSplitted - stepAddPackingListContainer - stepAddPackingListContainerLine - stepSetContainerLineFullQuantity - stepTic - stepCheckPackingListIsPacked - stepDefineNewPackingListContainer - stepTic - stepCheckNewPackingListIsPacked - """ - - def modifyPackingListState(self, transition_name, - sequence,packing_list=None): - """ calls the workflow for the packing list """ - if packing_list is None: - packing_list = sequence.get('packing_list') - packing_list.portal_workflow.doActionFor(packing_list, transition_name) - - def stepSetReadyPackingList(self, sequence=None, sequence_list=None, **kw): - """ set the Packing List as Ready. This must build the invoice. """ - self.modifyPackingListState('set_ready_action', sequence=sequence) - packing_list = sequence.get('packing_list') - self.assertEquals(packing_list.getSimulationState(), 'ready') - - def stepSetReadyNewPackingList(self, sequence=None, - sequence_list=None, **kw): - """ set the Packing List as Ready. This must build the invoice. """ - packing_list = sequence.get('new_packing_list') - self.modifyPackingListState('set_ready_action', sequence=sequence, - packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'ready') - - def stepStartPackingList(self, sequence=None, sequence_list=None, **kw): - self.modifyPackingListState('start_action', sequence=sequence) - packing_list = sequence.get('packing_list') - self.assertEquals(packing_list.getSimulationState(), 'started') - - def stepStartNewPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('new_packing_list') - self.modifyPackingListState('start_action', sequence=sequence, - packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'started') - - def stepStopPackingList(self, sequence=None, sequence_list=None, **kw): - self.modifyPackingListState('stop_action', sequence=sequence) - packing_list = sequence.get('packing_list') - self.assertEquals(packing_list.getSimulationState(), 'stopped') - - def stepDeliverPackingList(self, sequence=None, sequence_list=None, **kw): - self.modifyPackingListState('deliver_action', sequence=sequence) - packing_list = sequence.get('packing_list') - self.assertEquals(packing_list.getSimulationState(), 'delivered') - - def stepCancelPackingList(self, sequence=None, sequence_list=None, **kw): - self.modifyPackingListState('cancel_action', sequence=sequence) - packing_list = sequence.get('packing_list') - self.assertEquals(packing_list.getSimulationState(), 'cancelled') - - def modifyInvoiceState(self, transition_name, - sequence,invoice=None): - """ calls the workflow for the invoice """ - if invoice is None: - invoice = sequence.get('invoice') - invoice.portal_workflow.doActionFor(invoice, transition_name) - - def stepStartInvoice(self, sequence=None, sequence_list=None, **kw): - self.modifyInvoiceState('start_action', sequence=sequence) - invoice = sequence.get('invoice') - self.assertEquals(invoice.getSimulationState(), 'started') - - def stepStartNewInvoice(self, sequence=None, sequence_list=None, **kw): - invoice = sequence.get('new_invoice') - self.modifyInvoiceState('start_action', sequence=sequence, - invoice=invoice) - self.assertEquals(invoice.getSimulationState(), 'started') - - def stepStopInvoice(self, sequence=None, sequence_list=None, **kw): - self.modifyInvoiceState('stop_action', sequence=sequence) - invoice = sequence.get('invoice') - self.assertEquals(invoice.getSimulationState(), 'stopped') - - def stepDeliverInvoice(self, sequence=None, sequence_list=None, **kw): - self.modifyInvoiceState('deliver_action', sequence=sequence) - invoice = sequence.get('invoice') - self.assertEquals(invoice.getSimulationState(), 'delivered') - - def stepCancelInvoice(self, sequence=None, sequence_list=None, **kw): - self.modifyInvoiceState('cancel_action', sequence=sequence) - invoice = sequence.get('invoice') - self.assertEquals(invoice.getSimulationState(), 'cancelled') - - - def stepSwitchPackingLists(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('packing_list') - new_packing_list = sequence.get('new_packing_list') - #invoice = new_packing_list.getDefaultCausalityRelatedValue( - #portal_type=self.invoice_portal_type) - sequence.edit(packing_list=new_packing_list, - new_packing_list=packing_list)#, invoice=invoice) - - def stepSwitchInvoices(self, sequence=None, sequence_list=None, **kw): - invoice = sequence.get('invoice') - new_invoice = sequence.get('new_invoice') - sequence.edit(invoice=new_invoice, new_invoice=invoice) - - def stepCheckPackingListSimulation(self, sequence=None, sequence_list=None, **kw): - """ checks that simulation movements related to the packing list are OK """ - packing_list = sequence.get('packing_list') - order = sequence.get('order') - order_root_applied_rule = order.getCausalityRelatedValueList( - portal_type = 'Applied Rule')[0] - # check simulation movements from this packing list - for movement in packing_list.getMovementList() : - simulation_movement_list = movement.getOrderRelatedValueList() - self.assertNotEquals(len(simulation_movement_list), 0) - total_quantity = 0 - for simulation_movement in simulation_movement_list : - total_quantity += simulation_movement.getQuantity() - # check that those movements come from the same root applied - # rule than the order. - self.assertEquals( simulation_movement.getRootAppliedRule(), - order_root_applied_rule) - self.assertEquals(total_quantity, movement.getQuantity()) - - def stepCheckInvoiceBuilding(self, sequence=None, sequence_list=None, **kw): - """ - checks that the invoice is built with the default_invoice_builder - """ - packing_list = sequence.get('packing_list') - related_invoice_list = packing_list.getCausalityRelatedValueList( - portal_type=self.invoice_portal_type) - - packing_list_building_state = 'started' - packing_list_state = packing_list.getSimulationState() - if packing_list_state != packing_list_building_state : - self.assertEquals(0, len(related_invoice_list)) - else: - self.assertEquals(1, len(related_invoice_list)) - - invoice = related_invoice_list[0].getObject() - self.failUnless(invoice is not None) - # Invoices created by Delivery Builder are in confirmed state - self.assertEquals(invoice.getSimulationState(), 'confirmed') - - # Get the list of simulation movements of packing list ... - packing_list_simulation_movement_list = [] - for packing_list_movement in packing_list.getMovementList(): - packing_list_simulation_movement_list.extend( - packing_list_movement.getDeliveryRelatedValueList()) - # ... invoice simulation movement are their childrens. - simulation_movement_list = [] - for p_l_simulation_movement in packing_list_simulation_movement_list : - for applied_rule in p_l_simulation_movement.objectValues() : - simulation_movement_list.extend(applied_rule.objectValues()) - - # First, test if each Simulation Movement is related to an - # Invoice Movement - invoice_relative_url = invoice.getRelativeUrl() - for simulation_movement in simulation_movement_list: - invoice_movement_list = simulation_movement.getDeliveryValueList() - self.assertEquals(len(invoice_movement_list), 1) - invoice_movement = invoice_movement_list[0] - self.failUnless(invoice_movement is not None) - self.assert_(invoice_movement.getRelativeUrl().\ - startswith(invoice_relative_url)) - - # Then, test if each Invoice movement is equals to the sum of somes - # Simulation Movements - for invoice_movement in invoice.getMovementList(portal_type = [ - self.invoice_cell_portal_type, - self.invoice_line_portal_type]) : - related_simulation_movement_list = invoice_movement.\ - getDeliveryRelatedValueList(portal_type='Simulation Movement') - quantity = 0 - total_price = 0 - invoice_movement_quantity = invoice_movement.getQuantity() - for related_simulation_movement in related_simulation_movement_list: - quantity += related_simulation_movement.getQuantity() - total_price += related_simulation_movement.getPrice() *\ - related_simulation_movement.getQuantity() - # Test resource - self.assertEquals(invoice_movement.getResource(), \ - related_simulation_movement.getResource()) - # Test resource variation - self.assertEquals(invoice_movement.getVariationText(), \ - related_simulation_movement.getVariationText()) - self.assertEquals(invoice_movement.getVariationCategoryList(), \ - related_simulation_movement.getVariationCategoryList()) - # Test acquisition - self.checkAcquisition(invoice_movement, - related_simulation_movement) - # Test delivery ratio - self.assertEquals(related_simulation_movement.getQuantity() /\ - invoice_movement_quantity, \ - related_simulation_movement.getDeliveryRatio()) - - self.assertEquals(quantity, invoice_movement.getQuantity()) - # Test price - self.assertEquals(total_price / quantity, invoice_movement.getPrice()) - - sequence.edit(invoice = invoice) - - # Test causality - self.assertEquals(len(invoice.getCausalityValueList( - portal_type = self.packing_list_portal_type)), 1) - self.assertEquals(invoice.getCausalityValue(), packing_list) - - # Finally, test getTotalQuantity and getTotalPrice on Invoice - self.assertEquals(packing_list.getTotalQuantity(), - invoice.getTotalQuantity()) - self.assertEquals(packing_list.getTotalPrice(), - invoice.getTotalPrice()) - - - def stepCheckInvoicesConsistency(self, sequence=None, sequence_list=None, - **kw): - """ - Checks that all invoices are consistent: - - transaction lines match invoice lines - - no movement is divergent - """ - invoice_list = self.getPortal()['accounting_module'].objectValues() - for invoice in invoice_list: - accounting_state_list = \ - list(self.getPortal().getPortalCurrentInventoryStateList()) - accounting_state_list.append('cancelled') - if invoice.getSimulationState() in accounting_state_list: - invoice_line_list = invoice.contentValues( - portal_type=self.invoice_line_portal_type) - invoice_transaction_line_list = invoice.contentValues( - portal_type=self.invoice_transaction_line_portal_type) - self.assertEquals(3, len(invoice_transaction_line_list)) - expected_price = 0.0 - for line in invoice_line_list: - expected_price += line.getTotalPrice() - for line_id, line_source, line_dest, line_ratio in \ - self.transaction_line_definition_list: - for line in invoice.contentValues( - portal_type=self.invoice_transaction_line_portal_type): - if line.getSource() == 'account_module/%s' % line_source and \ - line.getDestination() == 'account_module/%s' % line_dest: - break - else: - self.fail('No line found that matches %s' % line_id) - resource_precision = line.getResourceValue().getQuantityPrecision() - self.assertEquals(round(line.getQuantity(), resource_precision), - round(expected_price * line_ratio, resource_precision)) - - def stepCheckInvoiceLineHasReferenceAndIntIndex(self, sequence=None, **kw): - """Check that the unique invoice line in the invoice has reference and int - index. - """ - invoice = sequence.get('invoice') - invoice_line_list = invoice.contentValues( - portal_type=self.invoice_line_portal_type) - self.assertEquals(1, len(invoice_line_list)) - invoice_line = invoice_line_list[0] - self.assertEquals(1, invoice_line.getIntIndex()) - self.assertEquals('1', invoice_line.getReference()) - - def stepCheckPackingListInvoice( - self, sequence=None, sequence_list=None, **kw): - """ Checks if the delivery builder is working as expected, - coping the atributes from packing list to invoice.""" - packing_list = sequence.get('packing_list') - related_invoice_list = packing_list.getCausalityRelatedValueList( - portal_type=self.invoice_portal_type) - self.assertEquals(len(related_invoice_list), 1) - invoice = related_invoice_list[0] - self.assertEquals(packing_list.getSource(), invoice.getSource()) - self.assertEquals(packing_list.getDestination(), invoice.getDestination()) - self.assertEquals(packing_list.getDestinationSection(), \ - invoice.getDestinationSection()) - self.assertEquals(packing_list.getSourceSection(), \ - invoice.getSourceSection()) - self.assertEquals(packing_list.getDestinationDecision(), \ - invoice.getDestinationDecision()) - self.assertEquals(packing_list.getSourceDecision(), \ - invoice.getSourceDecision()) - self.assertEquals(packing_list.getDestinationAdministration(), \ - invoice.getDestinationAdministration()) - self.assertEquals(packing_list.getSourceAdministration(), \ - invoice.getSourceAdministration()) - self.assertEquals(packing_list.getDestinationProject(), \ - invoice.getDestinationProject()) - self.assertEquals(packing_list.getSourceProject(), \ - invoice.getSourceProject()) - self.assertEquals(packing_list.getPriceCurrency(), \ - invoice.getPriceCurrency()) - - - - def stepCheckDeliveryRuleForDeferred( - self, sequence=None, sequence_list=None, **kw): - """ Checks that a delivery rule has been created when we took 'split - and defer' decision on the divergeant Packing List. """ - # TODO - - def stepCheckDeliveryRuleIsEmpty( - self, sequence=None, sequence_list=None, **kw): - """ Checks that an empty delivery rule is created for the - convergeant Packing List""" - packing_list = sequence.get('packing_list') - self.failUnless(packing_list is not None) - simulation_tool = self.getSimulationTool() - # Check that there is an applied rule for our packing list - rule_list = [x for x in simulation_tool.objectValues() - if x.getCausalityValue()==packing_list] - self.assertEquals(len(rule_list),1) - packing_list_rule = rule_list[0] - sequence.edit(packing_list_rule=packing_list_rule) - rule_line_list = packing_list_rule.objectValues() - packing_list_line_list = packing_list.objectValues() - self.assertEquals(len(packing_list_line_list), - len(rule_line_list)) - self.assertEquals(1, len(rule_line_list)) - rule_line = rule_line_list[0] - packing_list_line = packing_list_line_list[0] - self.assertEquals(rule_line.getQuantity(), 10) - self.assertEquals(rule_line.getPrice(), 100) - self.assertEquals(rule_line.getDeliveryValue(), - packing_list_line) - self.assertEquals(rule_line.getStartDate(), - packing_list_line.getStartDate()) - self.assertEquals(rule_line.getStopDate(), - packing_list_line.getStopDate()) - self.assertEquals(rule_line.getPortalType(), - 'Simulation Movement') - - - def stepCheckPackingList(self,sequence=None, sequence_list=None,**kw): - """ """ - packing_list_module = self.getSalePackingListModule() - order_rule = sequence.get('order_rule') - order = sequence.get('order') - sale_packing_list_list = [] - for o in packing_list_module.objectValues(): - if o.getCausalityValue() == order: - sale_packing_list_list.append(o) - self.assertEquals(len(sale_packing_list_list), 1) - sale_packing_list = sale_packing_list_list[0] - sale_packing_list_line_list = sale_packing_list.objectValues() - self.assertEquals(len(sale_packing_list_line_list),1) - sale_packing_list_line = sale_packing_list_line_list[0] - product = sequence.get('resource') - self.assertEquals(sale_packing_list_line.getResourceValue(), - product) - self.assertEquals(sale_packing_list_line.getPrice(), - self.price1) - LOG('sale_packing_list_line.showDict()',0, - sale_packing_list_line.showDict()) - self.assertEquals(sale_packing_list_line.getQuantity(), - self.quantity1) - self.assertEquals(sale_packing_list_line.getTotalPrice(), - self.total_price1) - sequence.edit(packing_list = sale_packing_list) - - def stepCheckTwoInvoices(self,sequence=None, sequence_list=None, **kw): - """ checks invoice properties are well set. """ - # Now we will check that we have two invoices created - packing_list = sequence.get('packing_list') - invoice_list = packing_list.getCausalityRelatedValueList( - portal_type=self.invoice_portal_type) - self.assertEquals(len(invoice_list),1) - invoice = invoice_list[0] - self.assertEquals(invoice.getSimulationState(), 'confirmed') - sequence.edit(invoice=invoice) - new_packing_list = sequence.get('new_packing_list') - new_invoice_list = new_packing_list.getCausalityRelatedValueList( - portal_type=self.invoice_portal_type) - self.assertEquals(len(new_invoice_list),1) - new_invoice = new_invoice_list[0] - self.assertEquals(new_invoice.getSimulationState(), 'confirmed') - sequence.edit(new_invoice=new_invoice) - - def stepStartTwoInvoices(self,sequence=None, sequence_list=None, **kw): - """ start both invoices. """ - portal = self.getPortal() - invoice = sequence.get('invoice') - new_invoice = sequence.get('new_invoice') - portal.portal_workflow.doActionFor(invoice, 'start_action') - portal.portal_workflow.doActionFor(new_invoice, 'start_action') - - def stepCheckTwoInvoicesTransactionLines(self,sequence=None, - sequence_list=None, **kw): - """ checks invoice properties are well set. """ - invoice = sequence.get('invoice') - new_invoice = sequence.get('new_invoice') - self.assertEquals(3,len(invoice.objectValues( - portal_type=self.invoice_transaction_line_portal_type))) - self.assertEquals(3,len(new_invoice.objectValues( - portal_type=self.invoice_transaction_line_portal_type))) - account_module = self.getAccountModule() - found_dict = {} - for line in invoice.objectValues( - portal_type=self.invoice_transaction_line_portal_type): - source_id = line.getSourceId() - found_dict[source_id] = line.getQuantity() - total_price = (self.default_quantity-1) * self.default_price - expected_dict = { - 'sale' : total_price, - 'receivable_vat' : total_price * self.vat_rate, - 'customer' : - (total_price + total_price * self.vat_rate) - } - self.failIfDifferentSet(expected_dict.keys(),found_dict.keys()) - for key in found_dict.keys(): - self.assertAlmostEquals(expected_dict[key],found_dict[key],places=2) - found_dict = {} - for line in new_invoice.objectValues( - portal_type=self.invoice_transaction_line_portal_type): - source_id = line.getSourceId() - found_dict[source_id] = line.getQuantity() - total_price = 1 * self.default_price - expected_dict = { - 'sale' : total_price, - 'receivable_vat' : total_price * self.vat_rate, - 'customer' : - (total_price + total_price * self.vat_rate) - } - self.failIfDifferentSet(expected_dict.keys(), found_dict.keys()) - for key in found_dict.keys(): - self.assertAlmostEquals(expected_dict[key], found_dict[key], places=2) - - def stepRebuildAndCheckNothingIsCreated(self, sequence=None, - sequence_list=None, **kw): - """Rebuilds with sale_invoice_builder and checks nothing more is - created. """ - accounting_module = self.getAccountingModule() - portal_type_list = ('Sale Invoice Transaction', 'Purchase Invoice Transaction') - sale_invoice_transaction_count = len(accounting_module.objectValues( - portal_type=portal_type_list)) - for builder in self.getPortal().portal_deliveries.objectValues(): - builder.build() - self.assertEquals(sale_invoice_transaction_count, - len(accounting_module.objectValues( - portal_type=portal_type_list))) - - def stepModifyInvoicesDate(self, sequence=None, - sequence_list=None, **kw): - """Change invoice date""" - invoice = sequence.get('invoice') - new_invoice = sequence.get('new_invoice') - invoice.edit(start_date=self.datetime, - stop_date=self.datetime+1) - new_invoice.edit(start_date=self.datetime, - stop_date=self.datetime+1) - - def stepRemoveDateMovementGroupForTransactionBuilder(self, sequence=None, - sequence_list=None, **kw): - """ - Remove DateMovementGroup - """ - portal = self.getPortal() - builder = portal.portal_deliveries.sale_invoice_transaction_builder - delivery_movement_group_list = builder.getDeliveryMovementGroupList() - uf = self.getPortal().acl_users - uf._doAddUser('admin', '', ['Manager'], []) - user = uf.getUserById('admin').__of__(uf) - newSecurityManager(None, user) - for movement_group in delivery_movement_group_list: - if movement_group.getPortalType() == 'Property Movement Group': - # it contains 'start_date' and 'stop_date' only, so we remove - # movement group itself. - builder.deleteContent(movement_group.getId()) - builder.newContent( - portal_type = 'Parent Explanation Movement Group', - collect_order_group='delivery', - int_index=len(delivery_movement_group_list)+1 - ) - user = uf.getUserById('test_invoice_user').__of__(uf) - newSecurityManager(None, user) - - def stepEditInvoice(self, sequence=None, sequence_list=None, **kw): - """Edit the current invoice, to trigger updateAppliedRule.""" - invoice = sequence.get('invoice') - invoice.edit() - - # call updateAppliedRule directly, don't rely on edit interactions - rule_reference = 'default_invoice_rule' - self.assertNotEquals(0, - len(self.portal.portal_rules.searchFolder(reference=rule_reference))) - invoice.updateAppliedRule(rule_reference=rule_reference) - - def stepCheckInvoiceRuleNotAppliedOnInvoiceEdit(self, - sequence=None, sequence_list=None, **kw): - """If we call edit on the invoice, invoice rule should not be - applied on lines created by delivery builder.""" - invoice = sequence.get('invoice') - # FIXME: empty applied rule should not be created - #self.assertEquals(len(invoice.getCausalityRelatedValueList( - # portal_type=self.applied_rule_portal_type)), 0) - for invoice_mvt in invoice.getMovementList(): - self.assertEquals(len(invoice_mvt.getOrderRelatedValueList( - portal_type=self.simulation_movement_portal_type)), 0) - - def stepEditPackingList(self, sequence=None, sequence_list=None, **kw): - """Edit the current packing list, to trigger updateAppliedRule.""" - packing_list = sequence.get('packing_list') - packing_list.edit() - - # call updateAppliedRule directly, don't rely on edit interactions - rule_reference = 'default_delivery_rule' - self.assertNotEquals(0, - len(self.portal.portal_rules.searchFolder(reference=rule_reference))) - packing_list.updateAppliedRule(rule_reference=rule_reference) - - def stepCheckDeliveryRuleNotAppliedOnPackingListEdit(self, - sequence=None, sequence_list=None, **kw): - """If we call edit on the packing list, delivery rule should not be - applied on lines created by delivery builder.""" - packing_list = sequence.get('packing_list') - # FIXME: empty applied rule should not be created - #self.assertEquals(len(packing_list.getCausalityRelatedValueList( - # portal_type=self.applied_rule_portal_type)), 0) - for delivery_mvt in packing_list.getMovementList(): - self.assertEquals(len(delivery_mvt.getOrderRelatedValueList( - portal_type=self.simulation_movement_portal_type)), 0) - - def stepDecreaseInvoiceLineQuantity(self, sequence=None, sequence_list=None, - **kw): - """ - Set a decreased quantity on invoice lines - """ - invoice = sequence.get('invoice') - quantity = sequence.get('line_quantity',default=self.default_quantity) - quantity = quantity - 1 - sequence.edit(line_quantity=quantity) - for invoice_line in invoice.objectValues( - portal_type=self.invoice_line_portal_type): - invoice_line.edit(quantity=quantity) - sequence.edit(last_delta = sequence.get('last_delta', 0.0) - 1.0) - - def stepIncreaseInvoiceLineQuantity(self, sequence=None, sequence_list=None, - **kw): - """ - Set a Increased quantity on invoice lines - """ - invoice = sequence.get('invoice') - quantity = sequence.get('line_quantity',default=self.default_quantity) - quantity = quantity + 1 - sequence.edit(line_quantity=quantity) - for invoice_line in invoice.objectValues( - portal_type=self.invoice_line_portal_type): - invoice_line.edit(quantity=quantity) - sequence.edit(last_delta = sequence.get('last_delta', 0.0) + 1.0) - - def stepSetInvoiceLineQuantityToZero(self, sequence=None, sequence_list=None, - **kw): - """ - Set the quantity on invoice lines to zero - """ - invoice = sequence.get('invoice') - #default_quantity = sequence.get('line_quantity',default_quantity) - quantity = 0.0 - sequence.edit(line_quantity=quantity) - for invoice_line in invoice.objectValues( - portal_type=self.invoice_line_portal_type): - invoice_line.edit(quantity=quantity) - sequence.edit(last_delta = - self.default_quantity) - - def stepChangeInvoiceStartDate(self, sequence=None, sequence_list=None, **kw): - """ - Change the start_date of the invoice. - """ - invoice = sequence.get('invoice') - invoice.edit(start_date=self.datetime + 15) - - def stepCheckInvoiceIsCalculating(self, sequence=None, sequence_list=None, - **kw): - """ - Test if invoice is calculating - """ - invoice = sequence.get('invoice') - self.assertEquals('calculating',invoice.getCausalityState()) - - def stepCheckInvoiceIsDiverged(self, sequence=None, sequence_list=None, - **kw): - """ - Test if invoice is diverged - """ - invoice = sequence.get('invoice') - self.assertEquals('diverged',invoice.getCausalityState()) - - def stepCheckInvoiceIsSolved(self, sequence=None, sequence_list=None, - **kw): - """ - Test if invoice is solved - """ - invoice = sequence.get('invoice') - self.assertEquals('solved', invoice.getCausalityState(), - invoice.getDivergenceList()) - - def stepCheckInvoiceIsDivergent(self, sequence=None, sequence_list=None, - **kw): - """ - Test if invoice is divergent - """ - invoice = sequence.get('invoice') - self.assertTrue(invoice.isDivergent()) - - def stepCheckInvoiceIsNotDivergent(self, sequence=None, sequence_list=None, - **kw): - """ - Test if invoice is not divergent - """ - invoice = sequence.get('invoice') - if invoice.isDivergent(): - self.fail(invoice.getDivergenceList()) - - def stepSplitAndDeferInvoice(self, sequence=None, sequence_list=None, - **kw): - """ - split and defer at the invoice level - """ - invoice = sequence.get('invoice') - kw = {'listbox':[ - {'listbox_key':line.getRelativeUrl(), - 'choice':'SplitAndDefer'} for line in invoice.getMovementList()]} - self.portal.portal_workflow.doActionFor( - invoice, - 'split_and_defer_action', - start_date=self.datetime + 15, - stop_date=self.datetime + 25, - **kw) - pass - - def stepUnifyStartDateWithDecisionInvoice(self, sequence=None, - sequence_list=None): - invoice = sequence.get('invoice') - self._solveDeliveryGroupDivergence(invoice, 'start_date', - invoice.getRelativeUrl()) - - def stepAcceptDecisionQuantityInvoice(self,sequence=None, sequence_list=None): - invoice = sequence.get('invoice') - self._solveDivergence(invoice, 'quantity', 'accept') - - def stepAcceptDecisionInvoice(self, sequence=None, sequence_list=None, - **kw): - """ - accept decision at the invoice level - """ - invoice = sequence.get('invoice') - invoice.portal_workflow.doActionFor(invoice,'accept_decision_action') - - def stepCheckInvoiceSplitted(self, sequence=None, sequence_list=None, **kw): - """ - Test if invoice was splitted - """ - packing_list = sequence.get('packing_list') - invoice_list = packing_list.getCausalityRelatedValueList( - portal_type=self.invoice_portal_type) - self.assertEquals(2,len(invoice_list)) - invoice1 = None - invoice2 = None - for invoice in invoice_list: - if invoice.getUid() == sequence.get('invoice').getUid(): - invoice1 = invoice - else: - invoice2 = invoice - sequence.edit(new_invoice=invoice2) - for line in invoice1.objectValues( - portal_type=self.invoice_line_portal_type): - self.assertEquals(self.default_quantity-1,line.getQuantity()) - for line in invoice2.objectValues( - portal_type=self.invoice_line_portal_type): - self.assertEquals(1,line.getQuantity()) - - def stepCheckInvoiceNotSplitted(self, sequence=None, sequence_list=None, **kw): - """ - Test if invoice was not splitted - """ - packing_list = sequence.get('packing_list') - invoice_list = packing_list.getCausalityRelatedValueList( - portal_type=self.invoice_portal_type) - self.assertEquals(1,len(invoice_list)) - invoice1 = None - for invoice in invoice_list: - if invoice.getUid() == sequence.get('invoice').getUid(): - invoice1 = invoice - last_delta = sequence.get('last_delta', 0.0) - for line in invoice1.objectValues( - portal_type=self.invoice_line_portal_type): - self.assertEquals(self.default_quantity + last_delta, - line.getQuantity()) - - def stepAddInvoiceLines(self, sequence=None, sequence_list=[]): - """ - add some invoice and accounting lines to the invoice - """ - invoice = sequence.get('invoice') - invoice.newContent(portal_type='Invoice Line', - resource_value=sequence.get('resource'), quantity=3, price=555) - invoice.newContent(portal_type='Sale Invoice Transaction Line', - id ='receivable', source='account_module/customer', - destination='account_module/supplier', quantity=-1665) - invoice.newContent(portal_type='Sale Invoice Transaction Line', - id='income', source='account_module/sale', - destination='account_module/purchase', quantity=1665) - - def stepAddWrongInvoiceLines(self, sequence=None, sequence_list=[]): - """ - add some wrong invoice and accounting lines to the invoice - """ - invoice = sequence.get('invoice') - invoice.newContent(portal_type='Sale Invoice Transaction Line', - id='bad_movement', source='account_module/sale', - destination='account_module/purchase', quantity=2, price=4) - invoice.newContent(portal_type='Sale Invoice Transaction Line', - id='counter_bad_movement', source='account_module/sale', - destination='account_module/purchase', quantity=-2, price=4) - for movement in invoice.getMovementList(): - movement.edit(resource_value=sequence.get('resource')) - - def stepCheckStartInvoiceFail(self, sequence=None, sequence_list=[]): - """ - checks that it's not possible to start an invoice with really wrong - lines - """ - try: - self.tic() - except RuntimeError, exc: - invoice = sequence.get('invoice') - it_builder = self.portal.portal_deliveries.sale_invoice_transaction_builder - # check which activities are failing - self.assertTrue(str(exc).startswith('tic is looping forever.'), - '%s does not start with "tic is looping forever."' % str(exc)) - msg_list = ['/'.join(x.object_path) for x in - self.getActivityTool().getMessageList()] - self.assertTrue(it_builder.getPath() in msg_list, '%s in %s' % - (it_builder.getPath(), msg_list)) - # flush failing activities - activity_tool = self.getActivityTool() - activity_tool.manageClearActivities(keep=0) - else: - self.fail("Error: stepStartInvoice didn't fail, the builder script" - + " InvoiceTransaction_postTransactionLineGeneration should have" - + " complained that accounting movements use multiple resources") - - def stepCheckSimulationTrees(self, sequence=None, sequence_list=[]): - """ - check that rules are created in the order we expect them - """ - applied_rule_set = set() - invoice = sequence.get('invoice') - for movement in invoice.getMovementList(): - for sm in movement.getDeliveryRelatedValueList(): - applied_rule_set.add(sm.getRootAppliedRule()) - - rule_dict = { - 'Order Rule': { - 'movement_type_list': ['Sale Packing List Line', 'Sale Packing List Cell'], - 'next_rule_list': ['Invoicing Rule', ], - }, - 'Invoicing Rule': { - 'movement_type_list': invoice.getPortalInvoiceMovementTypeList(), - 'next_rule_list': ['Invoice Transaction Rule', 'Trade Model Rule'], - }, - 'Trade Model Rule': { - 'next_rule_list': ['Invoice Transaction Rule'], - }, - 'Invoice Rule': { - 'movement_type_list': invoice.getPortalInvoiceMovementTypeList() \ - + invoice.getPortalAccountingMovementTypeList(), - 'next_rule_list': ['Invoice Transaction Rule', 'Payment Rule', - 'Trade Model Rule'], - }, - 'Invoice Transaction Rule': { - 'parent_movement_type_list': invoice.getPortalInvoiceMovementTypeList(), - 'movement_type_list': invoice.getPortalAccountingMovementTypeList(), - 'next_rule_list': ['Payment Rule'], - }, - 'Payment Rule': { - 'parent_movement_type_list': invoice.getPortalAccountingMovementTypeList(), - 'next_rule_list': [], - }, - } - - def checkTree(rule): - """ - checks the tree recursively - """ - rule_type = rule.getSpecialiseValue().getPortalType() - rule_def = rule_dict.get(rule_type, {}) - for k, v in rule_def.iteritems(): - if k == 'movement_type_list': - for movement in rule.objectValues(): - if movement.getDeliveryValue() is not None: - self.assertTrue(movement.getDeliveryValue().getPortalType() in v, - 'looking for %s in %s on %s' % ( - movement.getDeliveryValue().getPortalType(), v, - movement.getPath())) - elif k == 'next_rule_list': - for movement in rule.objectValues(): - found_rule_dict = {} - for next_rule in movement.objectValues(): - next_rule_type = next_rule.getSpecialiseValue().getPortalType() - self.assertTrue(next_rule_type in v, - 'looking for %s in %s on %s' % ( - next_rule_type, v, next_rule.getPath())) - n = found_rule_dict.get(next_rule_type, 0) - found_rule_dict[next_rule_type] = n + 1 - # for each movement, we want to make sure that each rule is not - # instanciated more than once - if len(found_rule_dict): - self.assertEquals(set(found_rule_dict.itervalues()), set([1])) - elif k == 'parent_movement_type_list': - if rule.getParentValue().getDeliveryValue() is not None: - parent_type = rule.getParentValue().getDeliveryValue().getPortalType() - self.assertTrue(parent_type in v, 'looking for %s in %s on %s' % ( - parent_type, v, rule.getParentValue().getPath())) - elif k == 'parent_id_list': - self.assertTrue(rule.getParentId() in v, 'looking for %s in %s on %s' - % (rule.getParentId(), v, rule.getPath())) - for movement in rule.objectValues(): - for next_rule in movement.objectValues(): - checkTree(next_rule) - - for applied_rule in applied_rule_set: - checkTree(applied_rule) - - -class TestSaleInvoice(TestSaleInvoiceMixin, TestInvoice, ERP5TypeTestCase): - """Tests for sale invoice. - """ - quiet = 0 - - # fix inheritance - login = TestInvoiceMixin.login - - @UnrestrictedMethod - def createCategories(self): - TestPackingListMixin.createCategories(self) - TestInvoiceMixin.createCategories(self) - - getNeededCategoryList = TestInvoiceMixin.getNeededCategoryList - - def test_01_SimpleInvoice(self, quiet=quiet): - """ - Checks that a Simple Invoice is created from a Packing List - """ - if not quiet: - self.logMessage('Simple Invoice') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepTic - stepCheckInvoiceBuilding - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - stepCheckInvoiceLineHasReferenceAndIntIndex - """) - sequence_list.play(self, quiet=quiet) - - def test_02_TwoInvoicesFromTwoPackingList(self, quiet=quiet): - """ - This test was created for the following bug: - - an order is created and confirmed - - the packing list is split - - the 2 packing list are delivered (at different date) - - 2 invoices are built, then we set the same date on both of them - - the accounting rules are generated and put in only one invoice !!, - so we have an invoice with twice the number of accounting rules - and an invoice with no accounting rules. both invoices are wrong - """ - if not quiet: self.logMessage('Two Invoices from Two Packing List') - sequence_list = SequenceList() - for base_sequence in (self.TWO_PACKING_LIST_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepSetReadyPackingList - stepSetReadyNewPackingList - stepTic - stepStartPackingList - stepStartNewPackingList - stepTic - stepCheckTwoInvoices - stepRemoveDateMovementGroupForTransactionBuilder - stepStartTwoInvoices - stepTic - stepCheckTwoInvoicesTransactionLines - stepCheckInvoicesConsistency - """) - sequence_list.play(self, quiet=quiet) - - def test_03_InvoiceEditAndInvoiceRule(self, quiet=quiet): - """ - Invoice Rule should not be applied on invoice lines created from\ - Packing List. - - We want to prevent this from happening: - - Create a packing list - - An invoice is created from packing list - - Invoice is edited, updateAppliedRule is called - - A new Invoice Rule is created for this invoice, and accounting - movements for this invoice are present twice in the simulation. - """ - if not quiet: - self.logMessage('Invoice Edit') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepTic - stepCheckInvoiceBuilding - stepEditInvoice - stepCheckInvoiceRuleNotAppliedOnInvoiceEdit - stepCheckInvoicesConsistency - """) - sequence_list.play(self, quiet=quiet) - - def test_04_PackingListEditAndInvoiceRule(self, quiet=quiet): - """ - Delivery Rule should not be applied on packing list lines created\ - from Order. - """ - if not quiet: - self.logMessage('Packing List Edit') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepEditPackingList - stepCheckDeliveryRuleNotAppliedOnPackingListEdit - stepCheckInvoicesConsistency - """) - sequence_list.play(self, quiet=quiet) - - def test_05_InvoiceEditPackingListLine(self, quiet=quiet): - """ - Checks that editing a Packing List Line still creates a correct - Invoice - """ - if not quiet: - self.logMessage('Packing List Line Edit') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepEditPackingListLine - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepTic - stepCheckInvoiceBuilding - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """) - sequence_list.play(self, quiet=quiet) - - def test_06_InvoiceDeletePackingListLine(self, quiet=quiet): - """ - Checks that deleting a Packing List Line still creates a correct - Invoice - """ - if not quiet: - self.logMessage('Packing List Line Delete') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_TWO_LINES_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepDeletePackingListLine - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepTic - stepCheckInvoiceBuilding - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """) - sequence_list.play(self, quiet=quiet) - - def test_07_InvoiceAddPackingListLine(self, quiet=quiet): - """ - Checks that adding a Packing List Line still creates a correct - Invoice - """ - if not quiet: - self.logMessage('Packing List Line Add') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_DEFAULT_SEQUENCE, - self.PACKING_LIST_TWO_LINES_DEFAULT_SEQUENCE) : - sequence_list.addSequenceString( - base_sequence + - """ - stepAddPackingListLine - stepSetContainerFullQuantity - stepTic - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepTic - stepCheckInvoiceBuilding - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """) - sequence_list.play(self, quiet=quiet) - - def test_08_InvoiceDecreaseQuantity(self, quiet=quiet): - """ - Change the quantity of a Invoice Line, - check that the invoice is divergent, - then split and defer, and check everything is solved - """ - if not quiet: - self.logMessage('Invoice Decrease Quantity') - sequence = self.PACKING_LIST_DEFAULT_SEQUENCE + \ - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepCheckInvoiceTransactionRule - stepTic - stepCheckInvoiceBuilding - - stepDecreaseInvoiceLineQuantity - stepCheckInvoiceIsDivergent - stepCheckInvoiceIsCalculating - stepTic - stepCheckInvoiceIsDiverged - stepSplitAndDeferInvoice - stepTic - - stepCheckInvoiceIsNotDivergent - stepCheckInvoiceIsSolved - stepCheckInvoiceSplitted - - stepCheckPackingListIsNotDivergent - stepCheckPackingListIsSolved - stepCheckInvoiceTransactionRule - - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """ - self.playSequence(sequence, quiet=quiet) - - def test_09_InvoiceChangeStartDateFail(self, quiet=quiet): - """ - Change the start_date of a Invoice Line, - check that the invoice is divergent, - then accept decision, and check Packing list is divergent - """ - if not quiet: - self.logMessage('Invoice Change Sart Date') - sequence = self.PACKING_LIST_DEFAULT_SEQUENCE + \ - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepCheckInvoiceTransactionRule - stepTic - stepCheckInvoiceBuilding - - stepChangeInvoiceStartDate - stepCheckInvoiceIsDivergent - stepCheckInvoiceIsCalculating - stepTic - stepCheckInvoiceIsDiverged - stepUnifyStartDateWithDecisionInvoice - stepTic - - stepCheckInvoiceNotSplitted - stepCheckInvoiceIsNotDivergent - stepCheckInvoiceIsSolved - - stepCheckPackingListIsDivergent - """ - self.playSequence(sequence, quiet=quiet) - - def test_09b_InvoiceChangeStartDateSucceed(self, quiet=quiet): - """ - Change the start_date of a Invoice Line, - check that the invoice is divergent, - deliver the Packing List to make sure it's frozen, - then accept decision, and check everything is solved - """ - if not quiet: - self.logMessage('Invoice Change Sart Date') - sequence = self.PACKING_LIST_DEFAULT_SEQUENCE + \ - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepCheckInvoiceTransactionRule - stepTic - stepCheckInvoiceBuilding - stepStopPackingList - stepTic - stepDeliverPackingList - stepTic - - stepChangeInvoiceStartDate - stepCheckInvoiceIsDivergent - stepCheckInvoiceIsCalculating - stepTic - stepCheckInvoiceIsDiverged - stepUnifyStartDateWithDecisionInvoice - stepTic - - stepCheckInvoiceNotSplitted - stepCheckInvoiceIsNotDivergent - stepCheckInvoiceIsSolved - - stepCheckPackingListIsNotDivergent - stepCheckPackingListIsSolved - stepCheckInvoiceTransactionRule - - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """ - self.playSequence(sequence, quiet=quiet) - - def test_10_AcceptDecisionOnPackingList(self, quiet=quiet): - """ - - Increase or Decrease the quantity of a Packing List line - - Accept Decision on Packing List - - Packing List must not be divergent and use new quantity - - Invoice must not be divergent and use new quantity - """ - if not quiet: - self.logMessage('InvoiceAcceptDecisionOnPackingList') - end_sequence = \ - """ - stepSetContainerFullQuantity - stepCheckPackingListIsCalculating - stepTic - stepCheckPackingListIsDiverged - stepAcceptDecisionQuantity - stepTic - stepCheckPackingListIsSolved - stepCheckPackingListNotSplitted - - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepCheckInvoiceTransactionRule - stepTic - stepCheckInvoiceBuilding - - stepStopPackingList - stepTic - stepDeliverPackingList - stepTic - stepCheckPackingListIsNotDivergent - stepCheckPackingListIsSolved - stepCheckInvoiceTransactionRule - - stepStartInvoice - stepTic - stepStopInvoice - stepTic - stepDeliverInvoice - stepTic - stepCheckInvoiceNotSplitted - stepCheckInvoiceIsNotDivergent - stepCheckInvoiceIsSolved - - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """ - - mid_sequence_list = [""" - stepCheckInvoicingRule - stepDecreasePackingListLineQuantity - """, """ - stepCheckInvoicingRule - stepIncreasePackingListLineQuantity - """] - - sequence_list = SequenceList() - for seq in mid_sequence_list: - sequence = self.PACKING_LIST_DEFAULT_SEQUENCE + \ - seq + end_sequence - sequence_list.addSequenceString(sequence) - sequence_list.play(self, quiet=quiet) - - def stepAddInvoiceLinesManyTransactions(self, sequence=None, sequence_list=[]): - """ - add some invoice and accounting lines to the invoice - """ - invoice = sequence.get('invoice') - invoice_line = invoice.newContent(portal_type='Invoice Line') - transaction_line_1 = invoice.newContent(portal_type='Sale Invoice Transaction Line') - transaction_line_2 = invoice.newContent(portal_type='Sale Invoice Transaction Line') - self.tic() - invoice_line.edit(resource_value=sequence.get('resource'), quantity=3, - price=555) - transaction_line_1.edit(id ='receivable', source='account_module/customer', - destination='account_module/supplier', quantity=-1665) - transaction_line_2.edit( - id='income', source='account_module/sale', - destination='account_module/purchase', quantity=1665) - - - def test_16a_ManuallyAddedMovementsManyTransactions(self, quiet=quiet): - """ - Checks that adding invoice lines and accounting lines to one invoice - generates correct simulation - - In this case checks what is happening, where movements are added in - one transaction and edited in another - """ - if not quiet: - self.logMessage('Invoice with Manually Added Movements in separate transactions') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepTic - stepCheckInvoiceBuilding - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - stepAddInvoiceLinesManyTransactions - stepTic - stepCheckInvoiceIsSolved - stepStartInvoice - stepTic - stepCheckSimulationTrees - """) - sequence_list.play(self, quiet=quiet) - - - def test_11_AcceptDecisionOnPackingListAndInvoice(self, quiet=quiet): - """ - - Increase or Decrease the quantity of a Packing List line - - Accept Decision on Packing List - - Packing List must not be divergent and use new quantity - - Put old quantity on Invoice - - Accept Decision on Invoice - - Packing List must not be divergent and use new quantity - - Invoice must not be divergent and use old quantity - """ - if not quiet: - self.logMessage('InvoiceAcceptDecisionOnPackingListAndInvoice') - mid_sequence = \ - """ - stepSetContainerFullQuantity - stepCheckPackingListIsCalculating - stepTic - stepCheckPackingListIsDiverged - stepAcceptDecisionQuantity - stepTic - stepCheckPackingListIsSolved - stepCheckPackingListNotSplitted - - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepCheckInvoiceTransactionRule - stepTic - stepCheckInvoiceBuilding - - stepStopPackingList - stepTic - stepDeliverPackingList - stepTic - stepCheckPackingListIsNotDivergent - stepCheckPackingListIsSolved - stepCheckInvoiceTransactionRule - """ - end_sequence = \ - """ - stepCheckInvoiceIsDiverged - stepAcceptDecisionQuantityInvoice - stepTic - stepCheckInvoiceIsNotDivergent - stepCheckInvoiceIsSolved - stepStartInvoice - stepTic - stepStopInvoice - stepTic - stepDeliverInvoice - stepTic - stepCheckPackingListIsNotDivergent - stepCheckPackingListIsSolved - stepCheckInvoiceTransactionRule - stepCheckInvoiceNotSplitted - stepCheckInvoiceIsNotDivergent - stepCheckInvoiceIsSolved - - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """ - - mid_sequence_list = [(""" - stepCheckInvoicingRule - stepDecreasePackingListLineQuantity - """, """ - stepIncreaseInvoiceLineQuantity - stepTic - """), (""" - stepCheckInvoicingRule - stepIncreasePackingListLineQuantity - """, """ - stepDecreaseInvoiceLineQuantity - stepTic - """)] - - sequence_list = SequenceList() - for seq1, seq2 in mid_sequence_list: - sequence = self.PACKING_LIST_DEFAULT_SEQUENCE + \ - seq1 + mid_sequence + seq2 + end_sequence - sequence_list.addSequenceString(sequence) - sequence_list.play(self, quiet=quiet) - - def test_12_SplitPackingListAndAcceptInvoice(self, quiet=quiet): - """ - - Decrease the quantity of a Packing List line - - Split and Defer on Packing List - - Packing List must not be divergent and use new quantity - - splitted Packing List must not be divergent and use old - new quantity - - - Put old quantity on Invoice1 - - Accept Decision on Invoice1 - - Packing List must not be divergent and use new quantity - - splitted Packing List must not be divergent and use old - new quantity - - Invoice1 must not be divergent and use old quantity - - - set Invoice2 quantity to 0 - - Accept Decision on Invoice2 - - Packing List must not be divergent and use new quantity - - splitted Packing List must not be divergent and use old - new quantity - - Invoice1 must not be divergent and use old quantity - - Invoice2 must not be divergent and use 0 as quantity - """ - if not quiet: - self.logMessage('InvoiceSplitPackingListAndAcceptInvoice') - sequence = self.PACKING_LIST_DEFAULT_SEQUENCE + \ - """ - stepCheckInvoicingRule - stepDecreasePackingListLineQuantity - stepSetContainerFullQuantity - stepCheckPackingListIsCalculating - stepTic - stepCheckPackingListIsDiverged - stepSplitAndDeferPackingList - stepTic - stepCheckPackingListIsSolved - stepCheckPackingListSplitted - - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepCheckInvoiceTransactionRule - stepTic - stepCheckInvoiceBuilding - stepStopPackingList - stepTic - stepDeliverPackingList - stepTic - stepCheckPackingListIsSolved - stepCheckPackingListSplitted - - stepIncreaseInvoiceLineQuantity - stepCheckInvoiceIsCalculating - stepTic - stepCheckInvoiceIsDiverged - stepAcceptDecisionQuantityInvoice - stepTic - stepStartInvoice - stepTic - stepStopInvoice - stepTic - stepDeliverInvoice - stepTic - stepCheckInvoiceIsSolved - stepCheckInvoiceNotSplitted - stepCheckPackingListIsNotDivergent - stepCheckPackingListIsSolved - stepCheckInvoiceTransactionRule - - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - - stepSwitchPackingLists - - stepAddPackingListContainer - stepSetContainerFullQuantity - stepTic - stepCheckPackingListIsSolved - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepCheckInvoiceTransactionRule - stepTic - stepCheckInvoiceBuilding - stepStopPackingList - stepTic - stepDeliverPackingList - stepTic - stepCheckPackingListIsSolved - - stepSetInvoiceLineQuantityToZero - stepCheckInvoiceIsCalculating - stepTic - stepCheckInvoiceIsDiverged - stepAcceptDecisionQuantityInvoice - stepTic - stepStartInvoice - stepTic - stepStopInvoice - stepTic - stepDeliverInvoice - stepTic - stepCheckInvoiceIsSolved - stepCheckInvoiceNotSplitted - stepCheckPackingListIsNotDivergent - stepCheckPackingListIsSolved - stepCheckInvoiceTransactionRule - - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """ - self.playSequence(sequence, quiet=quiet) - - def test_13_SplitAndDeferInvoice(self, quiet=quiet): - """ - - Accept Order, Accept Packing List - - Decrease quantity on Invoice - - Split and defer Invoice - - Accept Invoice - - Accept splitted Invoice - - Packing List must not be divergent and use old quantity - - Invoice must not be divergent and use new quantity - - splitted Invoice must not be divergent and use old - new quantity - """ - if not quiet: - self.logMessage('InvoiceSplitAndDeferInvoice') - sequence = self.PACKING_LIST_DEFAULT_SEQUENCE + \ - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepCheckInvoiceTransactionRule - stepTic - stepCheckInvoiceBuilding - stepStopPackingList - stepTic - stepDeliverPackingList - stepTic - stepCheckPackingListIsSolved - stepCheckPackingListNotSplitted - - stepDecreaseInvoiceLineQuantity - stepCheckInvoiceIsDivergent - stepCheckInvoiceIsCalculating - stepTic - stepCheckInvoiceIsDiverged - stepSplitAndDeferInvoice - stepTic - stepStartInvoice - stepTic - stepStopInvoice - stepTic - stepDeliverInvoice - stepTic - stepCheckInvoiceIsNotDivergent - stepCheckInvoiceIsSolved - stepCheckInvoiceSplitted - - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - - stepCheckPackingListIsNotDivergent - stepCheckPackingListIsSolved - stepCheckInvoiceTransactionRule - - stepSwitchInvoices - - stepStartInvoice - stepTic - stepStopInvoice - stepTic - stepDeliverInvoice - stepTic - stepCheckInvoiceIsNotDivergent - stepCheckInvoiceIsSolved - - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """ - self.playSequence(sequence, quiet=quiet) - - def test_14_AcceptDecisionOnInvoice(self, quiet=quiet): - """ - - Accept Order, Accept Packing List - - Increase or Decrease quantity on Invoice - - Accept Decision on Invoice - - Accept Invoice - - Packing List must not be divergent and use old quantity - - Invoice must not be divergent and use new quantity - """ - if not quiet: - self.logMessage('InvoiceAcceptDecisionOnInvoice') - mid_sequence = \ - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepCheckInvoiceTransactionRule - stepTic - stepCheckInvoiceBuilding - stepStopPackingList - stepTic - stepDeliverPackingList - stepTic - stepCheckPackingListIsSolved - stepCheckPackingListNotSplitted - """ - end_sequence = \ - """ - stepCheckInvoiceIsDivergent - stepCheckInvoiceIsCalculating - stepTic - stepCheckInvoiceIsDiverged - stepAcceptDecisionQuantityInvoice - stepTic - stepStartInvoice - stepTic - stepStopInvoice - stepTic - stepDeliverInvoice - stepTic - - stepCheckPackingListIsNotDivergent - stepCheckPackingListIsSolved - stepCheckInvoiceTransactionRule - - stepCheckInvoiceNotSplitted - stepCheckInvoiceIsNotDivergent - stepCheckInvoiceIsSolved - - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """ - - mid_sequence_list = [""" - stepDecreaseInvoiceLineQuantity - """, """ - stepIncreaseInvoiceLineQuantity - """] - - sequence_list = SequenceList() - for seq in mid_sequence_list: - sequence = self.PACKING_LIST_DEFAULT_SEQUENCE + \ - mid_sequence + seq + end_sequence - sequence_list.addSequenceString(sequence) - sequence_list.play(self, quiet=quiet) - - - def test_Reference(self): - # A reference is set automatically on Sale Invoice Transaction - supplier = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Supplier') - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client') - currency = self.portal.currency_module.newContent( - portal_type='Currency') - invoice = self.portal.accounting_module.newContent( - portal_type='Sale Invoice Transaction', - start_date=DateTime(), - price_currency_value=currency, - resource_value=currency, - source_section_value=supplier, - destination_section_value=client) - self.portal.portal_workflow.doActionFor(invoice, 'confirm_action') - - # We could generate a better reference here. - self.assertEquals('1', invoice.getReference()) - - def test_16_ManuallyAddedMovements(self, quiet=quiet): - """ - Checks that adding invoice lines and accounting lines to one invoice - generates correct simulation - """ - if not quiet: - self.logMessage('Invoice with Manually Added Movements') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepTic - stepCheckInvoiceBuilding - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - stepAddInvoiceLines - stepTic - stepStartInvoice - stepTic - stepCheckSimulationTrees - """) - sequence_list.play(self, quiet=quiet) - - def test_17_ManuallyAddedWrongMovements(self, quiet=quiet): - """ - Checks that adding invoice lines and accounting lines to one invoice - generates correct simulation, even when adding very wrong movements - """ - if not quiet: - self.logMessage('Invoice with Manually Added Movements') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepTic - stepCheckInvoiceBuilding - stepAddWrongInvoiceLines - stepTic - stepStartInvoice - stepCheckStartInvoiceFail - stepCheckSimulationTrees - """) - sequence_list.play(self, quiet=quiet) - - def test_18_compareInvoiceAndPackingList(self, quiet=quiet): - """ - Checks that a Simple Invoice is created from a Packing List - """ - if not quiet: - self.logMessage('Simple Invoice') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepTic - stepCheckInvoiceBuilding - stepCheckInvoicesConsistency - stepCheckPackingListInvoice - """) - sequence_list.play(self, quiet=quiet) - - def _adoptDivergenceOnPackingList(self, packing_list, divergence_list): - builder_list = packing_list.getBuilderList() - for builder in builder_list: - builder.solveDivergence(packing_list.getRelativeUrl(), - divergence_to_adopt_list=divergence_list) - - def test_accept_quantity_divergence_on_invoice_with_started_packing_list( - self, quiet=quiet): - # only applies to sale invoice, because purchase invoices are not built yet - # when the packing list is in started state - sequence_list = SequenceList() - sequence = sequence_list.addSequenceString(self.PACKING_LIST_DEFAULT_SEQUENCE) - sequence_list.play(self, quiet=quiet) - - packing_list = sequence.get('packing_list') - packing_list_line = packing_list.getMovementList()[0] - previous_quantity = packing_list_line.getQuantity() - - packing_list.setReady() - packing_list.start() - self.assertEquals('started', packing_list.getSimulationState()) - self.tic() - - invoice = packing_list.getCausalityRelatedValue( - portal_type=self.invoice_portal_type) - self.assertNotEquals(invoice, None) - invoice_line_list = invoice.getMovementList() - self.assertEquals(1, len(invoice_line_list)) - invoice_line = invoice_line_list[0] - - new_quantity = invoice_line.getQuantity() * 2 - invoice_line.setQuantity(new_quantity) - - self.tic() - - self.assertTrue(invoice.isDivergent()) - divergence_list = invoice.getDivergenceList() - self.assertEquals(1, len(divergence_list)) - - divergence = divergence_list[0] - self.assertEquals('quantity', divergence.tested_property) - - # accept decision - self._acceptDivergenceOnInvoice(invoice, divergence_list) - - self.tic() - self.assertEquals('solved', invoice.getCausalityState()) - - self.assertEquals([], invoice.getDivergenceList()) - self.assertEquals(new_quantity, invoice_line.getQuantity()) - self.assertEquals(new_quantity, - invoice_line.getDeliveryRelatedValue(portal_type='Simulation Movement' - ).getQuantity()) - - # the packing list is divergent, because it is not frozen - self.assertEquals('diverged', packing_list.getCausalityState()) - - divergence_list = packing_list.getDivergenceList() - self.assertEquals(1, len(divergence_list)) - - divergence = divergence_list[0] - self.assertEquals('quantity', divergence.tested_property) - - # if we adopt prevision on this packing list, both invoice and packing list - # will be solved - self._adoptDivergenceOnPackingList(packing_list, divergence_list) - - self.tic() - self.assertEquals('solved', packing_list.getCausalityState()) - self.assertEquals('solved', invoice.getCausalityState()) - - -class TestPurchaseInvoice(TestInvoice, ERP5TypeTestCase): - """Tests for purchase invoice. - """ - resource_portal_type = 'Product' - order_portal_type = 'Purchase Order' - order_line_portal_type = 'Purchase Order Line' - order_cell_portal_type = 'Purchase Order Cell' - packing_list_portal_type = 'Purchase Packing List' - packing_list_line_portal_type = 'Purchase Packing List Line' - packing_list_cell_portal_type = 'Purchase Packing List Cell' - invoice_portal_type = 'Purchase Invoice Transaction' - invoice_transaction_line_portal_type = 'Purchase Invoice Transaction Line' - invoice_line_portal_type = 'Invoice Line' - invoice_cell_portal_type = 'Invoice Cell' - - # default sequence for one line of not varianted resource. - PACKING_LIST_DEFAULT_SEQUENCE = """ - stepCreateEntities - stepCreateCurrency - stepCreateSaleInvoiceTransactionRule - stepCreateOrder - stepSetOrderProfile - stepSetOrderPriceCurrency - stepCreateNotVariatedResource - stepTic - stepCreateOrderLine - stepSetOrderLineResource - stepSetOrderLineDefaultValues - stepOrderOrder - stepTic - stepCheckDeliveryBuilding - stepConfirmOrder - stepTic - stepCheckOrderRule - stepCheckOrderSimulation - stepCheckDeliveryBuilding - stepTic - """ - -import unittest -def test_suite(): - suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(TestSaleInvoice)) - suite.addTest(unittest.makeSuite(TestPurchaseInvoice)) - return suite diff --git a/product/ERP5Legacy/tests/testLegacyMRP.py b/product/ERP5Legacy/tests/testLegacyMRP.py deleted file mode 100644 index afa2246827..0000000000 --- a/product/ERP5Legacy/tests/testLegacyMRP.py +++ /dev/null @@ -1,47 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved. -# Julien Muchembled <jm@nexedi.com> -# -# 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. -# -############################################################################## - -import sys -from Products.ERP5Legacy.tests import testLegacyBPMCore -sys.modules['Products.ERP5.tests.testBPMCore'] = testLegacyBPMCore -from Products.ERP5.tests.testMRP import * - -from Products.ERP5Legacy.tests import Legacy_getBusinessTemplateList -Legacy_getBusinessTemplateList(TestMRPMixin) - -def createBusinessLink(self, business_process, **kw): - for x in 'predecessor', 'successor': - state_id = kw.pop(x).replace('/', '-') - try: - state = business_process[state_id] - except KeyError: - state = business_process.newContent(state_id, 'Business State') - kw[x + '_value'] = state - return business_process.newContent(portal_type='Business Path', **kw) - -TestMRPMixin.createBusinessLink = createBusinessLink diff --git a/product/ERP5Legacy/tests/testLegacyOrder.py b/product/ERP5Legacy/tests/testLegacyOrder.py deleted file mode 100644 index 83e92a4237..0000000000 --- a/product/ERP5Legacy/tests/testLegacyOrder.py +++ /dev/null @@ -1,2800 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2004-2008 Nexedi SA and Contributors. All Rights Reserved. -# Sebastien Robin <seb@nexedi.com> -# Romain Courteaud <romain@nexedi.com> -# -# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import unittest -import os - -from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase -from Products.ERP5Type.tests.utils import FileUpload -from AccessControl.SecurityManagement import newSecurityManager -from DateTime import DateTime -from zLOG import LOG -from Products.ERP5Type.tests.Sequence import SequenceList -from Products.CMFCore.utils import getToolByName - -class TestOrderMixin(object): - - default_quantity = 99 - default_price = 555 - default_negative_price = -5550 - resource_portal_type = 'Apparel Model' - order_portal_type = 'Sale Order' - order_line_portal_type = 'Sale Order Line' - order_cell_portal_type = 'Sale Order Cell' - applied_rule_portal_type = 'Applied Rule' - datetime = DateTime() - packing_list_portal_type = 'Sale Packing List' - packing_list_line_portal_type = 'Sale Packing List Line' - packing_list_cell_portal_type = 'Sale Packing List Cell' - delivery_builder_id = 'sale_packing_list_builder' - size_list = ['Baby','Child/32','Child/34','Man','Woman'] - - def getBusinessTemplateList(self): - """ - """ - return ('erp5_core_proxy_field_legacy', - 'erp5_base', 'erp5_simulation', 'erp5_simulation_legacy', - 'erp5_pdm', 'erp5_trade', 'erp5_apparel', 'erp5_project', - 'erp5_trade_simulation_legacy', 'erp5_project_simulation_legacy', - 'erp5_administration') - - def login(self, quiet=0, run=1): - uf = self.getPortal().acl_users - uf._doAddUser('rc', '', ['Manager', 'Member', 'Assignee'], []) - user = uf.getUserById('rc').__of__(uf) - newSecurityManager(None, user) - - def setUpPreferences(self): - #create apparel variation preferences - portal_preferences = self.getPreferenceTool() - preference = getattr(portal_preferences, 'test_site_preference', None) - if preference is None: - preference = portal_preferences.newContent(portal_type='System Preference', - title='Default Site Preference', - id='test_site_preference') - if preference.getPreferenceState() == 'disabled': - preference.enable() - - preference.setPreferredApparelModelVariationBaseCategoryList(('size', 'industrial_phase',)) - preference.setPreferredApparelClothVariationBaseCategoryList(('size',)) - preference.setPreferredApparelComponentVariationBaseCategoryList(('variation',)) - preference.setPreferredApparelModelIndividualVariationBaseCategoryList(('colour', 'morphology')) - - if preference.getPreferenceState() == 'disabled': - preference.enable() - self.tic() - - def afterSetUp(self, quiet=1, run=1): - self.login() - portal = self.getPortal() - self.category_tool = self.getCategoryTool() - portal_catalog = self.getCatalogTool() - #portal_catalog.manage_catalogClear() - self.createCategories() - self.validateRules() - self.setUpPreferences() - - def validateRules(self): - """ - try to validate all rules in rule_tool. - """ - rule_tool = self.getRuleTool() - for rule in rule_tool.contentValues( - portal_type=rule_tool.getPortalRuleTypeList()): - if rule.getValidationState() != 'validated': - rule.validate() - # do not use new 'XXX Simulation Rule' in legacy tests. - if 'Simulation Rule' in rule.getPortalType(): - rule.invalidate() - - def createCurrency(self): - currency_module = self.getPortal().currency_module - if currency_module._getOb('euro', None) is None: - currency_module.newContent(id='euro', reference='EUR', title='EURO') - - def createCategories(self): - """ - Light install create only base categories, so we create - some categories for testing them - """ - category_tool = self.portal.portal_categories - size_category_list = ['Baby', 'Child', 'Man', 'Woman'] - if len(category_tool.size.contentValues()) == 0 : - for category_id in size_category_list: - o = category_tool.size.newContent(portal_type='Category', - id=category_id) - for category_id in ['32', '34']: - o = category_tool.size.Child.newContent(portal_type='Category', - id=category_id) - - colour_category_list = ['blue', 'green'] - if len(category_tool.colour.contentValues()) == 0 : - for category_id in colour_category_list: - o = category_tool.colour.newContent(portal_type='Category', - id=category_id) - - industrial_phase_category_list = ['phase1', 'phase2', - 'supply_phase1', 'supply_phase2'] - if len(category_tool.industrial_phase.contentValues()) == 0: - for category_id in industrial_phase_category_list: - o = category_tool.industrial_phase.newContent( - portal_type='Category', - id=category_id) - - product_line_category_list = ['apparel', 'cancel'] - if len(category_tool.product_line.contentValues()) == 0: - for category_id in product_line_category_list: - o = category_tool.product_line.newContent( - portal_type='Category', - id=category_id) - - def stepCreateNotVariatedResource(self,sequence=None, sequence_list=None, \ - **kw): - """ - Create a resource with no variation - """ - portal = self.getPortal() - resource_module = portal.getDefaultModule(self.resource_portal_type) - resource = resource_module.newContent(portal_type=self.resource_portal_type) - resource.edit( - title = "NotVariatedResource%s" % resource.getId(), - industrial_phase_list=["phase1", "phase2"], - product_line = 'apparel' - ) - - sequence.edit( resource = resource ) - resource_list = sequence.get('resource_list',default=[]) - resource_list.append(resource) - sequence.edit( resource_list = resource_list ) - - def stepCreateNotVariatedResourceForNegativePriceOrderLine(self, sequence=None, sequence_list=None, **kw): - """ - Create a resource with no variation for negative price order line. - """ - portal = self.getPortal() - resource_module = portal.getDefaultModule(self.resource_portal_type) - resource = resource_module.newContent(portal_type=self.resource_portal_type) - resource.edit( - title = "NotVariatedResourceForNegativePriceOrderLine%s" % resource.getId(), - product_line = 'cancel' - ) - - sequence.edit( resource = resource ) - resource_list = sequence.get('resource_list',default=[]) - resource_list.append(resource) - sequence.edit( resource_list = resource_list ) - - def stepCreateVariatedResource(self, sequence=None, sequence_list=None, \ - **kw): - """ - Create a resource with variation - """ - portal = self.getPortal() - resource_module = portal.getDefaultModule(self.resource_portal_type) - resource = resource_module.newContent(portal_type=self.resource_portal_type) - resource.edit( - title = "VariatedResource%s" % resource.getId(), - industrial_phase_list=["phase1", "phase2"], - product_line = 'apparel' - ) - resource.setSizeList(self.size_list) - # Add colour variation - colour_variation_count = 3 - for i in range(colour_variation_count): - variation_portal_type = 'Apparel Model Colour Variation' - variation = resource.newContent(portal_type = variation_portal_type) - variation.edit( - title = 'ColourVariation%s' % str(i) - ) - # Add morphology variation - morphology_variation_count = 2 - for i in range(morphology_variation_count) : - variation_portal_type = 'Apparel Model Morphology Variation' - variation = resource.newContent(portal_type=variation_portal_type) - variation.edit( - title = 'MorphologyVariation%s' % str(i) - ) - - sequence.edit( resource = resource ) - resource_list = sequence.get('resource_list',default=[]) - resource_list.append(resource) - sequence.edit( resource_list = resource_list ) - - def stepCreateOrganisation(self, sequence=None, sequence_list=None, - title=None, **kw): - """ - Create a empty organisation - """ - organisation = sequence.get('organisation') - organisation_portal_type = 'Organisation' - portal = self.getPortal() - organisation_module = portal.getDefaultModule( \ - portal_type=organisation_portal_type) - organisation = organisation_module.newContent( \ - portal_type=organisation_portal_type) - bank_account = organisation.newContent(id='bank', - portal_type='Bank Account', - title='bank%s' % organisation.getId()) - if title is None: - organisation.edit(title='organisation%s' % organisation.getId()) - sequence.edit(organisation=organisation) - else: - organisation.edit(title=title) - sequence.edit(**{title:organisation}) - - def stepCreateProject(self, sequence=None, sequence_list=None, - title=None, **kw): - """ - Create a project - """ - project = sequence.get('project') - project_portal_type = 'Project' - portal = self.getPortal() - project_module = portal.getDefaultModule( \ - portal_type=project_portal_type) - project = project_module.newContent( \ - portal_type=project_portal_type) - if title is None: - project.edit(title='project%s' % project.getId()) - sequence.edit(project=project) - else: - project.edit(title=title) - sequence.edit(**{title:project}) - - def stepCreateOrder(self,sequence=None, sequence_list=None, **kw): - """ - Create a empty order - """ - organisation = sequence.get('organisation') - project = sequence.get('project') -# person = sequence.get('person') - portal = self.getPortal() - order_module = portal.getDefaultModule(portal_type=self.order_portal_type) - order = order_module.newContent(portal_type=self.order_portal_type) - order.edit( - title = "Order%s" % order.getId(), - start_date = self.datetime + 10, - stop_date = self.datetime + 20, - ) - if organisation is not None: - order.edit(source_value=organisation, - source_section_value=organisation, - destination_value=organisation, - destination_section_value=organisation, - # Added for test Packing List Copy - source_decision_value=organisation, - destination_decision_value=organisation, - source_administration_value=organisation, - destination_administration_value=organisation, - ) - if project is not None: - order.edit(source_project_value=project, - destination_project_value=project, - ) - sequence.edit( order = order ) - - def stepCheckOrder(self, sequence=None, sequence_list=None, **kw): - """ - Check if order was well created - """ - organisation = sequence.get('organisation') - project = sequence.get('project') - order = sequence.get('order') - self.assertEquals(self.datetime+10, order.getStartDate()) - self.assertEquals(self.datetime+20, order.getStopDate()) - self.assertEquals(organisation, order.getSourceValue()) - self.assertEquals(organisation, order.getDestinationValue()) - self.assertEquals(organisation, order.getSourceSectionValue()) - self.assertEquals(organisation, order.getDestinationSectionValue()) - self.assertEquals(project, order.getSourceProjectValue()) - self.assertEquals(project, order.getDestinationProjectValue()) - - - def stepCreateOrderLine(self,sequence=None, sequence_list=None, **kw): - """ - Create a empty order line - """ - order = sequence.get('order') - order_line = order.newContent(portal_type=self.order_line_portal_type) - order_line.edit( - title = "Order Line" - ) - sequence.edit(order_line=order_line) - - def stepCheckOrderLineEmptyMatrix(self, sequence=None, \ - sequence_list=None, **kw): - """ - Check if the matrix of the current order line is empty. - """ - order_line = sequence.get('order_line') - base_id = 'movement' -# vcl = list(order_line.getVariationCategoryList()) -# cell_key_list = order_line.getCellKeyList(base_id=base_id) - cell_list = order_line.objectValues(portal_type=self.order_cell_portal_type) -# self.failIfDifferentSet( vcl , [] ) -# self.failIfDifferentSet( cell_key_list , [] ) - self.failIfDifferentSet( cell_list , [] ) - - def stepSetOrderLineResource(self, sequence=None, sequence_list=None, **kw): - """ - Set order line resource with the current resource - """ - order_line = sequence.get('order_line') - resource = sequence.get('resource') - order_line.setResourceValue(resource) - - def stepDeleteOrderLineResource(self, sequence=None, \ - sequence_list=None, **kw): - """ - Set order line resource to None - """ - order_line = sequence.get('order_line') - order_line.setResource(None) - - def stepEmptyOrderLineMatrix(self,sequence=None, sequence_list=None, **kw): - """ - Delete the current order line matrix - """ - order_line = sequence.get('order_line') - cell_list = order_line.objectValues(portal_type=self.order_cell_portal_type) - order_line.deleteContent( map(lambda x: x.getId(), cell_list) ) - - def stepSetOrderLineEmptyVCL(self,sequence=None, sequence_list=None, **kw): - """ - Delete the current order line's variation category list - """ - order_line = sequence.get('order_line') - resource = sequence.get('resource') - order_line.setVariationCategoryList([]) - - def splitList(self, list): - """ - Split a list and return tuple with the 2 half - """ - middle = len(list)/2 + len(list)%2 - return ( list[:middle] , list[middle:] ) - - def stepSetOrderLineHalfVCL(self,sequence=None, sequence_list=None, **kw): - """ - Delete the current order line variation category list - """ - order_line = sequence.get('order_line') - resource = sequence.get('resource') - order_line_vcl = [] - resource_vbcl = resource.getVariationBaseCategoryList() - for vbc in resource_vbcl: - LOG('stepSetOrderLineHalfVCL', 0, 'vbc: %s' % str(vbc)) - resource_vcl = list(resource.getVariationCategoryList( - base_category_list=[vbc], - omit_individual_variation=0)) - LOG('stepSetOrderLineHalfVCL', 0, - 'resource_vcl: %s' % str(resource_vcl)) - resource_vcl.sort() - LOG('stepSetOrderLineHalfVCL', 0, 'split resource_vcl: %s' % - str(self.splitList(resource_vcl)[0])) - order_line_vcl.extend(self.splitList(resource_vcl)[0]) - order_line.setVariationCategoryList(order_line_vcl) - - def stepSetOrderLineFullVCL(self,sequence=None, sequence_list=None, **kw): - """ - Complete the order line's variation category list - """ - order_line = sequence.get('order_line') - resource = sequence.get('resource') - resource_vcl = list(resource.getVariationCategoryList( - omit_individual_variation=0)) - resource_vcl.sort() - order_line.setVariationCategoryList(resource_vcl) - - def stepCheckOrderLineRange(self,sequence=None, sequence_list=None, **kw): - """ - Check order line matrix range - """ - order_line = sequence.get('order_line') - base_id = 'movement' - vcl = order_line.getVariationCategoryList(omit_optional_variation=1) - cell_range = order_line.OrderLine_asCellRange(matrixbox=0) - - l = len(vcl) - s = sum(map(lambda x: len(x), cell_range)) - self.assertEquals(l,s) - cell_key_list = order_line.getCellKeyList(base_id=base_id) - if cell_range == []: - self.assertEquals(len(cell_key_list), 0) - else: - len_range = map(lambda x: len(x), cell_range) - self.assertEquals(len(cell_key_list), reduce(lambda x,y: x*y, len_range)) - - def stepCompleteOrderLineMatrix(self,sequence=None, sequence_list=None, \ - **kw): - """ - Complete the current order line matrix. - """ - order_line = sequence.get('order_line') - base_id = 'movement' - cell_key_list = list(order_line.getCellKeyList(base_id=base_id)) - cell_key_list.sort() - price = 100 - quantity = 200 - for cell_key in cell_key_list: - cell = order_line.newCell(base_id=base_id, \ - portal_type=self.order_cell_portal_type, *cell_key) - cell.edit(mapped_value_property_list=['price','quantity'], - price=price, quantity=quantity, - predicate_category_list=cell_key, - variation_category_list=cell_key) - price += 1 - quantity += 1 - - def stepCheckOrderLineCompleteMatrix(self, sequence=None, \ - sequence_list=None, **kw): - """ - Check if the matrix of the current order line is complete. - """ - order_line = sequence.get('order_line') - base_id = 'movement' - cell_key_list = list(order_line.getCellKeyList(base_id=base_id)) - cell_key_list.sort() - cell_list = order_line.objectValues(portal_type=self.order_cell_portal_type) - self.assertEquals(len(cell_list), len(cell_key_list)) - price = 100 - quantity = 200 - for cell_key in cell_key_list: - self.failUnless(order_line.hasCell(base_id=base_id, *cell_key)) - cell = order_line.getCell(base_id=base_id, *cell_key) - self.assertEquals(self.order_cell_portal_type, cell.getPortalType()) - # XXX How can I check the cell content ? -# self.assertEquals(price , cell.getProperty('price')) -# self.assertEquals(quantity, cell.getProperty('quantity')) -# self.failIfDifferentSet(cell.getMembershipCriterionCategoryList(), -# cell_key) - price += 1 - quantity += 1 - - def stepCheckOrderLineVRCL(self, sequence=None, sequence_list=None, **kw): - """ - Check if getVariationRangeCategoryList returns the good result. - """ - order_line = sequence.get('order_line') - resource = order_line.getResourceValue() - vrcl = order_line.getVariationRangeCategoryList() - if resource == None: - self.failIfDifferentSet([], list(vrcl)) - else: - resource_vcl = resource.getVariationCategoryList(omit_individual_variation=0) - self.failIfDifferentSet(resource_vcl, vrcl) - - def stepCheckOrderLineVRCIL(self, sequence=None, sequence_list=None, **kw): - """ - Check if getVariationRangeCategoryItemList returns the good result. - Does not test display... - Item are left display. - """ - order_line = sequence.get('order_line') - vrcl = order_line.getVariationRangeCategoryList() - vrcil = order_line.getVariationRangeCategoryItemList() - self.failIfDifferentSet(vrcl, map(lambda x: x[1], vrcil)) - - def stepCheckOrderLineVCIL(self, sequence=None, sequence_list=None, **kw): - """ - Check if getVariationCategoryItemList returns the good result. - Does not test display... - Item are left display. - """ - order_line = sequence.get('order_line') - vcl = order_line.getVariationCategoryList() - vcil = order_line.getVariationCategoryItemList() - LOG('stepCheckOrderLineVCIL', 0, 'vcl: %s\n' % str(vcl)) - LOG('stepCheckOrderLineVCIL', 0, 'vcil: %s\n' % str(vcil)) - self.failIfDifferentSet(vcl, map(lambda x: x[1], vcil)) - - def stepSetOrderLineDefaultValues(self, sequence=None, \ - sequence_list=None, **kw): - """ - Set the default price and quantity on the order line. - """ - order_line = sequence.get('order_line') - order_line.edit(quantity=self.default_quantity, - price=self.default_price) - - def stepSetOrderLineDefaultNegativePriceValue(self, sequence=None, \ - sequence_list=None, **kw): - """ - Set the default negative price and 1 to quantity on the order line. - """ - order_line = sequence.get('order_line') - order_line.edit(quantity=1, - price=self.default_negative_price) - - def stepCheckOrderLineDefaultValues(self, sequence=None, \ - sequence_list=None, **kw): - """ - Check the default price and quantity on the order line. - """ - order_line = sequence.get('order_line') - self.assertEquals(self.default_quantity, order_line.getQuantity()) - self.assertEquals(self.default_price, order_line.getPrice()) - - def stepCheckOrderLineTotalQuantity(self, sequence=None, \ - sequence_list=None, **kw): - """ - Check the method getTotalQuantity on a order line. - """ - - # order_line needs to be indexed for 'fast' calculation to work as expected - self.tic() - - order_line = sequence.get('order_line') - base_id = 'movement' - cell_key_list = order_line.getCellKeyList(base_id=base_id) - if list(cell_key_list) == []: - self.assertEquals(order_line.getQuantity(), \ - order_line.getTotalQuantity()) - else: - total_quantity = 0 - for cell_key in cell_key_list: - if order_line.hasCell(base_id = base_id, *cell_key): - cell = order_line.getCell(base_id = base_id, *cell_key) - total_quantity += cell.getProperty('quantity') - self.assertEquals(total_quantity, order_line.getTotalQuantity()) - self.assertEquals( order_line.getTotalQuantity(fast = 0), - order_line.getTotalQuantity(fast = 1) ) - self.assertNotEquals(order_line.getTotalQuantity(fast = 1),0) - - def stepCheckOrderLineTotalPrice(self, sequence=None, \ - sequence_list=None, **kw): - """ - Check the method getTotalPrice on a order line. - """ - - # order_line needs to be indexed for 'fast' calculation to work as expected - self.tic() - - order_line = sequence.get('order_line') - base_id = 'movement' - cell_key_list = order_line.getCellKeyList(base_id=base_id) - if list(cell_key_list) == []: - self.assertEquals(order_line.getProperty('price') * - order_line.getProperty('quantity'), - order_line.getTotalPrice()) - else: - total_price = 0 - for cell_key in cell_key_list: - if order_line.hasCell(base_id = base_id, *cell_key): - cell = order_line.getCell(base_id = base_id, *cell_key) - total_price += ( cell.getProperty('quantity') * - cell.getProperty('price')) - self.assertEquals(total_price, order_line.getTotalPrice()) - self.assertEquals( order_line.getTotalPrice(fast = 0), - order_line.getTotalPrice(fast = 1) ) - self.assertNotEquals(order_line.getTotalPrice(fast = 1),0) - - def stepCheckOrderLineTotalPriceAndQuantityFastParameter(self, sequence=None, \ - sequence_list=None, **kw): - """ - Check the method getTotalPrice on a order line. - - Here we will check that very carefully ther parameter fast - """ - portal_catalog = self.getCatalogTool() - total_price = 0 - total_quantity = 0 - order_line = sequence.get('order_line') - base_id = 'movement' - cell_key_list = order_line.getCellKeyList(base_id=base_id) - for cell_key in cell_key_list: - if order_line.hasCell(base_id = base_id, *cell_key): - cell = order_line.getCell(base_id = base_id, *cell_key) - total_price += ( cell.getProperty('quantity') * - cell.getProperty('price')) - total_quantity += (cell.getProperty('quantity')) - self.assertEquals(len(portal_catalog( - relative_url=order_line.getRelativeUrl())),0) - self.assertEquals(total_price, order_line.getTotalPrice(fast=0)) - self.assertEquals(total_quantity, order_line.getTotalQuantity(fast=0)) - self.assertEquals(0, order_line.getTotalPrice(fast=1)) - self.assertEquals(0, order_line.getTotalQuantity(fast=1)) - self.assertNotEquals(total_price, 0) - self.tic() - self.assertEquals(len(portal_catalog(relative_url= - order_line.getRelativeUrl())),1) - self.assertEquals(total_price, order_line.getTotalPrice(fast=1)) - self.assertEquals(total_price, order_line.getTotalPrice(fast=0)) - self.assertEquals(total_quantity, order_line.getTotalQuantity(fast=1)) - self.assertEquals(total_quantity, order_line.getTotalQuantity(fast=0)) - - def stepCheckOrderTotalQuantity(self, sequence=None, sequence_list=None, \ - **kw): - """ - Check the method getTotalQuantity on a order . - """ - - # order needs to be indexed for 'fast' calculation to work as expected - self.tic() - - order = sequence.get('order') - order_line_list = order.objectValues( \ - portal_type=self.order_line_portal_type) - order_line_list = map(lambda x: x.getObject(), order_line_list) - total_quantity = 0 - for order_line in order_line_list: - total_quantity += order_line.getTotalQuantity() - self.assertEquals(total_quantity, order.getTotalQuantity()) - self.assertEquals( order.getTotalQuantity(fast = 0), - order.getTotalQuantity(fast = 1) ) - - def stepCheckOrderTotalPrice(self, sequence=None, sequence_list=None, \ - **kw): - """ - Check the method getTotalPrice on a order . - """ - - # order needs to be indexed for 'fast' calculation to work as expected - self.tic() - - order = sequence.get('order') - order_line_list = order.objectValues( \ - portal_type=self.order_line_portal_type) - order_line_list = map(lambda x: x.getObject(), order_line_list) - total_price = 0 - for order_line in order_line_list: - total_price += order_line.getTotalPrice() - self.assertEquals(total_price, order.getTotalPrice()) - self.assertEquals( order.getTotalPrice(fast = 0), - order.getTotalPrice(fast = 1) ) - - def stepCheckOrderTotalPriceAndQuantityFastParameter(self, - sequence=None, sequence_list=None, **kw): - """ - Check the method getTotalPrice on a order . - - Here we will look carefully at the parameter fast - """ - portal_catalog = self.getCatalogTool() - - order = sequence.get('order') - order_line_list = order.objectValues( \ - portal_type=self.order_line_portal_type) - order_line_list = map(lambda x: x.getObject(), order_line_list) - total_price = 0 - for order_line in order_line_list: - total_price += order_line.getTotalPrice(fast=0) - self.assertEquals(0, len(portal_catalog(relative_url=order.getRelativeUrl()))) - self.assertEquals(total_price, order.getTotalPrice(fast=0)) - self.assertNotEquals(total_price, 0) - self.assertEquals(0, order.getTotalPrice(fast=1)) - self.tic() - self.assertEquals(1, len(portal_catalog(relative_url=order.getRelativeUrl()))) - self.assertEquals(total_price, order.getTotalPrice(fast=1)) - self.assertEquals(total_price, order.getTotalPrice(fast=0)) - - def stepCheckOrderInitialState(self, sequence=None, sequence_list=None, \ - **kw): - """ - Check if the first state of a order is draft. - """ - order = sequence.get('order') - self.assertEquals('draft', order.getSimulationState()) - - def stepCheckOrderLineState(self, sequence=None, sequence_list=None, \ - **kw): - """ - Check if the state of a order line is the same as parent order. - """ - order = sequence.get('order') - order_line = sequence.get('order_line') - self.assertEquals(order.getSimulationState(), order_line.getSimulationState()) - - def stepCheckOrderCellState(self, sequence=None, sequence_list=None, \ - **kw): - """ - Check if the state of a order line is the same as parent order. - """ - order = sequence.get('order') - order_line = sequence.get('order_line') - cell_list = order_line.objectValues(portal_type=self.order_cell_portal_type) - for cell in cell_list: - self.assertEquals(order.getSimulationState(), cell.getSimulationState()) - - def stepCheckOrderPlanned(self, sequence=None, sequence_list=None, **kw): - order = sequence.get('order') - self.assertEquals('planned', order.getSimulationState()) - - def checkAcquisition(self, object, acquired_object): - """ - Check if properties are well acquired - """ - # packing_list_movement, simulation_movement - - self.assertEquals(acquired_object.getStartDate(), object.getStartDate()) - self.assertEquals(acquired_object.getStopDate(), object.getStopDate()) - self.assertEquals(acquired_object.getSourceValue(), \ - object.getSourceValue()) - self.assertEquals(acquired_object.getDestinationValue(), \ - object.getDestinationValue()) - - - self.assertEquals(acquired_object.getSourceSectionValue(), \ - object.getSourceSectionValue()) - self.assertEquals(acquired_object.getDestinationSectionValue(), \ - object.getDestinationSectionValue()) - - def stepCheckOrderLineAcquisition(self, sequence=None, \ - sequence_list=None, **kw): - """ - Test if order line acquired some order properties - """ - order = sequence.get('order') - order_line = sequence.get('order_line') - self.checkAcquisition(order_line, order) - - def stepCheckOrderCellAcquisition(self, sequence=None, \ - sequence_list=None, **kw): - """ - Test if order cell acquired some order line properties - """ - order_line = sequence.get('order_line') - cell = order_line.getCellValueList()[0] - self.checkAcquisition(cell, order_line) - # Test resource - self.assertEquals(order_line.getResource(), \ - cell.getResource()) - # Test resource variation - cvcl = cell.getVariationCategoryList() - olvcl = order_line.getVariationCategoryList() - # This test is not valide anymore, because of option variation -# self.assertEquals(len(order_line.getVariationRangeBaseCategoryList()), \ -# len(cvcl)) - for variation_category in cvcl: - self.failUnless(variation_category in olvcl) - - def stepCheckOrderSimulation(self, sequence=None, sequence_list=None, **kw): - """ - Test if simulation is matching order - """ - self.checkOrderRuleSimulation(rule_reference='default_order_rule', sequence=sequence, \ - sequence_list=sequence_list, **kw) - - def checkOrderRuleSimulation(self, rule_reference, sequence=None, sequence_list=None, **kw): - """ - Test if simulation is matching order, be sure that rule_reference is used - to expand simulation for order - """ - order = sequence.get('order') - related_applied_rule_list = order.getCausalityRelatedValueList( \ - portal_type=self.applied_rule_portal_type) - no_applied_rule_state = ('draft', 'auto_planned') - order_state = order.getSimulationState() - - if order_state in no_applied_rule_state: - self.assertEquals(0, len(related_applied_rule_list)) - else: - LOG('stepCheckOrderRuleSimulation', 0, 'related_applied_rule_list: %s' % - str([x.getObject() for x in related_applied_rule_list])) - self.assertEquals(1, len(related_applied_rule_list)) - applied_rule = related_applied_rule_list[0].getObject() - sequence.edit(applied_rule=applied_rule) - self.failUnless(applied_rule is not None) - - # Test if applied rule has a specialise value with passed rule_reference - portal_rules = getToolByName(order, 'portal_rules') - self.assertEquals(rule_reference, - applied_rule.getSpecialiseReference()) - - simulation_movement_list = applied_rule.objectValues() - sequence.edit(simulation_movement_list=simulation_movement_list) - - # Count the number of movement in order - movement_list = order.getMovementList() - # Check if number of movement is equal to number of simulation movement - self.assertEquals(len(movement_list), len(simulation_movement_list)) - # Check if each movement has only one simulation movement related - order_movement_list = [x.getOrderValue() for x in \ - simulation_movement_list] - self.failIfDifferentSet(movement_list, order_movement_list) - - # Check each simulation movement - for simulation_movement in simulation_movement_list: - order_movement = simulation_movement.getOrderValue() - # Test quantity - self.assertEquals(order_movement.getQuantity(), \ - simulation_movement.getQuantity()) - # Test price - self.assertEquals(order_movement.getPrice(), \ - simulation_movement.getPrice()) - # Test resource - self.assertEquals(order_movement.getResource(), \ - simulation_movement.getResource()) - # Test resource variation - self.assertEquals(order_movement.getVariationText(), \ - simulation_movement.getVariationText()) - self.assertEquals(order_movement.getVariationCategoryList(), \ - simulation_movement.getVariationCategoryList()) - # XXX Test acquisition - self.checkAcquisition(simulation_movement, order_movement) - - def modifyOrderState(self, transition_name, sequence=None, - sequence_list=None): - order = sequence.get('order') - order.portal_workflow.doActionFor(order, transition_name) - - def stepPlanOrder(self, sequence=None, sequence_list=None, **kw): - self.modifyOrderState('plan_action', sequence=sequence) - - def stepOrderOrder(self, sequence=None, sequence_list=None, **kw): - self.modifyOrderState('order_action', sequence=sequence) - - def stepConfirmOrder(self, sequence=None, sequence_list=None, **kw): - self.modifyOrderState('confirm_action', sequence=sequence) - - def stepCancelOrder(self, sequence=None, sequence_list=None, **kw): - self.modifyOrderState('cancel_action', sequence=sequence) - - def stepCheckPortalMethod(self, sequence=None, sequence_list=None, **kw): - """ - Test if some portal method are well defined - """ - order = sequence.get('order') - self.failUnless('Simulation Movement' in order.getPortalMovementTypeList()) - self.failUnless(self.order_line_portal_type in order.getPortalMovementTypeList()) - - def stepCheckDeliveryBuilderPresence(self, sequence=None, - sequence_list=None, **kw): - """ - Test if delivery builder exists - """ - delivery_builder = getattr(self.getPortal().portal_deliveries, - self.delivery_builder_id) - self.assertEquals('Delivery Builder', delivery_builder.getPortalType()) - - def stepCreateOrganisation1(self,sequence=None, sequence_list=None, **kw): - """ - Create a empty organisation - """ - self.stepCreateOrganisation(sequence=sequence, sequence_list=sequence_list, - **kw) - organisation = sequence.get('organisation') - sequence.edit(organisation1=organisation) - - def stepCreateOrganisation2(self,sequence=None, sequence_list=None, **kw): - """ - Create a empty organisation - """ - self.stepCreateOrganisation(sequence=sequence, sequence_list=sequence_list, - **kw) - organisation = sequence.get('organisation') - sequence.edit(organisation2=organisation) - - def stepCreateProject1(self,sequence=None, sequence_list=None, **kw): - """ - Create a project - """ - self.stepCreateProject(sequence=sequence, sequence_list=sequence_list, - **kw) - project = sequence.get('project') - sequence.edit(project1=project) - - def stepCreateProject2(self,sequence=None, sequence_list=None, **kw): - """ - Create a project - """ - self.stepCreateProject(sequence=sequence, sequence_list=sequence_list, - **kw) - project = sequence.get('project') - sequence.edit(project2=project) - - def stepSetOrderProfile(self,sequence=None, sequence_list=None, **kw): - """ - Set different source and destination on the order - """ - organisation1 = sequence.get('organisation1') - organisation2 = sequence.get('organisation2') - project1 = sequence.get('project1') - project2 = sequence.get('project2') - order = sequence.get('order') - order.edit( source_value = organisation1, - source_section_value = organisation1, - source_payment_value = organisation1['bank'], - destination_value = organisation2, - destination_section_value = organisation2, - destination_payment_value = organisation2['bank'], - source_project_value = project1, - destination_project_value = project2 ) - self.failUnless('Site Error' not in order.view()) - - def stepCheckDeliveryBuilding(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list is well created. - """ - order = sequence.get('order') - related_applied_rule_list = order.getCausalityRelatedValueList( \ - portal_type=self.applied_rule_portal_type) - related_packing_list_list = order.getCausalityRelatedValueList( \ - portal_type=self.packing_list_portal_type) - packing_list_building_state = 'confirmed' - order_state = order.getSimulationState() - if order_state != packing_list_building_state: - self.assertEquals(0, len(related_packing_list_list)) - else: - self.assertEquals(1, len(related_packing_list_list)) - - packing_list = related_packing_list_list[0].getObject() - self.failUnless(packing_list is not None) - sequence.edit(packing_list = packing_list) - - applied_rule = related_applied_rule_list[0].getObject() - simulation_movement_list = applied_rule.objectValues() - - # Test that packing list is confirmed - packing_list_state = packing_list.getSimulationState() - self.assertEquals(packing_list_building_state, packing_list_state) - - # First, test if each Simulation Movement is related to a Packing List - # Movement - packing_list_relative_url = packing_list.getRelativeUrl() - for simulation_movement in simulation_movement_list: - packing_list_movement_list = simulation_movement.getDeliveryValueList() - self.failUnless(len(packing_list_movement_list), 1) - packing_list_movement = packing_list_movement_list[0] - self.failUnless(packing_list_movement is not None) - self.failUnless(packing_list_movement.getRelativeUrl().\ - startswith(packing_list_relative_url)) - - # Then, test if each packing list movement is equals to the sum of somes - # Simulation Movement - packing_list_movement_list = [] - for packing_list_line in packing_list.objectValues( - portal_type=self.packing_list_line_portal_type): - packing_list_line = packing_list_line.getObject() - sequence.edit(packing_list_line=packing_list_line) - cell_list = [x.getObject() for x in packing_list_line.objectValues( - portal_type=self.packing_list_cell_portal_type)] - if len(cell_list) == 0: - packing_list_movement_list.append(packing_list_line) - else: - packing_list_movement_list.extend(cell_list) - - for packing_list_movement in packing_list_movement_list: - related_simulation_movement_list = packing_list_movement.\ - getDeliveryRelatedValueList(portal_type='Simulation Movement') - self.failUnless(len(related_simulation_movement_list)>0) - quantity = 0 - total_price = 0 - packing_list_movement_quantity = packing_list_movement.getQuantity() - for related_simulation_movement in related_simulation_movement_list: - quantity += related_simulation_movement.getQuantity() - total_price += related_simulation_movement.getPrice() *\ - related_simulation_movement.getQuantity() - # Test resource - self.assertEquals(packing_list_movement.getResource(), \ - related_simulation_movement.getResource()) - # Test resource variation - self.assertEquals(packing_list_movement.getVariationText(), \ - related_simulation_movement.getVariationText()) - self.assertEquals(packing_list_movement.getVariationCategoryList(), \ - related_simulation_movement.getVariationCategoryList()) - # Test acquisition - self.checkAcquisition(packing_list_movement, - related_simulation_movement) - # Test delivery ratio - self.assertEquals(related_simulation_movement.getQuantity() /\ - packing_list_movement_quantity, \ - related_simulation_movement.getDeliveryRatio()) - - - self.assertEquals(quantity, packing_list_movement.getQuantity()) - # Test price - self.assertEquals(total_price / quantity, packing_list_movement.getPrice()) - - sequence.edit(packing_list=packing_list) - - # Finally, test Packing List getTotalQuantity and getTotalPrice - self.assertEquals(order.getTotalQuantity(), packing_list.getTotalQuantity()) - self.assertEquals(order.getTotalPrice(), packing_list.getTotalPrice()) - - def stepModifyOrderStartDate(self, sequence=None, sequence_list=None, \ - **kw): - """ - Modify order start date - """ - order = sequence.get('order') - order.setStartDate(self.datetime + 77) - - def stepModifyOrderLineStartDate(self, sequence=None, sequence_list=None, \ - **kw): - """ - Modify order line start date - """ - order_line = sequence.get('order_line') - order_line._setStartDate(self.datetime + 88) - - def stepModifyOrderCellStartDate(self, sequence=None, sequence_list=None, \ - **kw): - """ - Modify order cell start date - """ - order_line = sequence.get('order_line') - cell_list = order_line.objectValues(portal_type=self.order_cell_portal_type) - if len(cell_list) > 0: - order_cell = cell_list[0].getObject() - order_cell.setStartDate(self.datetime + 99) - - def stepModifyOrderLineQuantity(self, sequence=None, sequence_list=None, \ - **kw): - """ - Modify order line quantity - """ - order_line = sequence.get('order_line') - order_line.setQuantity(order_line.getQuantity() + 111) - - def stepCheckOrderSimulationStable(self, sequence=None, \ - sequence_list=None, **kw): - """ - Tests that the simulation related to the order is stable and not - divergent - """ - order = sequence.get('order') - order_movement_list = order.getMovementList() - related_simulation_list = [] - for order_movement in order_movement_list: - related_simulation_list.extend(order_movement.getOrderRelatedValueList()) - related_applied_rule_list = {} - for simulation_mvt in related_simulation_list: - self.assertFalse(simulation_mvt.isDivergent()) - related_applied_rule_list[simulation_mvt.getParentValue()]=1 - for applied_rule in related_applied_rule_list.keys(): - self.assertTrue(applied_rule.isStable()) - - def stepPackingListAdoptPrevision(self,sequence=None, sequence_list=None, - **kw): - """ - Check if simulation movement are disconnected - """ - packing_list = sequence.get('packing_list') - packing_list.portal_workflow.doActionFor(packing_list, - 'adopt_prevision_action') - - non_variated_order_creation = '\ - stepCreateOrder \ - stepCreateNotVariatedResource \ - stepCreateOrderLine \ - stepCheckOrderLineEmptyMatrix \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepCheckOrderLineDefaultValues \ - ' - - variated_order_line_creation = '\ - stepCreateOrder \ - stepCreateVariatedResource \ - stepCreateOrderLine \ - ' - variated_line_completion = '\ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepCheckOrderLineDefaultValues \ - stepCheckOrderLineTotalQuantity \ - stepSetOrderLineFullVCL \ - stepCompleteOrderLineMatrix \ - ' - variated_order_creation = variated_order_line_creation + \ - variated_line_completion - - variated_line_completion_without_tic = '\ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepCheckOrderLineDefaultValues \ - stepSetOrderLineFullVCL \ - stepCompleteOrderLineMatrix \ - ' - variated_order_creation_without_tic = variated_order_line_creation + \ - variated_line_completion_without_tic - - def stepCheckCatalogued(self, sequence=None, - sequence_list=None, **kw): - """ - Check that order is catalogued - """ - order = sequence.get('order') - sql_connection = self.getSQLConnection() - sql = 'SELECT simulation_state FROM catalog WHERE uid=%s' % \ - order.getUid() - result = sql_connection.manage_test(sql) - simulation_state_list = [x['simulation_state'] for x in result] - self.assertEquals(1, len(simulation_state_list)) - self.assertEquals(order.getSimulationState(), - simulation_state_list[0]) - - def stepCheckCataloguedSimulation(self, sequence=None, - sequence_list=None, **kw): - """ - Check that simulation is catalogued - """ - order = sequence.get('order') - for order_movement in order.getMovementList(): - for sim_mvt in order_movement.getOrderRelatedValueList(): - sql_connection = self.getSQLConnection() - sql = 'SELECT simulation_state FROM catalog WHERE uid=%s' % \ - sim_mvt.getUid() - result = sql_connection.manage_test(sql) - simulation_state_list = [x['simulation_state'] for x in result] - self.assertEquals(1, len(simulation_state_list)) - self.assertEquals(order.getSimulationState(), - simulation_state_list[0]) - -class TestOrder(TestOrderMixin, ERP5TypeTestCase): - """ - Test business template erp5_trade - """ - run_all_test = 1 - - def getTitle(self): - return "Order" - - def enableLightInstall(self): - """ - You can override this. - Return if we should do a light install (1) or not (0) - """ - return 1 - - def enableActivityTool(self): - """ - You can override this. - Return if we should create (1) or not (0) an activity tool. - """ - return 1 - - -# def stepCheckOrderLineCell(self, sequence=None, sequence_list=None, **kw): -# """ -# Check cell comportment when some properties are not defined. -# """ -# order_line = sequence.get('order_line') -# base_id = 'movement' -# cell_key_list = order_line.getCellKeyList(base_id=base_id) -# # First, search a cell to test -# for cell_key in cell_key_list: -# if order_line.hasCell(base_id=base_id, *cell_key): -# cell = order_line.getCell(base_id=base_id, *cell_key) -# break -# # Then, store his properties -# price = cell.getProperty('price') -# quantity = cell.getProperty('quantity') -# # Modify, test, and restore old values -# for new_quantity, new_price in [(None, 346), (123, None), (None, None), \ -# (quantity, price)]: -# cell.edit(quantity=new_quantity, price=new_price) -# if new_quantity == None: -# new_quantity = 0.0 -# if new_price == None: -# new_price = 0.0 -# self.assertEquals(new_quantity, cell.getProperty('quantity')) -# self.assertEquals(new_price, cell.getProperty('price')) -# -# # XXX test getTotalPrice on OrderLine - - def test_01_OrderLine_getVariationRangeCategoryList(self, quiet=0, - run=run_all_test): - """ - Test order line getVariationRangeCategoryList. - """ - if not run: return - sequence_list = SequenceList() - # Test when resource has no variation - sequence_string = 'stepCreateOrder \ - stepCreateOrderLine \ - stepCheckOrderLineVRCL \ - stepCreateNotVariatedResource \ - stepTic \ - stepSetOrderLineResource \ - stepCheckOrderLineVRCL \ - ' - sequence_list.addSequenceString(sequence_string) - # Test when resource has variation - sequence_string = 'stepCreateOrder \ - stepCreateOrderLine \ - stepCheckOrderLineVRCL \ - stepCreateVariatedResource \ - stepTic \ - stepSetOrderLineResource \ - stepCheckOrderLineVRCL \ - ' - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - - def test_02_OrderLine_getVariationRangeCategoryItemList(self, quiet=0, - run=run_all_test): - """ - Test order line getVariationRangeCategoryItemList. - """ - if not run: return - sequence_list = SequenceList() - # Test when resource has no variation - sequence_string = 'stepCreateOrder \ - stepCreateOrderLine \ - stepCheckOrderLineVRCIL \ - stepCreateNotVariatedResource \ - stepTic \ - stepSetOrderLineResource \ - stepCheckOrderLineVRCIL \ - ' - sequence_list.addSequenceString(sequence_string) - # Test when resource has variation - sequence_string = 'stepCreateOrder \ - stepCreateOrderLine \ - stepCheckOrderLineVRCIL \ - stepCreateVariatedResource \ - stepTic \ - stepSetOrderLineResource \ - stepCheckOrderLineVRCIL \ - ' - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - - def test_03_OrderLine_getVariationCategoryList(self, quiet=0, - run=run_all_test): - """ - Test order line getVariationCategoryList. - Not yet tested.... - """ - if not run: return - pass - - def test_04_OrderLine_getVariationCategoryItemList(self, quiet=0, - run=run_all_test): - """ - Test order line getVariationCategoryItemList. - """ - if not run: return - sequence_list = SequenceList() - # Test when resource has variation - sequence_string = 'stepCreateOrder \ - stepCreateOrderLine \ - stepCheckOrderLineVCIL \ - stepCreateVariatedResource \ - stepTic \ - stepSetOrderLineResource \ - stepSetOrderLineHalfVCL \ - stepTic \ - stepCheckOrderLineVCIL \ - ' - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - - def test_05_OrderLine_Matrix(self, quiet=0, run=run_all_test): - """ - Test order line movement matrix. - """ - if not run: return - sequence_list = SequenceList() - # common part of sequence - base_sequence = 'stepTic \ - stepCreateOrderLine \ - stepCheckOrderLineEmptyMatrix \ - stepSetOrderLineResource \ - stepCheckOrderLineEmptyMatrix \ - stepSetOrderLineFullVCL \ - stepCheckOrderLineRange \ - stepCheckOrderLineEmptyMatrix \ - stepCompleteOrderLineMatrix \ - stepTic \ - stepCheckOrderLineCompleteMatrix \ - stepSetOrderLineHalfVCL \ - stepTic \ - stepCheckOrderLineRange \ - stepCheckOrderLineCompleteMatrix \ - stepSetOrderLineEmptyVCL \ - stepTic \ - stepCheckOrderLineEmptyMatrix \ - ' - # Test when resource has no variation - sequence_string = 'stepCreateOrder \ - stepCreateNotVariatedResource \ - ' + base_sequence - sequence_list.addSequenceString(sequence_string) - # Test when resource has variations - sequence_string = 'stepCreateOrder \ - stepCreateVariatedResource \ - ' + base_sequence + \ - 'stepCheckOrderLineRange \ - ' - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - -# def modifyOrderLineCellPrice(self, price): -# """ -# Modify the properties of the first cell founded on the current -# order line. -# """ -# order_line = sequence.get('order_line') -# base_id = 'movement' -# cell_key_list = order_line.getCellKeyList(base_id=base_id) -# # First, search a cell to test -# cell = None -# for cell_key in cell_key_list: -# if order_line.hasCell(base_id=base_id, *cell_key): -# cell = order_line.getCell(base_id=base_id, *cell_key) -# break -# if cell is not None: -# # Then, store new properties -# cell.edit(price=price) -# self.assertEquals(price, cell.getProperty('price')) -# -# # for new_quantity, new_price in [(None, 346), (123, None), (None, None), \ -# # (quantity, price)]: -# def stepSetCellPriceToNone(self, sequence=None, sequence_list=None, **kw): -# """ -# Set the cell price to None -# """ -# self.modifyOrderLineCellPrice(None) -# -# def stepSetCellQuantityToNone(self, sequence=None, sequence_list=None, **kw): -# """ -# Set the cell price to None -# """ -# self.modifyOrderLineCellQuantity(None) - - def test_06_OrderLine_getTotalQuantity(self, quiet=0, run=run_all_test): - """ - Test the method getTotalQuantity on a order line. - """ - if not run: return - sequence_list = SequenceList() - - # Test when resource has no variation - sequence_string = self.non_variated_order_creation + '\ - stepCheckOrderLineTotalQuantity \ - ' - sequence_list.addSequenceString(sequence_string) - # Test when resource has variations - sequence_string = self.variated_order_creation + '\ - stepCheckOrderLineTotalQuantity \ - ' - sequence_list.addSequenceString(sequence_string) - # XXX test cell modification - - sequence_list.play(self) - - def test_07_OrderLine_getTotalPrice(self, quiet=0, run=run_all_test): - """ - Test method getTotalPrice on order line. - """ - if not run: return - sequence_list = SequenceList() - - # Test when resource has not variation - sequence_string = self.non_variated_order_creation + '\ - stepCheckOrderLineTotalPrice \ - ' - sequence_list.addSequenceString(sequence_string) - # Test when resource has variations - sequence_string = self.variated_order_creation + '\ - stepCheckOrderLineTotalPrice \ - ' - sequence_list.addSequenceString(sequence_string) - # XXX test cell modification - - sequence_list.play(self) - - def test_07b_OrderLine_getTotalPriceAndQuantityFastParameter(self, quiet=0, run=run_all_test): - """ - Test method getTotalPrice on order line. - """ - if not run: return - sequence_list = SequenceList() - - # Test when resource has variations - sequence_string = self.variated_order_creation_without_tic + '\ - stepCheckOrderLineTotalPriceAndQuantityFastParameter \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self) - - def test_08_Order_testTotalQuantity(self, quiet=0, run=run_all_test): - """ - Test method getTotalQuantity on a order - """ - if not run: return - sequence_list = SequenceList() - # Test with no order line - sequence_string = '\ - stepCreateOrder \ - stepCheckOrderTotalQuantity \ - ' - sequence_list.addSequenceString(sequence_string) - # Test when resource has not variation - sequence_string = self.non_variated_order_creation + '\ - stepCheckOrderTotalQuantity \ - ' - sequence_list.addSequenceString(sequence_string) - # Test when resource has variations - sequence_string = self.variated_order_creation + '\ - stepCheckOrderTotalQuantity \ - ' - sequence_list.addSequenceString(sequence_string) - # Test whith multiples order line - sequence_string = self.variated_order_creation + '\ - stepCheckOrderTotalQuantity \ - stepCreateNotVariatedResource \ - stepCreateOrderLine \ - stepTic \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepTic \ - stepCheckOrderTotalQuantity \ - ' - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - - def test_08b_Order_testTotalPriceAndQuantityFastParameter(self, quiet=0, run=run_all_test): - """ - Test method getTotalQuantity on a order - """ - if not run: return - sequence_list = SequenceList() - # Test whith multiples order line - sequence_string = self.variated_order_creation_without_tic + '\ - stepCreateNotVariatedResource \ - stepCreateOrderLine \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepCheckOrderTotalPriceAndQuantityFastParameter \ - ' - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - - def test_09_Order_testTotalPrice(self, quiet=0, run=run_all_test): - """ - Test method getTotalPrice on a order - """ - if not run: return - sequence_list = SequenceList() - # Test with no order line - sequence_string = '\ - stepCreateOrder \ - stepCheckOrderTotalPrice\ - ' - sequence_list.addSequenceString(sequence_string) - # Test when resource has not variation - sequence_string = self.non_variated_order_creation + '\ - stepCheckOrderTotalPrice \ - ' - sequence_list.addSequenceString(sequence_string) - # Test when resource has variations - sequence_string = self.variated_order_creation + '\ - stepCheckOrderTotalPrice \ - ' - sequence_list.addSequenceString(sequence_string) - # Test with multiples order line - sequence_string = self.variated_order_creation + '\ - stepCheckOrderTotalQuantity \ - stepCreateNotVariatedResource \ - stepCreateOrderLine \ - stepTic \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepTic \ - stepCheckOrderTotalPrice \ - ' - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - - def test_09b_Order_testTotalPriceWithNegativePriceOrderLine(self, quiet=0, run=run_all_test): - """ - Test method getTotalPrice on a order - """ - if not run: return - sequence_list = SequenceList() - # Test with positive price order line and negative price order line. - sequence_string = '\ - stepCreateOrder \ - stepCheckOrderTotalQuantity \ - stepCreateNotVariatedResource \ - stepCreateOrderLine \ - stepTic \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepTic \ - stepCreateNotVariatedResourceForNegativePriceOrderLine \ - stepCreateOrderLine \ - stepTic \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultNegativePriceValue \ - stepTic \ - stepCheckOrderTotalPrice \ - ' - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - - def test_10_Order_testSimulationState(self, quiet=0, run=run_all_test): - """ - Test simulation state acquisition on Order - """ - if not run: return - sequence_list = SequenceList() - sequence_string = '\ - stepCreateOrganisation \ - stepCreateProject \ - ' + self.variated_order_line_creation + '\ - stepCheckOrder \ - stepCheckOrderInitialState \ - stepTic \ - stepCheckOrderLineState \ - ' + self.variated_line_completion + '\ - stepTic \ - stepCheckOrderCellState \ - stepPlanOrder \ - stepTic \ - stepCheckOrderPlanned \ - stepCheckOrderLineState \ - stepCheckOrderCellState \ - ' - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - - def test_11_testPropertiesAcquisition(self, quiet=0, run=run_all_test): - """ - Test if some properties on order line or order - cell are well acquired. - """ - if not run: return - sequence_list = SequenceList() - sequence_string = '\ - stepCreateOrganisation \ - stepCreateProject \ - ' + self.variated_order_line_creation + '\ - stepCheckOrder \ - stepCheckOrderInitialState \ - stepCheckOrderLineAcquisition \ - ' + self.variated_line_completion + '\ - stepCheckOrderCellAcquisition \ - stepTic \ - ' - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - - def test_12_testAppliedRuleGeneration(self, quiet=0, run=run_all_test): - """ - Test generation and update of order applied rule. - """ - if not run: return - sequence_list = SequenceList() - # Test first some portal method - sequence_string = '\ - stepCreateOrder \ - stepCheckPortalMethod \ - ' - sequence_list.addSequenceString(sequence_string) - - # Test when order is cancelled - sequence_string = '\ - stepCreateOrganisation \ - stepCreateProject \ - ' + self.non_variated_order_creation + '\ - stepCheckOrderSimulation \ - stepPlanOrder \ - stepTic \ - stepCheckOrderSimulation \ - stepOrderOrder \ - stepTic \ - stepCheckOrderSimulation \ - stepCancelOrder \ - stepTic \ - stepTic \ - stepCheckOrderSimulation \ - ' - sequence_list.addSequenceString(sequence_string) - - # Test with a simply order without cell - sequence_string = '\ - stepCreateOrganisation \ - stepCreateProject \ - ' + self.non_variated_order_creation + '\ - stepPlanOrder \ - stepTic \ - stepCheckOrderSimulation \ - stepOrderOrder \ - stepTic \ - stepCheckOrderSimulation \ - stepConfirmOrder \ - stepTic \ - stepCheckOrderSimulation \ - ' - sequence_list.addSequenceString(sequence_string) - - # Test to confirm order without planned or ordered it - sequence_string = '\ - stepCreateOrganisation \ - stepCreateProject \ - ' + self.variated_order_line_creation + '\ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepOrderOrder \ - stepTic \ - stepCheckOrderSimulation \ - stepConfirmOrder \ - stepTic \ - stepCheckOrderSimulation \ - ' - sequence_list.addSequenceString(sequence_string) - - # Test to confirm order with variated resource - sequence_string = '\ - stepCreateOrganisation \ - stepCreateProject \ - ' + self.variated_order_creation + '\ - stepTic \ - stepOrderOrder \ - stepTic \ - stepCheckOrderSimulation \ - stepConfirmOrder \ - stepTic \ - stepCheckOrderSimulation \ - ' - sequence_list.addSequenceString(sequence_string) - - # Test to confirm order with multiples lines - sequence_string = '\ - stepCreateOrganisation \ - stepCreateProject \ - ' + self.variated_order_creation + '\ - stepCreateNotVariatedResource \ - stepTic \ - stepCreateOrderLine \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepTic \ - stepOrderOrder \ - stepTic \ - stepCheckOrderSimulation \ - stepConfirmOrder \ - stepTic \ - stepCheckOrderSimulation \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self) - - def test_13_testAppliedRuleUpdate(self, quiet=0, run=run_all_test): - """ - Test update of applied rule when order is modified. - """ - if not run: return - sequence_list = SequenceList() - # Test when order is modified - sequence_string = '\ - stepCreateOrganisation \ - stepCreateProject \ - ' + self.variated_order_creation + '\ - stepOrderOrder \ - stepTic \ - stepModifyOrderStartDate \ - stepTic \ - stepCheckOrderSimulation \ - ' - sequence_list.addSequenceString(sequence_string) - # Test when order line is modified - sequence_string = '\ - stepCreateOrganisation \ - stepCreateProject \ - ' + self.variated_order_creation + '\ - stepOrderOrder \ - stepTic \ - stepModifyOrderLineStartDate \ - stepTic \ - stepCheckOrderSimulation \ - ' - sequence_list.addSequenceString(sequence_string) - # Test when order cell is modified - sequence_string = '\ - stepCreateOrganisation \ - stepCreateProject \ - ' + self.variated_order_creation + '\ - stepOrderOrder \ - stepTic \ - stepModifyOrderCellStartDate \ - stepTic \ - stepCheckOrderSimulation \ - ' - sequence_list.addSequenceString(sequence_string) - - # Test when workflow state is modified - sequence_string = '\ - stepCreateOrganisation \ - stepCreateProject \ - ' + self.variated_order_creation + '\ - stepPlanOrder \ - stepTic \ - stepOrderOrder \ - stepTic \ - stepCheckOrderSimulation \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self) - -# XXX -# def test_14_readOnlyConfirmedOrder(self, quiet=0, run=run_all_test): -# """ -# Test if confirmed order can not be modificated anymore. -# """ -# if not run: return -# self.failUnless(1==2) - - def test_15_deliveryBuilder(self, quiet=0, run=run_all_test): - """ - Test generation of delivery list - """ - if not run: return - sequence_list = SequenceList() - # First, test if delivery buider exists - sequence_string = '\ - stepCheckDeliveryBuilderPresence \ - ' - sequence_list.addSequenceString(sequence_string) - - # Test with a simply order without cell - sequence_string = '\ - stepCreateOrganisation1 \ - stepCreateOrganisation2 \ - stepCreateProject1 \ - stepCreateProject2 \ - stepCreateOrder \ - stepSetOrderProfile \ - stepCreateNotVariatedResource \ - stepTic \ - stepCreateOrderLine \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepOrderOrder \ - stepTic \ - stepCheckDeliveryBuilding \ - stepConfirmOrder \ - stepTic \ - stepCheckDeliveryBuilding \ - ' - sequence_list.addSequenceString(sequence_string) - - # Test to confirm order with variated resource - sequence_string = '\ - stepCreateOrganisation1 \ - stepCreateOrganisation2 \ - stepCreateProject1 \ - stepCreateProject2 \ - stepCreateOrder \ - stepSetOrderProfile \ - stepCreateVariatedResource \ - stepTic \ - stepCreateOrderLine \ - ' + self.variated_line_completion + '\ - stepTic \ - stepOrderOrder \ - stepTic \ - stepCheckDeliveryBuilding \ - stepConfirmOrder \ - stepTic \ - stepCheckDeliveryBuilding \ - ' - sequence_list.addSequenceString(sequence_string) - - # Test to confirm order with multiples lines - sequence_string = '\ - stepCreateOrganisation1 \ - stepCreateOrganisation2 \ - stepCreateProject1 \ - stepCreateProject2 \ - stepCreateOrder \ - stepSetOrderProfile \ - stepCreateVariatedResource \ - stepTic \ - stepCreateOrderLine \ - ' + self.variated_line_completion + '\ - stepCreateNotVariatedResource \ - stepTic \ - stepCreateOrderLine \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepTic \ - stepOrderOrder \ - stepTic \ - stepCheckDeliveryBuilding \ - stepConfirmOrder \ - stepTic \ - stepCheckDeliveryBuilding \ - ' - sequence_list.addSequenceString(sequence_string) - - # Test with a order with 2 lines and the same not variated resource - sequence_string = '\ - stepCreateOrganisation1 \ - stepCreateOrganisation2 \ - stepCreateProject1 \ - stepCreateProject2 \ - stepCreateOrder \ - stepSetOrderProfile \ - stepCreateNotVariatedResource \ - stepTic \ - stepCreateOrderLine \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepCreateOrderLine \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepOrderOrder \ - stepTic \ - stepCheckDeliveryBuilding \ - stepConfirmOrder \ - stepTic \ - stepCheckDeliveryBuilding \ - ' - sequence_list.addSequenceString(sequence_string) - - # Test with a order with 2 lines and the same variated resource - sequence_string = '\ - stepCreateOrganisation1 \ - stepCreateOrganisation2 \ - stepCreateProject1 \ - stepCreateProject2 \ - stepCreateOrder \ - stepSetOrderProfile \ - stepCreateVariatedResource \ - stepTic \ - stepCreateOrderLine \ - ' + self.variated_line_completion + '\ - stepCreateOrderLine \ - ' + self.variated_line_completion + '\ - stepTic \ - stepOrderOrder \ - stepTic \ - stepCheckDeliveryBuilding \ - stepConfirmOrder \ - stepTic \ - stepCheckDeliveryBuilding \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self) - - def test_16_deliveryBuilderWithNoTic(self, quiet=0, run=run_all_test): - """ - Test generation of delivery list with - only a few tic - """ - if not run: return - sequence_list = SequenceList() - - # XXX Does not work yet - # Test to confirm order without doing any tic - # Except after creating organisations - - sequence_string = '\ - stepCreateOrganisation1 \ - stepCreateOrganisation2 \ - stepCreateProject1 \ - stepCreateProject2 \ - stepTic \ - stepCreateOrder \ - stepSetOrderProfile \ - stepCreateVariatedResource \ - stepCreateOrderLine \ - ' + self.variated_line_completion + '\ - stepCreateNotVariatedResource \ - stepCreateOrderLine \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepOrderOrder \ - stepCheckDeliveryBuilding \ - stepConfirmOrder \ - stepTic \ - stepCheckDeliveryBuilding \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self) - - def test_17_orderExpand(self, quiet=0, run=run_all_test): - """ - This tests the behaviour of expand. - First, without delivery: - - create an order, apply a rule - - modify the order line, expand the rule - - check that the simulation is not Divergent and Stable (simulation must - match order value) - - Second, with delivery: - - create an order, apply a rule - - build a packing list - - modify the order line, expand the rule - - adopt prevision to fix the delivery - - check that the simulation is not Divergent and Stable (simulation must - match delivery value) - """ - if not run: return - sequence_list = SequenceList() - - sequence_string = '\ - stepCreateOrganisation1 \ - stepCreateOrganisation2 \ - stepCreateProject1 \ - stepCreateProject2 \ - stepCreateOrder \ - stepSetOrderProfile \ - stepCreateNotVariatedResource \ - stepTic \ - stepCreateOrderLine \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepOrderOrder \ - stepTic \ - stepModifyOrderLineQuantity \ - stepTic \ - stepCheckDeliveryBuilding \ - stepConfirmOrder \ - stepTic \ - stepCheckOrderSimulation \ - stepCheckOrderSimulationStable \ - ' - sequence_list.addSequenceString(sequence_string) - # XXX XXX FIXME - # The idea of this test is to create a PackingList - # Before the Order is in state confirmed. - # And then, check the behaviour of isDivergent - # when the Order is modified - sequence_string = '\ - stepCreateOrganisation1 \ - stepCreateOrganisation2 \ - stepCreateProject1 \ - stepCreateProject2 \ - stepCreateOrder \ - stepSetOrderProfile \ - stepCreateNotVariatedResource \ - stepTic \ - stepCreateOrderLine \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepOrderOrder \ - stepTic \ - stepConfirmOrder \ - stepTic \ - stepCheckDeliveryBuilding \ - stepModifyOrderLineQuantity \ - stepTic \ - stepPackingListAdoptPrevision \ - stepTic \ - stepCheckOrderSimulation \ - stepCheckDeliveryBuilding \ - stepCheckOrderSimulationStable \ - ' -# sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self) - -# def test_16_packingListOrderAcquisition(self, quiet=0, run=run_all_test): -# """ -# Test if packing list get some properties from order. -# """ -# if not run: return -# self.failUnless(1==2) - - def test_18_SimulationStateIndexation(self, quiet=0, run=run_all_test): - """ - Test that the simulation state is well indexed. - """ - if not run: return - - sequence_list = SequenceList() - - sequence_string = '\ - stepCreateOrganisation \ - stepCreateProject \ - ' + self.non_variated_order_creation + '\ - stepTic \ - stepCheckCatalogued \ - stepCheckCataloguedSimulation \ - stepPlanOrder \ - stepTic \ - stepCheckCatalogued \ - stepCheckCataloguedSimulation \ - stepOrderOrder \ - stepTic \ - stepCheckCatalogued \ - stepCheckCataloguedSimulation \ - stepCancelOrder \ - stepTic \ - stepCheckCatalogued \ - stepCheckCataloguedSimulation \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self) - - def test_19_getMovementList(self, quiet=0, run=run_all_test): - """ - Check getMovementList. - Verify that it supports hierarchical order lines. - Check that order cells are returned when defined on a leaf line, and not - returned when defined on a non leaf line. - """ - if not run: return - - portal = self.getPortal() - order_module = portal.getDefaultModule(portal_type=self.order_portal_type) - order = order_module.newContent(portal_type=self.order_portal_type) - - # No line, no movement - self.assertEquals(0, len(order.getMovementList())) - - # One line is considered as a movement - order_line = order.newContent(portal_type=self.order_line_portal_type) - self.assertEquals(1, len(order.getMovementList())) - - # If a sub line is created, its parent should not be considered - # as a movement - sub_order_line = order_line.newContent( - portal_type=self.order_line_portal_type) - self.assertEquals(1, len(order.getMovementList())) - - # Create another subline to be sure it increases the line count - sub_order_line = order_line.newContent( - portal_type=self.order_line_portal_type) - self.assertEquals(2, len(order.getMovementList())) - - # Create recursively sub lines, and check that the ovement number - # is still the same. - for i in range(5): - sub_order_line = sub_order_line.newContent( - portal_type=self.order_line_portal_type) - self.assertEquals(2, len(order.getMovementList())) - - # Create a variated resource - resource_module = portal.getDefaultModule(self.resource_portal_type) - resource = resource_module.newContent(portal_type=self.resource_portal_type) - resource.edit( - industrial_phase_list=["phase1", "phase2"], - size_list=self.size_list, - ) - - # Prepare line variation category list - order_line_vcl = [] - resource_vbcl = resource.getVariationBaseCategoryList() - for vbc in resource_vbcl: - resource_vcl = list(resource.getVariationCategoryList( - base_category_list=[vbc], - omit_individual_variation=0)) - resource_vcl.sort() - order_line_vcl.extend(self.splitList(resource_vcl)[0]) - - # Create cell on the deepest sub line. - # Check that those cells increase the movement count - sub_order_line.setResourceValue(resource) - sub_order_line.setVariationCategoryList(order_line_vcl) - self.assertEquals(1, len(order.getMovementList())) - - base_id = 'movement' - cell_key_list = list(sub_order_line.getCellKeyList(base_id=base_id)) - cell_key_list.sort() - for cell_key in cell_key_list: - cell = sub_order_line.newCell(base_id=base_id, - portal_type=self.order_cell_portal_type, - *cell_key) - self.assertEquals(2-1+len(cell_key_list), len(order.getMovementList())) - - # Check that cells defined on a non leaf line are not returned. - order_line.setResourceValue(resource) - order_line.setVariationCategoryList(order_line_vcl) - self.assertEquals(2-1+len(cell_key_list), len(order.getMovementList())) - - base_id = 'movement' - cell_key_list = list(order_line.getCellKeyList(base_id=base_id)) - cell_key_list.sort() - for cell_key in cell_key_list: - cell = order_line.newCell(base_id=base_id, - portal_type=self.order_cell_portal_type, - *cell_key) - self.assertEquals(2-1+len(cell_key_list), len(order.getMovementList())) - - # Make sure that portal_type argument works correctly. - self.assertEqual(len(order.getMovementList(portal_type='Sale Order Line')), - len([movement - for movement in order.getMovementList() - if movement.portal_type=='Sale Order Line'])) - self.assertEqual(len(order.getMovementList(portal_type='Sale Order Cell')), - len([movement - for movement in order.getMovementList() - if movement.portal_type=='Sale Order Cell'])) - self.assertEqual(len(order.getMovementList(portal_type=['Sale Order Line', - 'Sale Order Cell'])), - len([movement - for movement in order.getMovementList() - if movement.portal_type in ('Sale Order Line', - 'Sale Order Cell')])) - - def test_19b_getTotalQuantityAndPrice(self, quiet=0, run=run_all_test): - """ - Check getTotalQuantity and getTotalPrice. - Check isMovement. - Verify that it supports hierarchical order lines. - Note that this depends on isMovement and Order Line reindexation - """ - if not run: return - - portal = self.getPortal() - base_id = 'movement' - order_line_vcl=['size/Baby'] - order_module = portal.getDefaultModule(portal_type=self.order_portal_type) - order = order_module.newContent(portal_type=self.order_portal_type) - - # No line, no movement - self.assertEquals(order.getTotalQuantity(fast=0), 0) - self.assertEquals(order.getTotalQuantity(fast=1), 0) - self.assertEquals(order.getTotalPrice(fast=0), 0) - self.assertEquals(order.getTotalPrice(fast=1), 0) - - # Create a variated resource - resource_module = portal.getDefaultModule(self.resource_portal_type) - resource = resource_module.newContent( - portal_type=self.resource_portal_type, - variation_base_category_list=['size'], - size_list=self.size_list) - - # One line is considered as a movement - order_line = order.newContent( - portal_type=self.order_line_portal_type, - resource_value=resource, - price=2, - quantity=3) - self.tic() - - self.assertEquals(order_line.isMovement(), True) - - self.assertEquals(order.getTotalQuantity(fast=0), 3) - self.assertEquals(order.getTotalQuantity(fast=1), 3) - self.assertEquals(order.getTotalPrice(fast=0), 6) - self.assertEquals(order.getTotalPrice(fast=1), 6) - - self.assertEquals(order_line.getTotalQuantity(fast=0), 3) - self.assertEquals(order_line.getTotalQuantity(fast=1), 3) - self.assertEquals(order_line.getTotalPrice(fast=0), 6) - self.assertEquals(order_line.getTotalPrice(fast=1), 6) - - # add cell to line, line is not a movement anymore - order_line.setVariationCategoryList(order_line_vcl) - cell_key = order_line.getCellKeyList(base_id=base_id)[0] - cell = order_line.newCell( - base_id=base_id, - portal_type=self.order_cell_portal_type, - *cell_key) - cell.edit(mapped_value_property_list=['price', 'quantity'], - price=3, quantity=4, - predicate_category_list=cell_key, - variation_category_list=cell_key) - self.tic() - - self.assertEquals(order_line.isMovement(), False) - self.assertEquals(cell.isMovement(), True) - - self.assertEquals(order.getTotalQuantity(fast=0), 4) - self.assertEquals(order.getTotalQuantity(fast=1), 4) - self.assertEquals(order.getTotalPrice(fast=0), 12) - self.assertEquals(order.getTotalPrice(fast=1), 12) - - self.assertEquals(order_line.getTotalQuantity(fast=0), 4) - self.assertEquals(order_line.getTotalQuantity(fast=1), 4) - self.assertEquals(order_line.getTotalPrice(fast=0), 12) - self.assertEquals(order_line.getTotalPrice(fast=1), 12) - - self.assertEquals(cell.getTotalQuantity(), 4) - self.assertEquals(cell.getTotalPrice(), 12) - - # if cell has no price, the total price is None, but a default value can be - # provided - cell.setPrice(None) - self.tic() - - self.assertEquals(order_line.isMovement(), False) - self.assertEquals(cell.isMovement(), True) - - self.assertEquals(order.getTotalQuantity(fast=0), 4) - self.assertEquals(order.getTotalQuantity(fast=1), 4) - self.assertEquals(order.getTotalPrice(fast=0), 0) - self.assertEquals(order.getTotalPrice(fast=1), 0) - - self.assertEquals(order_line.getTotalQuantity(fast=0), 4) - self.assertEquals(order_line.getTotalQuantity(fast=1), 4) - self.assertEquals(order_line.getTotalPrice(fast=0), 0) - self.assertEquals(order_line.getTotalPrice(fast=1), 0) - - self.assertEquals(cell.getTotalQuantity(), 4) - self.assertEquals(cell.getTotalPrice(), 0) - - # restore the price on the line - cell.setPrice(3) - self.tic() - - # add sub_line to line, cell and line are not movements - sub_order_line = order_line.newContent( - portal_type=self.order_line_portal_type, - price=4, - quantity=5) - self.tic() - - self.assertEquals(order_line.isMovement(), False) - self.assertEquals(cell.isMovement(), False) - self.assertEquals(sub_order_line.isMovement(), True) - - self.assertEquals(order.getTotalQuantity(fast=0), 5) - self.assertEquals(order.getTotalQuantity(fast=1), 5) - self.assertEquals(order.getTotalPrice(fast=0), 20) - self.assertEquals(order.getTotalPrice(fast=1), 20) - - self.assertEquals(order_line.getTotalQuantity(fast=0), 5) - self.assertEquals(order_line.getTotalQuantity(fast=1), 5) - self.assertEquals(order_line.getTotalPrice(fast=0), 20) - self.assertEquals(order_line.getTotalPrice(fast=1), 20) - - self.assertEquals(cell.getTotalQuantity(), 0) - self.assertEquals(cell.getTotalPrice(), 0) - - self.assertEquals(sub_order_line.getTotalQuantity(fast=0), 5) - self.assertEquals(sub_order_line.getTotalQuantity(fast=1), 5) - self.assertEquals(sub_order_line.getTotalPrice(fast=0), 20) - self.assertEquals(sub_order_line.getTotalPrice(fast=1), 20) - - # if this line has no price, getTotalPrice returns 0 - sub_order_line.setPrice(None) - self.tic() - self.assertEquals(order_line.isMovement(), False) - self.assertEquals(cell.isMovement(), False) - self.assertEquals(sub_order_line.isMovement(), True) - - self.assertEquals(order.getTotalQuantity(fast=0), 5) - self.assertEquals(order.getTotalQuantity(fast=1), 5) - self.assertEquals(order.getTotalPrice(fast=0), 0) - self.assertEquals(order.getTotalPrice(fast=1), 0) - - self.assertEquals(order_line.getTotalQuantity(fast=0), 5) - self.assertEquals(order_line.getTotalQuantity(fast=1), 5) - self.assertEquals(order_line.getTotalPrice(fast=0), 0) - self.assertEquals(order_line.getTotalPrice(fast=1), 0) - - self.assertEquals(cell.getTotalQuantity(), 0) - self.assertEquals(cell.getTotalPrice(), 0) - - self.assertEquals(sub_order_line.getTotalQuantity(fast=0), 5) - self.assertEquals(sub_order_line.getTotalQuantity(fast=1), 5) - self.assertEquals(sub_order_line.getTotalPrice(fast=0), 0) - self.assertEquals(sub_order_line.getTotalPrice(fast=1), 0) - - # restore price on the sub line - sub_order_line.setPrice(4) - self.tic() - - - # add sub_cell to sub_line, only sub_cell is movement - sub_order_line.setVariationCategoryList(order_line_vcl) - sub_cell_key = sub_order_line.getCellKeyList(base_id=base_id)[0] - sub_cell = sub_order_line.newCell( - base_id=base_id, - portal_type=self.order_cell_portal_type, - *cell_key) - sub_cell.edit(mapped_value_property_list=['price', 'quantity'], - price=5, quantity=6, - predicate_category_list=cell_key, - variation_category_list=cell_key) - self.tic() - - self.assertEquals(order_line.isMovement(), False) - self.assertEquals(cell.isMovement(), False) - self.assertEquals(sub_order_line.isMovement(), False) - self.assertEquals(sub_cell.isMovement(), True) - - self.assertEquals(order.getTotalQuantity(fast=0), 6) - self.assertEquals(order.getTotalQuantity(fast=1), 6) - self.assertEquals(order.getTotalPrice(fast=0), 30) - self.assertEquals(order.getTotalPrice(fast=1), 30) - - self.assertEquals(order_line.getTotalQuantity(fast=0), 6) - self.assertEquals(order_line.getTotalQuantity(fast=1), 6) - self.assertEquals(order_line.getTotalPrice(fast=0), 30) - self.assertEquals(order_line.getTotalPrice(fast=1), 30) - - self.assertEquals(cell.getTotalQuantity(), 0) - self.assertEquals(cell.getTotalPrice(), 0) - - self.assertEquals(sub_order_line.getTotalQuantity(fast=0), 6) - self.assertEquals(sub_order_line.getTotalQuantity(fast=1), 6) - self.assertEquals(sub_order_line.getTotalPrice(fast=0), 30) - self.assertEquals(sub_order_line.getTotalPrice(fast=1), 30) - - self.assertEquals(sub_cell.getTotalQuantity(), 6) - self.assertEquals(sub_cell.getTotalPrice(), 30) - - # delete sub_line, cell is movement again - order_line.manage_delObjects([sub_order_line.getId()]) - self.tic() - - self.assertEquals(order_line.isMovement(), False) - self.assertEquals(cell.isMovement(), True) - - self.assertEquals(order.getTotalQuantity(fast=0), 4) - self.assertEquals(order.getTotalQuantity(fast=1), 4) - self.assertEquals(order.getTotalPrice(fast=0), 12) - self.assertEquals(order.getTotalPrice(fast=1), 12) - - self.assertEquals(order_line.getTotalQuantity(fast=0), 4) - self.assertEquals(order_line.getTotalQuantity(fast=1), 4) - self.assertEquals(order_line.getTotalPrice(fast=0), 12) - self.assertEquals(order_line.getTotalPrice(fast=1), 12) - - self.assertEquals(cell.getTotalQuantity(), 4) - self.assertEquals(cell.getTotalPrice(), 12) - - # delete cell, line is movement again - order_line.manage_delObjects([cell.getId()]) - order_line.setVariationCategoryList([]) - self.tic() - - self.assertEquals(order_line.isMovement(), True) - - self.assertEquals(order.getTotalQuantity(fast=0), 3) - self.assertEquals(order.getTotalQuantity(fast=1), 3) - self.assertEquals(order.getTotalPrice(fast=0), 6) - self.assertEquals(order.getTotalPrice(fast=1), 6) - - self.assertEquals(order_line.getTotalQuantity(fast=0), 3) - self.assertEquals(order_line.getTotalQuantity(fast=1), 3) - self.assertEquals(order_line.getTotalPrice(fast=0), 6) - self.assertEquals(order_line.getTotalPrice(fast=1), 6) - - def stepCreateSubOrderLine(self,sequence=None, sequence_list=None, **kw): - """ - Create a empty order line - """ - order = sequence.get('order') - # Create sub line in the first order line - order_line = \ - order.contentValues(portal_type=self.order_line_portal_type)[0] - sub_order_line = order_line.newContent( - portal_type=self.order_line_portal_type, - title="Sub Order Line") - sequence.edit(order_line=sub_order_line, - sub_order_line=sub_order_line) - - def stepCreateSubSubOrderLine(self,sequence=None, sequence_list=None, **kw): - """ - Create a empty order line - """ - sub_order_line = sequence.get('sub_order_line') - # Create sub line in the first sub order line - order_line = sub_order_line.newContent( - portal_type=self.order_line_portal_type, - title="Sub Order Line") - sequence.edit(order_line=order_line) - - def test_20_testHierarchicalOrderAppliedRuleGeneration(self, quiet=0, - run=run_all_test): - """ - Test generation and update of an hierarchical order applied rule. - """ - if not run: return - sequence_list = SequenceList() - - hierarchical_order_creation = '\ - stepCreateOrder \ - stepCreateNotVariatedResource \ - stepCreateOrderLine \ - stepCheckOrderLineEmptyMatrix \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepCheckOrderLineDefaultValues \ - \ - stepCreateSubOrderLine \ - stepCheckOrderLineEmptyMatrix \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepCheckOrderLineDefaultValues \ - \ - stepCreateSubSubOrderLine \ - stepCheckOrderLineEmptyMatrix \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepCheckOrderLineDefaultValues \ - \ - stepCreateSubSubOrderLine \ - stepCheckOrderLineEmptyMatrix \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepCheckOrderLineDefaultValues \ - \ - stepCreateSubOrderLine \ - stepCheckOrderLineEmptyMatrix \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepCheckOrderLineDefaultValues \ - \ - stepCreateOrderLine \ - stepCheckOrderLineEmptyMatrix \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepCheckOrderLineDefaultValues \ - ' - - # Test when order is cancelled - sequence_string = '\ - stepCreateOrganisation \ - stepCreateProject \ - ' + hierarchical_order_creation + '\ - stepCheckOrderSimulation \ - stepPlanOrder \ - stepTic \ - stepCheckOrderSimulation \ - stepOrderOrder \ - stepTic \ - stepCheckOrderSimulation \ - stepCancelOrder \ - stepTic \ - stepCheckOrderSimulation \ - ' - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - - - def test_order_cell_getTotalPrice(self): - # test getTotalPrice and getTotalQuantity on a line with cells - # More precisely, it tests a previous bug where creating a line with - # quantity X and then adding a cell with quantity, cell.edit where - # comparing quantities (X and X) and didn't really edit the quantity. - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource', - variation_base_category_list=['size']) - - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - title='Order') - line = order.newContent(portal_type=self.order_line_portal_type, - resource_value=resource, - quantity=10, - price=3) - self.assertEquals(10, line.getTotalQuantity()) - self.assertEquals(10 * 3, line.getTotalPrice()) - self.assertEquals(10, order.getTotalQuantity()) - self.assertEquals(10 * 3, order.getTotalPrice()) - - line.setVariationCategoryList(['size/Baby', 'size/Child/32']) - self.assertEquals(0, line.getTotalQuantity()) - self.assertEquals(0, line.getTotalPrice()) - self.assertEquals(0, order.getTotalQuantity()) - self.assertEquals(0, order.getTotalPrice()) - - self.assertTrue(line.hasInRange('size/Baby', base_id='movement')) - cell_baby = line.newCell('size/Baby', base_id='movement', - portal_type=self.order_cell_portal_type) - self.assertEquals(0, cell_baby.getProperty("quantity")) - self.assertEquals(0, cell_baby.getQuantity()) - self.assertFalse(cell_baby.hasProperty('quantity')) - cell_baby.edit(quantity=10, - price=4, - variation_category_list=['size/Baby'], - mapped_value_property_list=['quantity', 'price'], - edit_order=[]) - self.assertEquals(10, cell_baby.getQuantity()) - self.assertEquals(4, cell_baby.getPrice()) - - self.assertTrue(line.hasInRange('size/Child/32', base_id='movement')) - cell_child_32 = line.newCell('size/Child/32', base_id='movement', - portal_type=self.order_cell_portal_type) - self.assertEquals(0, cell_child_32.getQuantity()) - cell_child_32.edit(quantity=20, - price=5, - variation_category_list=['size/Child/32'], - mapped_value_property_list=['quantity', 'price'], - edit_order=[]) - self.assertEquals(20, cell_child_32.getQuantity()) - self.assertEquals(5, cell_child_32.getPrice()) - - self.assertEquals(10 + 20, line.getTotalQuantity()) - self.assertEquals(10*4 + 20*5, line.getTotalPrice()) - - self.assertEquals(10 + 20, order.getTotalQuantity()) - self.assertEquals(10*4 + 20*5, order.getTotalPrice()) - - def test_order_payment_condition_copied(self): - # Payment Condition should be copied in the packing list - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource',) - client = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Client') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Vendor') - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - title='Order', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client) - line = order.newContent(portal_type=self.order_line_portal_type, - resource_value=resource, - quantity=10, - price=3) - # set properties, on the default payment condition - order.setDefaultPaymentConditionQuantity(10) - self.assertEquals(1, len(order.contentValues( - portal_type='Payment Condition'))) - - order.confirm() - self.tic() - related_packing_list = order.getCausalityRelatedValue( - portal_type=self.packing_list_portal_type) - self.assertNotEquals(related_packing_list, None) - self.assertEquals(1, len(related_packing_list.contentValues( - portal_type='Payment Condition'))) - - def test_Order_viewAsODT(self): - # tests order printout - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource',) - client = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Client') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Vendor') - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - title='Order', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client) - order.setReference('OrderReference') - line = order.newContent(portal_type=self.order_line_portal_type, - resource_value=resource, - quantity=10, - price=3) - order.confirm() - self.tic() - - odt = order.Order_viewAsODT() - from Products.ERP5OOo.tests.utils import Validator - odf_validator = Validator() - err_list = odf_validator.validate(odt) - if err_list: - self.fail(''.join(err_list)) - # The name of the printout is the reference of the order - content_disposition = self.portal.REQUEST.RESPONSE.getHeader('content-disposition') - self.assertEquals(content_disposition, 'attachment; filename="OrderReference.odt"') - - def test_Order_viewAsODT_person(self): - # test order printout with a person as destination - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource',) - client = self.portal.person_module.newContent( - portal_type='Person', title='Client') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Vendor') - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - title='Order', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client) - line = order.newContent(portal_type=self.order_line_portal_type, - resource_value=resource, - quantity=10, - price=3) - order.confirm() - self.tic() - - odt = order.Order_viewAsODT() - from Products.ERP5OOo.tests.utils import Validator - odf_validator = Validator() - err_list = odf_validator.validate(odt) - if err_list: - self.fail(''.join(err_list)) - - - def test_Order_viewAsODT_image(self): - # tests order printout with images - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource',) - image = FileUpload(os.path.join(os.path.dirname(__file__), - 'test_data', 'images', 'erp5_logo.png'), 'rb') - client = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Client', - default_image_file=image) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Vendor', - default_image_file=image) - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - title='Order', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client) - line = order.newContent(portal_type=self.order_line_portal_type, - resource_value=resource, - quantity=10, - price=3) - order.confirm() - self.tic() - - odt = order.Order_viewAsODT() - from Products.ERP5OOo.tests.utils import Validator - odf_validator = Validator() - err_list = odf_validator.validate(odt) - if err_list: - self.fail(''.join(err_list)) - - def test_Order_viewAsODT_big_image(self): - # tests order printout with big images (that has Pdata) - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource',) - image = FileUpload(os.path.join(os.path.dirname(__file__), - 'test_data', 'images', 'erp5_logo.bmp'), 'rb') - client = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Client', - default_image_file=image) - from OFS.Image import Pdata - self.assertTrue(isinstance(client.getDefaultImageValue().data, Pdata)) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Vendor', - default_image_file=image) - from OFS.Image import Pdata - self.assertTrue(isinstance(vendor.getDefaultImageValue().data, Pdata)) - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - title='Order', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client) - line = order.newContent(portal_type=self.order_line_portal_type, - resource_value=resource, - quantity=10, - price=3) - order.confirm() - self.tic() - - odt = order.Order_viewAsODT() - from Products.ERP5OOo.tests.utils import Validator - odf_validator = Validator() - err_list = odf_validator.validate(odt) - if err_list: - self.fail(''.join(err_list)) - - def test_Order_viewAsODT_non_ascii(self): - # test order printout with non ascii characters - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Résource',) - - # TODO: once we have updated order printout to use trade model lines, test - # the case of a trade model line with non ascii title on resource. - - # tax = self.portal.tax_module.newContent(portal_type='Tax', title='tà x') - - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Cliént', - default_address_city='Vïllà ') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='VendÅ“r', - default_address_city='Vïllà ') - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - title='Ordà r', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client) - line = order.newContent(portal_type=self.order_line_portal_type, - reference='à ', - resource_value=resource, - quantity=10, - price=3) - - # see TODO above - #tax_line = order.newContent(portal_type='Tax Line', - # resource_value=tax, - # quantity=30, - # price=.26) - - order.confirm() - self.tic() - - odt = order.Order_viewAsODT() - from Products.ERP5OOo.tests.utils import Validator - odf_validator = Validator() - err_list = odf_validator.validate(odt) - if err_list: - self.fail(''.join(err_list)) - - def test_Order_viewAsODT_hierarchical(self): - # tests order printout with hierearchical order (with lines inside lines) - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource',) - client = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Client') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Vendor') - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - title='Order', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client) - line = order.newContent(portal_type=self.order_line_portal_type, - description='Content') - if self.order_line_portal_type not in [x.getId() for x in - line.allowedContentTypes()]: - return # skip this test if hierarchical orders are not available (eg. - # for Purchase Order) - - line = line.newContent(portal_type=self.order_line_portal_type, - resource_value=resource, - quantity=10, - price=3) - order.confirm() - self.tic() - - odt = order.Order_viewAsODT() - from Products.ERP5OOo.tests.utils import Validator - odf_validator = Validator() - err_list = odf_validator.validate(odt) - if err_list: - self.fail(''.join(err_list)) - - # TODO: test with cells ? - - -def test_suite(): - suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(TestOrder)) - return suite diff --git a/product/ERP5Legacy/tests/testLegacyPackingList.py b/product/ERP5Legacy/tests/testLegacyPackingList.py deleted file mode 100644 index b2ee2d27fd..0000000000 --- a/product/ERP5Legacy/tests/testLegacyPackingList.py +++ /dev/null @@ -1,1512 +0,0 @@ -############################################################################## -# -# Copyright (c) 2004-2008 Nexedi SA and Contributors. All Rights Reserved. -# Sebastien Robin <seb@nexedi.com> -# -# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import unittest - -from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase -from zLOG import LOG -from Products.ERP5Type.tests.Sequence import SequenceList -from testLegacyOrder import TestOrderMixin -from DateTime import DateTime - -class TestPackingListMixin(TestOrderMixin): - """ - Test business template erp5_trade - """ - container_portal_type = 'Container' - container_line_portal_type = 'Container Line' - container_cell_portal_type = 'Container Cell' - default_order_sequence = '\ - stepCreateOrganisation1 \ - stepCreateOrganisation2 \ - stepCreateOrganisation3 \ - stepCreateProject1 \ - stepCreateProject2 \ - stepCreateOrder \ - stepCreateCurrency \ - stepSetOrderPriceCurrency \ - stepSetOrderProfile ' - - default_sequence = default_order_sequence + '\ - stepCreateNotVariatedResource \ - stepTic \ - stepCreateOrderLine \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepOrderOrder \ - stepTic \ - stepConfirmOrder \ - stepTic \ - stepCheckOrderSimulation \ - stepCheckDeliveryBuilding \ - stepCheckPackingListIsNotDivergent \ - stepCheckOrderPackingList ' - - confirmed_order_without_packing_list = default_order_sequence + '\ - stepCreateNotVariatedResource \ - stepTic \ - stepCreateOrderLine \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepOrderOrder \ - stepTic \ - stepConfirmOrder \ - stepTic ' - - default_sequence_with_duplicated_lines = default_order_sequence + '\ - stepCreateNotVariatedResource \ - stepTic \ - stepCreateOrderLine \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepTic \ - stepCreateOrderLine \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepOrderOrder \ - stepTic \ - stepConfirmOrder \ - stepTic \ - stepCheckOrderSimulation \ - stepCheckDeliveryBuilding \ - stepCheckPackingListIsNotDivergent \ - stepCheckOrderPackingList ' - - default_sequence_with_two_lines = default_order_sequence + '\ - stepCreateNotVariatedResource \ - stepTic \ - stepCreateOrderLine \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepCreateNotVariatedResource \ - stepTic \ - stepCreateOrderLine \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepOrderOrder \ - stepTic \ - stepConfirmOrder \ - stepTic \ - stepCheckOrderSimulation \ - stepCheckDeliveryBuilding \ - stepCheckPackingListIsNotDivergent \ - stepCheckOrderPackingList' - - variated_default_sequence = default_order_sequence + '\ - stepCreateVariatedResource \ - stepTic \ - stepCreateOrderLine \ - stepSetOrderLineResource \ - stepSetOrderLineDefaultValues \ - stepSetOrderLineFullVCL \ - stepCompleteOrderLineMatrix \ - stepOrderOrder \ - stepTic \ - stepConfirmOrder \ - stepTic \ - stepCheckOrderSimulation \ - stepCheckDeliveryBuilding \ - stepCheckPackingListIsNotDivergent \ - stepCheckOrderPackingList' - - def getTitle(self): - return "Packing List" - - def enableLightInstall(self): - """ - You can override this. - Return if we should do a light install (1) or not (0) - """ - return 1 - - def enableActivityTool(self): - """ - You can override this. - Return if we should create (1) or not (0) an activity tool. - """ - return 1 - - def stepCheckOrderPackingList(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list is matching order - """ - packing_list = sequence.get('packing_list') - order = sequence.get('order') - self.assertEquals(packing_list.getCausalityValue(), order) - self.assertEquals(packing_list.getSource(), order.getSource()) - self.assertEquals(packing_list.getDestination(), order.getDestination()) - self.assertEquals(packing_list.getDestinationSection(), \ - order.getDestinationSection()) - self.assertEquals(packing_list.getSourceSection(), \ - order.getSourceSection()) - self.assertEquals(packing_list.getSourceDecision(), \ - order.getSourceDecision()) - self.assertEquals(packing_list.getDestinationAdministration(), \ - order.getDestinationAdministration()) - self.assertEquals(packing_list.getSourceAdministration(), \ - order.getSourceAdministration()) - self.assertEquals(packing_list.getPriceCurrency(), \ - order.getPriceCurrency()) - self.assertEquals(packing_list.getDestinationProject(), \ - order.getDestinationProject()) - self.assertEquals(packing_list.getSourceProject(), \ - order.getSourceProject()) - - def stepCheckPackingListIsDivergent(self, sequence=None, sequence_list=None, - packing_list=None,**kw): - """ - Test if packing list is divergent - """ - if packing_list is None: - packing_list = sequence.get('packing_list') - self.failIf('Site Error' in packing_list.view()) - self.assertTrue(packing_list.isDivergent()) - - def stepCheckNewPackingListIsDivergent(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list is divergent - """ - packing_list = sequence.get('new_packing_list') - self.failIf('Site Error' in packing_list.view()) - self.stepCheckPackingListIsDivergent(packing_list=packing_list,sequence=sequence) - - def stepCheckPackingListIsCalculating(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list is calculating - """ - packing_list = sequence.get('packing_list') - self.assertEquals('calculating',packing_list.getCausalityState()) - - def stepCheckPackingListIsSolved(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list is solved - """ - packing_list = sequence.get('packing_list') - self.assertEquals('solved',packing_list.getCausalityState()) - - def stepCheckPackingListIsDiverged(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list is divergent - """ - packing_list = sequence.get('packing_list') - self.assertEquals('diverged', packing_list.getCausalityState()) - - def stepCheckPackingListIsNotDivergent(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list is not divergent - """ - packing_list = sequence.get('packing_list') - self.assertFalse(packing_list.isDivergent()) - - def stepChangePackingListLineResource(self, sequence=None, - sequence_list=None, **kw): - """ - Change the resource of the packing list. - """ - packing_list = sequence.get('packing_list') - resource = sequence.get('resource') - for packing_list_line in packing_list.objectValues( - portal_type=self.packing_list_line_portal_type): - packing_list_line.edit(resource_value=resource) - - def stepDecreasePackingListLineQuantity(self, sequence=None, - sequence_list=None, **kw): - """ - Set a decreased quantity on packing list lines - """ - packing_list = sequence.get('packing_list') - quantity = sequence.get('line_quantity',default=self.default_quantity) - quantity = quantity - 1 - sequence.edit(line_quantity=quantity) - for packing_list_line in packing_list.objectValues( - portal_type=self.packing_list_line_portal_type): - packing_list_line.edit(quantity=quantity) - sequence.edit(last_delta = sequence.get('last_delta', 0.0) - 1.0) - - def stepIncreasePackingListLineQuantity(self, sequence=None, - sequence_list=None, **kw): - """ - Set a increased quantity on packing list lines - """ - packing_list = sequence.get('packing_list') - quantity = sequence.get('line_quantity',default=self.default_quantity) - quantity = quantity + 1 - sequence.edit(line_quantity=quantity) - for packing_list_line in packing_list.objectValues( - portal_type=self.packing_list_line_portal_type): - packing_list_line.edit(quantity=quantity) - sequence.edit(last_delta = sequence.get('last_delta', 0.0) + 1.0) - - def stepSplitAndDeferPackingList(self, sequence=None, sequence_list=None, **kw): - """ - Do the split and defer action - """ - packing_list = sequence.get('packing_list') - kw = {'listbox':[ - {'listbox_key':line.getRelativeUrl(), - 'choice':'SplitAndDefer'} for line in packing_list.getMovementList() \ - if line.isDivergent()]} - self.portal.portal_workflow.doActionFor( - packing_list, - 'split_and_defer_action', - start_date=self.datetime + 15, - stop_date=self.datetime + 25, - **kw) - - def stepSplitAndDeferDoNothingPackingList(self, sequence=None, sequence_list=None, **kw): - """ - Do the split and defer action, but choose "do nothing" for divergences - """ - packing_list = sequence.get('packing_list') - kw = {'listbox':[ - {'listbox_key':line.getRelativeUrl(), - 'choice':'ignore'} for line in packing_list.getMovementList() \ - if line.isDivergent()]} - self.portal.portal_workflow.doActionFor( - packing_list, - 'split_and_defer_action', - start_date=self.datetime + 15, - stop_date=self.datetime + 25, - **kw) - - def stepCheckPackingListSplitted(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list was splitted - """ - order = sequence.get('order') - packing_list_list = order.getCausalityRelatedValueList( - portal_type=self.packing_list_portal_type) - self.assertEquals(2,len(packing_list_list)) - packing_list1 = None - packing_list2 = None - for packing_list in packing_list_list: - if packing_list.getUid() == sequence.get('packing_list').getUid(): - packing_list1 = packing_list - else: - packing_list2 = packing_list - sequence.edit(new_packing_list=packing_list2) - for line in packing_list1.objectValues( - portal_type= self.packing_list_line_portal_type): - self.assertEquals(self.default_quantity-1,line.getQuantity()) - for line in packing_list2.objectValues( - portal_type= self.packing_list_line_portal_type): - self.assertEquals(1,line.getQuantity()) - - def stepCheckPackingListSplittedTwoTimes(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list is divergent - """ - order = sequence.get('order') - packing_list_list = order.getCausalityRelatedValueList( - portal_type=self.packing_list_portal_type) - self.assertEquals(2,len(packing_list_list)) - packing_list1 = None - packing_list2 = None - for packing_list in packing_list_list: - if packing_list.getUid() == sequence.get('packing_list').getUid(): - packing_list1 = packing_list - else: - packing_list2 = packing_list - for line in packing_list1.objectValues( - portal_type= self.packing_list_line_portal_type): - self.assertEquals(self.default_quantity-2,line.getQuantity()) - for line in packing_list2.objectValues( - portal_type= self.packing_list_line_portal_type): - self.assertEquals(2,line.getQuantity()) - - def stepCheckPackingListNotSplitted(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list is divergent - """ - order = sequence.get('order') - packing_list_list = order.getCausalityRelatedValueList( - portal_type=self.packing_list_portal_type) - self.assertEquals(1,len(packing_list_list)) - packing_list1 = sequence.get('packing_list') - last_delta = sequence.get('last_delta', 0.0) - for line in packing_list1.objectValues( - portal_type= self.packing_list_line_portal_type): - self.assertEquals(self.default_quantity + last_delta, - line.getQuantity()) - simulation_list = line.getDeliveryRelatedValueList( - portal_type='Simulation Movement') - self.assertEquals(len(simulation_list),1) - simulation_movement = simulation_list[0] - self.assertEquals(self.default_quantity + last_delta, - simulation_movement.getCorrectedQuantity()) - - def stepCheckPackingListNotSolved(self, sequence=None, sequence_list=None, **kw): - """ - This step is specific to test_10 : the incorrectly used solver didn't - solve anything. - """ - order = sequence.get('order') - packing_list_list = order.getCausalityRelatedValueList( - portal_type=self.packing_list_portal_type) - self.assertEquals(1,len(packing_list_list)) - packing_list1 = sequence.get('packing_list') - last_delta = sequence.get('last_delta', 0.0) - for line in packing_list1.objectValues( - portal_type= self.packing_list_line_portal_type): - self.assertEquals(self.default_quantity + last_delta, - line.getQuantity()) - simulation_list = line.getDeliveryRelatedValueList( - portal_type='Simulation Movement') - self.assertEquals(len(simulation_list),1) - simulation_movement = simulation_list[0] - - # Here we don't add last_delta, as the solver didn't do its work. - self.assertEquals(self.default_quantity, - simulation_movement.getCorrectedQuantity()) - - def stepChangePackingListDestination(self, sequence=None, - sequence_list=None, **kw): - """ - Test if packing list is divergent - """ - organisation3 = sequence.get('organisation3') - packing_list = sequence.get('packing_list') - packing_list.edit(destination_value=organisation3) - - def stepCreateOrganisation3(self,sequence=None, sequence_list=None, **kw): - """ - Create a empty organisation - """ - self.stepCreateOrganisation(sequence=sequence, sequence_list=sequence_list, - **kw) - organisation = sequence.get('organisation') - sequence.edit(organisation3=organisation) - - def stepCheckSimulationDestinationUpdated(self,sequence=None, sequence_list=None, **kw): - """ - Test if the destination of the simulation movement was changed - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - self.assertEquals(len(simulation_movement_list),1) - org3 = sequence.get('organisation3') - for simulation_movement in simulation_movement_list: - self.assertEquals(simulation_movement.getDestinationValue(),org3) - - def stepChangePackingListStartDate(self, sequence=None, sequence_list=None, **kw): - """ - Change the start_date of the packing_list. - """ - packing_list = sequence.get('packing_list') - packing_list.edit(start_date=self.datetime + 15) - - def stepCheckSimulationStartDateUpdated(self,sequence=None, sequence_list=None, **kw): - """ - Test if the start_date of the simulation movement was changed - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - self.assertEquals(len(simulation_movement_list),1) - for simulation_movement in simulation_movement_list: - self.assertEquals(simulation_movement.getStartDate(),self.datetime + 15) - - def stepCheckSimulationQuantityUpdated(self,sequence=None, sequence_list=None, **kw): - """ - Test if the quantity of the simulation movement was changed - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - self.assertEquals(len(simulation_movement_list),1) - for simulation_movement in simulation_movement_list: - self.assertEquals(simulation_movement.getQuantity() + \ - simulation_movement.getDeliveryError(), - self.default_quantity) - - def stepCheckSimulationQuantityUpdatedForMergedLine(self,sequence=None, sequence_list=None, **kw): - """ - Test if the quantity of the simulation movement was changed - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - self.assertEquals(len(simulation_movement_list),2) - for simulation_movement in simulation_movement_list: - self.assertEquals(simulation_movement.getQuantity() + \ - simulation_movement.getDeliveryError(), - self.default_quantity) - - def stepEditPackingListLine(self,sequence=None, sequence_list=None, **kw): - """ - Edits a Packing List Line - """ - packing_list_line = sequence.get('packing_list_line') - packing_list_line.edit(description='This line was edited!') - - def stepDeletePackingListLine(self,sequence=None, sequence_list=None, **kw): - """ - Deletes a Packing List Line - """ - packing_list = sequence.get('packing_list') - packing_list_line_id = sequence.get('packing_list_line').getId() - packing_list.manage_delObjects([packing_list_line_id]) - - def stepAddPackingListLine(self,sequence=None, sequence_list=None, **kw): - """ - Adds a Packing List Line - """ - packing_list = sequence.get('packing_list') - packing_list_line = packing_list.newContent( - portal_type=self.packing_list_line_portal_type) - self.stepCreateNotVariatedResource(sequence=sequence, - sequence_list=sequence_list, **kw) - resource = sequence.get('resource') - packing_list_line.setResourceValue(resource) - packing_list_line.edit(price=100, quantity=200) - - def stepCheckSimulationConnected(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are connected - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - self.assertEquals(len(simulation_movement_list),1) - packing_list = sequence.get('packing_list') - packing_list_line = sequence.get('packing_list_line') - for simulation_movement in simulation_movement_list: - self.assertEquals(simulation_movement.getDeliveryValue(),packing_list_line) - self.assertEquals(packing_list_line.getCausalityValue(), - simulation_movement.getOrderValue()) - - def stepCheckSimulationDisconnected(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - self.assertEquals(len(simulation_movement_list),1) - for simulation_movement in simulation_movement_list: - self.assertEquals(simulation_movement.getDeliveryValue(),None) - - def stepModifySimulationLineQuantity(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() -# self.assertEquals(len(simulation_movement_list),1) - for simulation_movement in simulation_movement_list: - simulation_movement.edit(quantity=self.default_quantity-1) - simulation_movement.getOrderValue().edit(quantity=self.default_quantity-1) - - def stepModifySimulationLineQuantityForMergedLine(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - self.assertEquals(len(simulation_movement_list),2) - for simulation_movement in simulation_movement_list: - simulation_movement.edit(quantity=self.default_quantity-1) - simulation_movement.getOrderValue().edit(quantity=self.default_quantity-1) - - def stepModifySimulationLineStartDate(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - resource_list = sequence.get('resource_list') - for simulation_movement in simulation_movement_list: - simulation_movement.recordProperty('start_date') - simulation_movement.edit(start_date=self.datetime+15) - - def stepModifyOneSimulationLineStartDate(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - resource_list = sequence.get('resource_list') - self.assertEquals(len(simulation_movement_list),len(resource_list)) - simulation_movement_list[-1].recordProperty('start_date') - simulation_movement_list[-1].edit(start_date=self.datetime+15) - - def stepModifySimulationLineResource(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - resource_list = sequence.get('resource_list') - for simulation_movement in simulation_movement_list: - simulation_movement.recordProperty('resource') - simulation_movement.edit(resource_value=resource_list[-1]) - - def stepModifyOneSimulationLineResource(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - resource_list = sequence.get('resource_list') - simulation_movement_list[-1].recordProperty('resource') - simulation_movement_list[-1].edit(resource_value=resource_list[-1]) - - def stepNewPackingListAdoptPrevisionQuantity(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - packing_list = sequence.get('new_packing_list') - self._solveDivergence(packing_list, 'quantity', 'adopt') - - def stepUnifyDestinationWithDecision(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - packing_list = sequence.get('packing_list') - self._solveDeliveryGroupDivergence(packing_list, 'destination', - packing_list.getRelativeUrl()) - - def stepUnifyStartDateWithDecision(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - packing_list = sequence.get('packing_list') - self._solveDeliveryGroupDivergence(packing_list, 'start_date', - packing_list.getRelativeUrl()) - - def stepUnifyStartDateWithPrevision(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - packing_list = sequence.get('packing_list') - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - self._solveDeliveryGroupDivergence(packing_list, 'start_date', - simulation_movement_list[-1].getRelativeUrl()) - - def _solveDeliveryGroupDivergence(self, obj, property, target_url): - kw = {'delivery_group_listbox': - {property:{'choice':target_url}}} - self.portal.portal_workflow.doActionFor( - obj, - 'solve_divergence_action', - **kw) - - def stepAcceptDecisionResource(self,sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('packing_list') - self._solveDivergence(packing_list, 'resource', 'accept') - - def stepAcceptDecisionQuantity(self,sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('packing_list') - self._solveDivergence(packing_list, 'quantity', 'accept') - - def stepAdoptPrevisionResource(self,sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('packing_list') - self._solveDivergence(packing_list, 'resource', 'adopt') - - def stepAdoptPrevisionQuantity(self,sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('packing_list') - self._solveDivergence(packing_list, 'quantity', 'adopt') - - def _solveDivergence(self, obj, property, decision, group='line'): - """ - Solve divergences for a given property by taking decision. - FIXME: Only "line" level divergence are supported - """ - kw = {'%s_group_listbox' % group:{}} - for divergence in obj.getDivergenceList(): - if divergence.getProperty('tested_property') != property: - continue - sm_url = divergence.getProperty('simulation_movement').getRelativeUrl() - kw['line_group_listbox']['%s&%s' % (sm_url, property)] = { - 'choice':decision} - self.portal.portal_workflow.doActionFor( - obj, - 'solve_divergence_action', - **kw) - - def stepCheckPackingListLineWithNewQuantityPrevision(self,sequence=None, sequence_list=None, **kw): - """ - Look if the packing list has new previsions - """ - packing_list_line = sequence.get('packing_list_line') - self.assertEquals(packing_list_line.getQuantity(),self.default_quantity-1) - - def stepCheckPackingListLineWithNewQuantityPrevisionForMergedLine(self,sequence=None, sequence_list=None, **kw): - """ - Look if the packing list has new previsions - """ - packing_list_line = sequence.get('packing_list_line') - self.assertEquals(packing_list_line.getQuantity(),(self.default_quantity-1)*2) - - def stepCheckPackingListLineWithDifferentResource(self,sequence=None, sequence_list=None, **kw): - """ - Look if the packing list has new previsions - """ - packing_list_line = sequence.get('packing_list_line') - new_resource = sequence.get('resource') - self.assertEquals(packing_list_line.getQuantity(), self.default_quantity) - self.assertNotEquals(packing_list_line.getResourceValue(), new_resource) - simulation_movement_list = packing_list_line.getDeliveryRelatedValueList() - order_line_list = [x.getOrder() for x in simulation_movement_list] - self.assertEquals(sorted(packing_list_line.getCausalityList()), - sorted(order_line_list)) - new_packing_list_line = packing_list_line.aq_parent[str(int(packing_list_line.getId())+1)] - self.assertEquals(new_packing_list_line.getQuantity(), self.default_quantity) - self.assertEquals(new_packing_list_line.getResourceValue(), new_resource) - simulation_movement_list = new_packing_list_line.getDeliveryRelatedValueList() - order_line_list = [x.getOrder() for x in simulation_movement_list] - self.assertEquals(sorted(new_packing_list_line.getCausalityList()), - sorted(order_line_list)) - - def stepCheckPackingListLineWithSameResource(self,sequence=None, sequence_list=None, **kw): - """ - Look if the packing list has new previsions - """ - order_line = sequence.get('order_line') - packing_list_line = order_line.getCausalityRelatedValue() - old_packing_list_line = [x for x in \ - sequence.get('packing_list').objectValues() \ - if x != packing_list_line][0] - resource = sequence.get('resource') - self.assertEquals(old_packing_list_line.getQuantity(), 0) - self.assertNotEquals(old_packing_list_line.getResourceValue(), resource) - self.assertEquals(packing_list_line.getQuantity(), self.default_quantity * 2) - self.assertEquals(packing_list_line.getResourceValue(), resource) - simulation_movement_list = packing_list_line.getDeliveryRelatedValueList() - order_line_list = [x.getOrder() for x in simulation_movement_list] - self.assertEquals(sorted(packing_list_line.getCausalityList()), - sorted(order_line_list)) - - def stepCheckNewPackingListAfterStartDateAdopt(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - applied_rule = sequence.get('applied_rule') - packing_list_line = sequence.get('packing_list_line') - packing_list = sequence.get('packing_list') - LOG('CheckNewPackingList, self.datetime+15',0,self.datetime+15) - LOG('CheckNewPackingList, packing_list.getStartDate',0,packing_list.getStartDate()) - self.assertEquals(packing_list_line.getQuantity(),self.default_quantity) - self.assertEquals(packing_list.getStartDate(),self.datetime+15) - simulation_movement_list = applied_rule.objectValues() - resource_list = sequence.get('resource_list') - self.assertEquals(len(simulation_movement_list),len(resource_list)) - delivery_value_list = [] - for simulation_movement in simulation_movement_list: -# self.assertNotEquals(simulation_movement.getDeliveryValue(),None) - delivery_value = simulation_movement.getDeliveryValue() - if delivery_value not in delivery_value_list: - delivery_value_list.append(delivery_value_list) -# new_packing_list = delivery_value.getParent() -# self.assertNotEquals(new_packing_list.getUid(),packing_list.getUid()) - self.assertEquals(len(delivery_value_list),len(resource_list)) - - def stepCheckNewSplitPackingListAfterStartDateAdopt(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - applied_rule = sequence.get('applied_rule') - packing_list = sequence.get('packing_list') - packing_list_line = [x for x in packing_list.getMovementList() \ - if x.getQuantity()][0] - new_packing_list = self.portal.sale_packing_list_module[str(int(packing_list.getId())-1)] - new_packing_list_line = [x for x in new_packing_list.getMovementList() \ - if x.getQuantity()][0] - self.assertEquals(packing_list_line.getQuantity(),self.default_quantity) - self.assertEquals(packing_list.getStartDate(),self.datetime+10) - self.assertEquals(new_packing_list_line.getQuantity(),self.default_quantity) - self.assertEquals(new_packing_list.getStartDate(),self.datetime+15) - simulation_movement_list = applied_rule.objectValues() - resource_list = sequence.get('resource_list') - self.assertEquals(len(simulation_movement_list),len(resource_list)) - delivery_value_list = [] - for simulation_movement in simulation_movement_list: -# self.assertNotEquals(simulation_movement.getDeliveryValue(),None) - delivery_value = simulation_movement.getDeliveryValue() - if delivery_value not in delivery_value_list: - delivery_value_list.append(delivery_value_list) -# new_packing_list = delivery_value.getParent() -# self.assertNotEquals(new_packing_list.getUid(),packing_list.getUid()) - self.assertEquals(len(delivery_value_list),len(resource_list)) - - def stepAddPackingListContainer(self,sequence=None, - packing_list=None,sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - if packing_list is None: - packing_list = sequence.get('packing_list') - container = packing_list.newContent(portal_type=self.container_portal_type) - sequence.edit(container=container) - - def stepDefineNewPackingListContainer(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - packing_list = sequence.get('new_packing_list') - self.stepAddPackingListContainer(sequence=sequence,packing_list=packing_list) - self.stepAddPackingListContainerLine(sequence=sequence) - self.stepSetContainerLineFullQuantity(quantity=1,sequence=sequence) - - def stepAddPackingListContainerLine(self,sequence=None, sequence_list=None, **kw): - """ - Add a container line in the packing list - """ - container = sequence.get('container') - container_line = container.newContent(portal_type=self.container_line_portal_type) - sequence.edit(container_line=container_line) - resource = sequence.get('resource') - container_line.edit(resource_value=resource) - - def stepSetContainerLineSmallQuantity(self,sequence=None, sequence_list=None, **kw): - """ - Set a small quantity on the container line, it should not be enough for - the packing list to be packed. - """ - container_line = sequence.get('container_line') - container_line.edit(quantity=self.default_quantity-1) - - def stepCheckContainerLineSmallQuantity(self, sequence=None, - sequence_list=None, **kw): - """ - Checks that quantity is set correctly on the container_line. - """ - container_line = sequence.get('container_line') - self.assertEquals(self.default_quantity - 1, container_line.getQuantity()) - self.assertEquals(self.default_quantity - 1, - container_line.getTotalQuantity()) - - def stepSetContainerLineFullQuantity(self,sequence=None, sequence_list=None, - quantity=None,**kw): - """ - Set the full quantity - """ - container_line = sequence.get('container_line') - if quantity is None: - quantity = sequence.get('line_quantity',self.default_quantity) - container_line.edit(quantity=quantity) - container_line.immediateReindexObject() - - def stepSetContainerFullQuantity(self,sequence=None, sequence_list=None, - quantity=None,**kw): - """ - Really fills the container - """ - packing_list = sequence.get('packing_list') - container = sequence.get('container') - #empty container - container.deleteContent(container.contentIds()) - for line in packing_list.objectValues( - portal_type=self.packing_list_line_portal_type): - resource = line.getResourceValue() - tmp_kw={'movement.resource_uid':resource.getUid()} - container_line = \ - container.newContent(portal_type=self.container_line_portal_type) - container_line.setResourceValue(resource) - # without variation - if not line.hasCellContent(): - quantity = line.getQuantity() - container_line.edit(quantity=quantity) - container_line.immediateReindexObject() - self.assertEquals(quantity, container_line.getQuantity()) - self.assertEquals(quantity, container_line.getTotalQuantity()) - # with variation - elif line.hasCellContent(): - vcl = line.getVariationCategoryList() - vcl.sort() - base_id = 'movement' - container_line.setVariationCategoryList(vcl) - cell_key_list = list(line.getCellKeyList(base_id=base_id)) - cell_key_list.sort() - for cell_key in cell_key_list: - if line.hasCell(base_id=base_id, *cell_key): - old_cell = line.getCell(base_id=base_id, *cell_key) - cell = container_line.newCell(base_id=base_id, - portal_type=self.container_cell_portal_type, *cell_key) - cell.edit(mapped_value_property_list=['price', 'quantity'], - price=old_cell.getPrice(), - quantity=old_cell.getQuantity(), - predicate_category_list=cell_key, - variation_category_list=cell_key) - cell.immediateReindexObject() - self.assertEquals(old_cell.getQuantity(), cell.getQuantity()) - self.assertEquals(old_cell.getTotalQuantity(), cell.getTotalQuantity()) - - self.assertEquals(line.getQuantity(), container_line.getQuantity()) - self.assertEquals(line.getTotalQuantity(), container_line.getTotalQuantity()) - - # quantity is 1 on the container itself - self.assertEquals(1, container.getQuantity()) - self.assertEquals(1, container.getTotalQuantity()) - - def stepCheckPackingListIsNotPacked(self,sequence=None, sequence_list=None, **kw): - """ - Check that the number of objects in containers are - not equals to the quantity of the packing list - """ - packing_list = sequence.get('packing_list') - self.assertEquals(0,packing_list.isPacked()) - self.assertEquals('missing',packing_list.getContainerState()) - - def stepCheckPackingListIsPacked(self,sequence=None, sequence_list=None, - packing_list=None,**kw): - """ - Check that the number of objects in containers are - equals to the quantity of the packing list - """ - if packing_list is None: - packing_list = sequence.get('packing_list') - self.commit() - self.assertEquals(1,packing_list.isPacked()) - self.assertEquals('packed',packing_list.getContainerState()) - - def stepCheckNewPackingListIsPacked(self,sequence=None, sequence_list=None, **kw): - """ - Check that the number of objects in containers are - equals to the quantity of the packing list - """ - packing_list = sequence.get('new_packing_list') - self.stepCheckPackingListIsPacked(sequence=sequence, - packing_list=packing_list) - - def stepCreateCurrency(self, sequence, **kw) : - """Create a default currency. """ - currency_module = self.getCurrencyModule() - if currency_module._getOb('EUR', None) is None: - currency = self.getCurrencyModule().newContent( - portal_type='Currency', - id="EUR", - base_unit_quantity=0.01, - ) - else: - currency = currency_module._getOb('EUR') - sequence.edit(currency=currency) - - def stepSetOrderPriceCurrency(self, sequence, **kw) : - """Set the price currency of the order. - - This step is not necessary. - TODO : - include a test without this step. - - include a test with this step late. - """ - currency = sequence.get('currency') - order = sequence.get('order') - order.setPriceCurrency(currency.getRelativeUrl()) - - - -class TestPackingList(TestPackingListMixin, ERP5TypeTestCase) : - - run_all_test = 1 - quiet = 0 - - def test_01_PackingListDecreaseQuantity(self, quiet=quiet, run=run_all_test): - """ - Change the quantity on an delivery line, then - see if the packing list is divergent and then - split and defer the packing list - """ - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + '\ - stepDecreasePackingListLineQuantity \ - stepCheckPackingListIsCalculating \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepSplitAndDeferPackingList \ - stepTic \ - stepCheckPackingListIsSolved \ - stepCheckPackingListSplitted \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_02_PackingListChangeDestination(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + '\ - stepChangePackingListDestination \ - stepCheckPackingListIsCalculating \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepUnifyDestinationWithDecision \ - stepTic \ - stepCheckPackingListIsSolved \ - stepCheckPackingListIsNotDivergent \ - stepCheckSimulationDestinationUpdated \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_03_PackingListChangeStartDate(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + '\ - stepChangePackingListStartDate \ - stepCheckPackingListIsCalculating \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepUnifyStartDateWithDecision \ - stepTic \ - stepCheckPackingListIsSolved \ - stepCheckPackingListIsNotDivergent \ - stepCheckSimulationStartDateUpdated \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_04_PackingListDeleteLine(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + '\ - stepCheckSimulationConnected \ - stepDeletePackingListLine \ - stepCheckPackingListIsNotDivergent \ - stepTic \ - stepCheckSimulationDisconnected \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_05_SimulationChangeQuantity(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + '\ - stepModifySimulationLineQuantity \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepAdoptPrevisionQuantity \ - stepTic \ - stepCheckPackingListIsNotDivergent \ - stepCheckPackingListIsSolved \ - stepCheckPackingListLineWithNewQuantityPrevision \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_05a_SimulationChangeQuantityAndAcceptDecision(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + '\ - stepModifySimulationLineQuantity \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepAcceptDecisionQuantity \ - stepTic \ - stepCheckPackingListIsNotDivergent \ - stepCheckPackingListIsSolved \ - stepCheckSimulationQuantityUpdated \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_05b_SimulationChangeQuantityForMergedLine(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence_with_duplicated_lines + '\ - stepModifySimulationLineQuantityForMergedLine \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepAdoptPrevisionQuantity \ - stepTic \ - stepCheckPackingListIsNotDivergent \ - stepCheckPackingListIsSolved \ - stepCheckPackingListLineWithNewQuantityPrevisionForMergedLine \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_05c_SimulationChangeQuantityAndAcceptDecisionForMergedLine(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence_with_duplicated_lines + '\ - stepModifySimulationLineQuantityForMergedLine \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepAcceptDecisionQuantity \ - stepTic \ - stepCheckPackingListIsNotDivergent \ - stepCheckPackingListIsSolved \ - stepCheckSimulationQuantityUpdatedForMergedLine \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_05d_SimulationChangeResourceOnOneSimulationMovementForMergedLine(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence_with_duplicated_lines + '\ - stepCreateNotVariatedResource \ - stepModifyOneSimulationLineResource \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepAdoptPrevisionResource \ - stepTic \ - stepCheckPackingListIsNotDivergent \ - stepCheckPackingListIsSolved \ - stepCheckPackingListLineWithDifferentResource \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_05e_SimulationUnifyResourceOnSimulationMovementsForNonMergedLines(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence_with_two_lines + '\ - stepModifySimulationLineResource \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepAdoptPrevisionResource \ - stepTic \ - stepCheckPackingListIsNotDivergent \ - stepCheckPackingListIsSolved \ - stepCheckPackingListLineWithSameResource \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_05f_SimulationChangeAndPartialAcceptDecision(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence_with_duplicated_lines + '\ - stepCreateNotVariatedResource \ - stepModifySimulationLineQuantityForMergedLine \ - stepModifyOneSimulationLineResource \ - stepModifySimulationLineStartDate \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepAcceptDecisionQuantity \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepAcceptDecisionResource \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepUnifyStartDateWithDecision \ - stepTic \ - stepCheckPackingListIsNotDivergent \ - stepCheckPackingListIsSolved \ - stepCheckSimulationQuantityUpdatedForMergedLine \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_06_SimulationChangeStartDate(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + '\ - stepModifySimulationLineStartDate \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepUnifyStartDateWithPrevision \ - stepTic \ - stepCheckPackingListIsSolved \ - stepCheckNewPackingListAfterStartDateAdopt \ - ' - # XXX Check if there is a new packing list created - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_07_SimulationChangeStartDateWithTwoOrderLine(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence_with_two_lines + '\ - stepModifySimulationLineStartDate \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepCheckPackingListIsDivergent \ - stepUnifyStartDateWithPrevision \ - stepTic \ - stepCheckPackingListIsNotDivergent \ - stepCheckPackingListIsSolved \ - stepCheckNewPackingListAfterStartDateAdopt \ - ' - # XXX Check if there is a new packing list created - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_07a_SimulationChangeStartDateWithTwoOrderLine(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence_with_two_lines + '\ - stepModifyOneSimulationLineStartDate \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepCheckPackingListIsDivergent \ - stepUnifyStartDateWithPrevision \ - stepTic \ - stepCheckPackingListIsNotDivergent \ - stepCheckPackingListIsSolved \ - stepCheckNewPackingListAfterStartDateAdopt \ - ' - # XXX Check if there is a new packing list created - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_08_AddContainers(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + '\ - stepAddPackingListContainer \ - stepAddPackingListContainerLine \ - stepSetContainerLineSmallQuantity \ - stepCheckContainerLineSmallQuantity \ - stepCheckPackingListIsNotPacked \ - stepSetContainerFullQuantity \ - stepTic \ - stepCheckPackingListIsPacked \ - ' - # XXX Check if there is a new packing list created - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_09_AddContainersWithVariatedResources(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a order with cells - sequence_string = self.variated_default_sequence + '\ - stepAddPackingListContainer \ - stepAddPackingListContainerLine \ - stepSetContainerLineSmallQuantity \ - stepCheckContainerLineSmallQuantity \ - stepCheckPackingListIsNotPacked \ - stepSetContainerFullQuantity \ - stepTic \ - stepCheckPackingListIsPacked \ - stepModifySimulationLineStartDate \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepCheckPackingListIsDivergent \ - stepUnifyStartDateWithPrevision \ - stepTic \ - ' - # XXX Check if there is a new packing list created - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_10_PackingListIncreaseQuantity(self, quiet=quiet, run=run_all_test): - """ - - Increase the quantity on an delivery line - - check if the packing list is divergent - - Apply the "split and defer" solver to the packing list - - check that nothing was splitted and the packing list is still divergent - (reset the delta before, as we don't expect a modification) - - Basically, when we apply "split and defer" to a packing list, we don't - want it to modify lines which have been increased. - """ - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + '\ - stepIncreasePackingListLineQuantity \ - stepCheckPackingListIsCalculating \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepSplitAndDeferPackingList \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepCheckPackingListIsDivergent \ - stepCheckPackingListNotSolved \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_11_PackingListDecreaseTwoTimesQuantityAndUpdateDelivery(self, - quiet=quiet, run=run_all_test): - """ - Change the quantity on an delivery line, then - see if the packing list is divergent and then - split and defer the packing list - """ - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + '\ - stepDecreasePackingListLineQuantity \ - stepCheckPackingListIsCalculating \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepSplitAndDeferPackingList \ - stepTic \ - stepCheckPackingListIsSolved \ - stepCheckPackingListSplitted \ - stepDecreasePackingListLineQuantity \ - stepCheckPackingListIsCalculating \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepSplitAndDeferPackingList \ - stepTic \ - stepCheckNewPackingListIsDivergent \ - stepNewPackingListAdoptPrevisionQuantity \ - stepTic \ - stepCheckPackingListIsSolved \ - stepCheckPackingListSplittedTwoTimes \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_SplitAndDeferDoNothing(self, quiet=quiet, run=run_all_test): - """ - Use split & defer to solve a divergence, but choose do nothing for all - lines. - """ - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + '\ - stepIncreasePackingListLineQuantity \ - stepCheckPackingListIsCalculating \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepSplitAndDeferDoNothingPackingList \ - stepTic \ - stepCheckPackingListIsDiverged \ - stepCheckPackingListIsDivergent \ - stepCheckPackingListNotSolved \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - - def test_12_PackingListLineChangeResource(self, quiet=quiet, run=run_all_test): - """ - Test if delivery diverged when we change the resource. - """ - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + '\ - stepCreateNotVariatedResource \ - stepChangePackingListLineResource \ - stepCheckPackingListIsCalculating \ - stepTic \ - stepCheckPackingListIsDivergent \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_14_PackingListHavePriceCurrencyCategory(self, quiet=quiet, - run=run_all_test): - """Deliveries must have a price currency category. #252 - """ - if not run: - return - pl = self.getPortal().getDefaultModule(self.packing_list_portal_type - ).newContent(portal_type=self.packing_list_portal_type) - self.failUnless(hasattr(pl, 'getPriceCurrency')) - - def test_PackingList_viewAsODT(self): - # tests packing list printout - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource',) - client = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Client') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Vendor') - packing_list = self.portal.getDefaultModule(self.packing_list_portal_type).newContent( - portal_type=self.packing_list_portal_type, - title='Packing List', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client) - line = packing_list.newContent( - portal_type=self.packing_list_line_portal_type, - resource_value=resource, - quantity=10, - price=3) - packing_list.confirm() - self.tic() - - odt = packing_list.PackingList_viewAsODT() - from Products.ERP5OOo.tests.utils import Validator - odf_validator = Validator() - err_list = odf_validator.validate(odt) - if err_list: - self.fail(''.join(err_list)) - - def test_15_CheckBuilderCanBeCalledTwiceSafely(self): - """ - Builder design should allows to call the build method as many times as we - want. Make sure that we will not have duplicated packing list if build is - called several times. - """ - delivery_builder = getattr(self.getPortalObject().portal_deliveries, - self.delivery_builder_id) - - def doNothing(self, *args, **kw): - pass - original_delivery_builder_build = delivery_builder.__class__.build - - try: - # We patch the delivery builder to make sure that it will not be - # called by activities - delivery_builder.__class__.build = doNothing - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.confirmed_order_without_packing_list - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - - # Now restore the build method and make sure first call returns document - delivery_builder.__class__.build = original_delivery_builder_build - self.assertTrue(len(delivery_builder.build()) > 0) - # The second call should returns empty result even if tic not called - self.assertTrue(len(delivery_builder.build()) == 0) - finally: - delivery_builder.build = original_delivery_builder_build - - def test_16_simulation_reindexation_on_cancel(self): - self.organisation_portal_type = 'Organisation' - self.resource_portal_type = 'Product' - - packing_list_module = self.portal.getDefaultModule( - portal_type=self.packing_list_portal_type) - organisation_module = self.portal.getDefaultModule( - portal_type=self.organisation_portal_type) - resource_module = self.portal.getDefaultModule( - portal_type=self.resource_portal_type) - source = organisation_module.newContent( - portal_type=self.organisation_portal_type) - destination = organisation_module.newContent( - portal_type=self.organisation_portal_type) - resource = resource_module.newContent( - portal_type=self.resource_portal_type) - - packing_list = packing_list_module.newContent( - portal_type=self.packing_list_portal_type, - source_value=source, - destination_value=destination, - start_date=DateTime()) - packing_list_line = packing_list.newContent( - portal_type=self.packing_list_line_portal_type, - resource_value=resource, - quantity=1) - packing_list.confirm() - self.tic() - self.assertEqual('confirmed', packing_list.getSimulationState()) - simulation_movement = packing_list_line.getDeliveryRelatedValue( - portal_type='Simulation Movement') - self.assertEqual('confirmed', simulation_movement.getSimulationState()) - packing_list.cancel() - self.tic() - self.assertEqual('cancelled', packing_list.getSimulationState()) - self.assertEqual('cancelled', simulation_movement.getSimulationState()) - - -class TestPurchasePackingListMixin(TestPackingListMixin): - """Mixing class with steps to test purchase packing lists. - """ - order_portal_type = 'Purchase Order' - order_line_portal_type = 'Purchase Order Line' - order_cell_portal_type = 'Purchase Order Cell' - packing_list_portal_type = 'Purchase Packing List' - packing_list_line_portal_type = 'Purchase Packing List Line' - packing_list_cell_portal_type = 'Purchase Packing List Cell' - delivery_builder_id = 'purchase_packing_list_builder' - container_portal_type = None - container_line_portal_type = None - container_cell_portal_type = None - - # all steps related to packing and container does not apply on purchase - def ignored_step(self, **kw): - return - stepAddPackingListContainer = ignored_step - stepDefineNewPackingListContainer = ignored_step - stepAddPackingListContainerLine = ignored_step - stepSetContainerLineSmallQuantity = ignored_step - stepCheckContainerLineSmallQuantity = ignored_step - stepSetContainerLineFullQuantity = ignored_step - stepSetContainerFullQuantity = ignored_step - stepCheckPackingListIsNotPacked = ignored_step - stepCheckPackingListIsPacked = ignored_step - stepCheckNewPackingListIsPacked = ignored_step - - -class TestPurchasePackingList(TestPurchasePackingListMixin, TestPackingList): - """Tests for purchase packing list. - """ -def test_suite(): - suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(TestPackingList)) - suite.addTest(unittest.makeSuite(TestPurchasePackingList)) - return suite diff --git a/product/ERP5Legacy/tests/testLegacyProductionOrder.py b/product/ERP5Legacy/tests/testLegacyProductionOrder.py deleted file mode 100644 index fc2b1fdcbd..0000000000 --- a/product/ERP5Legacy/tests/testLegacyProductionOrder.py +++ /dev/null @@ -1,1827 +0,0 @@ -############################################################################## -# -# Copyright (c) 2005-2008 Nexedi SARL and Contributors. All Rights Reserved. -# Sebastien Robin <seb@nexedi.com> -# Romain Courteaud <romain@nexedi.com> -# Lukasz Nowak <lukasz.nowak@ventis.com.pl> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import unittest - - -from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase -from zLOG import LOG -from Products.ERP5Type.tests.Sequence import SequenceList -from Products.CMFCore.utils import getToolByName -from testLegacyOrder import TestOrderMixin - -class TestProductionOrderMixin(TestOrderMixin): - - run_all_test = 1 - resource_portal_type = 'Product' - order_portal_type = 'Production Order' - order_line_portal_type = 'Production Order Line' - order_cell_portal_type = 'Production Order Cell' - supply_chain_portal_type = 'Supply Chain' - supply_node_portal_type = 'Supply Node' - supply_link_portal_type = 'Supply Link' - component_portal_type = 'Component' - transformation_portal_type = 'Transformation' - transformed_resource_portal_type = \ - 'Transformation Transformed Resource' - operation_line_portal_type = 'Transformation Operation' - - operation_category_list = ['operation1', 'operation2'] - colour_variation_portal_type = 'Product Individual Variation' - morphology_variation_portal_type = 'Product Individual Variation' - - colour_list = ['green','blue'] - mrp_size_list = ['Man','Woman'] - - - def getBusinessTemplateList(self): - """ - """ - return TestOrderMixin.getBusinessTemplateList(self) + ( - 'erp5_mrp', 'erp5_mrp_simulation_legacy') - - def setUpPreferences(self): - portal = self.getPortal() - preferences = getToolByName(portal,'portal_preferences') - - system_preference = preferences.newContent( - portal_type = 'System Preference' - ) - - system_preference.edit( - preferred_product_individual_variation_base_category = ('variation',), - preferred_component_individual_variation_base_category = ('variation',), - preferred_product_variation_base_category = ('industrial_phase', 'colour', 'size'), - preferred_component_variation_base_category = ('colour', 'size'), - priority = 1, - ) - - system_preference.enable() - self.tic() - - def afterSetUp(self): - TestOrderMixin.afterSetUp(self) - self.setUpPreferences() - - def createCategories(self): - """ - Light install create only base categories, so we create - some categories for testing them - """ - TestOrderMixin.createCategories(self) - if len(self.category_tool.operation.contentValues()) == 0: - for category_id in self.operation_category_list: - o = self.category_tool.operation.newContent( - portal_type='Category', - id=category_id) - - def stepCreateColourSizeVariatedComponent1(self,sequence=None, sequence_list=None, \ - **kw): - """ - Create a resource with colour and size variation - """ - portal = self.getPortal() - resource_module = portal.getDefaultModule(self.component_portal_type) - resource = resource_module.newContent( - portal_type=self.component_portal_type) - resource.edit( - title = "ColourSizeVariatedComponent1", - variation_base_category_list = ['colour','size'], - ) - resource.setVariationCategoryList(['size/'+q for q in self.mrp_size_list] + ['colour/'+q for q in self.colour_list]) - sequence.edit(component1=resource) - - def stepCreateColourSizeVariatedResource(self, sequence=None, sequence_list=None, \ - **kw): - """ - Create a resource with colour and size variation - """ - portal = self.getPortal() - resource_module = portal.getDefaultModule(self.resource_portal_type) - resource = resource_module.newContent(portal_type=self.resource_portal_type) - resource.edit( - title = "ColourSizeVariatedResource", - industrial_phase_list=["phase1", "phase2"], - variation_base_category_list = ['size','colour'], - ) - resource.setVariationCategoryList(['size/'+q for q in self.mrp_size_list] + ['colour/'+q for q in self.colour_list]) - - sequence.edit( resource = resource ) - resource_list = sequence.get('resource_list',default=[]) - resource_list.append(resource) - sequence.edit( resource_list = resource_list ) - - def stepCreateVariatedResource(self, sequence=None, sequence_list=None, \ - **kw): - """ - Create a resource with variation - """ - portal = self.getPortal() - resource_module = portal.getDefaultModule(self.resource_portal_type) - resource = resource_module.newContent(portal_type=self.resource_portal_type) - resource.edit( - title = "VariatedResource", - industrial_phase_list=["phase1", "phase2"], - product_line = 'apparel' - ) -# resource.setSizeList(self.size_list) - # Add colour variation - - colour_variation_count = 3 - for i in range(colour_variation_count): - variation = resource.newContent(portal_type = self.colour_variation_portal_type) - variation.edit( - title = 'ColourVariation%s' % str(i), - variation_base_category_list = ('variation',) - ) - # Add morphology variation - morphology_variation_count = 2 - for i in range(morphology_variation_count) : - variation = resource.newContent(portal_type=self.morphology_variation_portal_type) - variation.edit( - title = 'MorphologyVariation%s' % str(i), - variation_base_category_list = ('variation',) - ) - - sequence.edit( resource = resource ) - resource_list = sequence.get('resource_list',default=[]) - resource_list.append(resource) - sequence.edit( resource_list = resource_list ) - - def stepCreateProductionOrganisation1(self, sequence=None, sequence_list=None, - **kw): - """ - Create a organisation for supply - """ - self.stepCreateOrganisation(sequence=sequence, sequence_list=sequence_list, - title='production_organisation1', **kw) - - # Note: SC means Supply Chain - def stepCreateGenericSC(self, sequence=None, sequence_list=None, **kw): - """ - Create a empty Supply Chain - """ - portal = self.getPortal() - supply_chain_module = portal.getDefaultModule( \ - portal_type=self.supply_chain_portal_type) - supply_chain = supply_chain_module.newContent( \ - portal_type=self.supply_chain_portal_type) - supply_chain.edit( - title = "Supply Chain Generic", - ) - sequence.edit(supply_chain=supply_chain) - - def stepCreateProductionSC(self, sequence=None, sequence_list=None, - **kw): - """ - Create a empty organisation - """ - # Create supply chain - self.stepCreateGenericSC(sequence=sequence, sequence_list=sequence_list, - **kw) - supply_chain = sequence.get('supply_chain') - supply_chain.edit( - title = 'Supply Chain Production' - ) - # Create production node - production_organisation = sequence.get('production_organisation1') - production_node = supply_chain.newContent( - portal_type=self.supply_node_portal_type) - production_node.edit( - destination_value=production_organisation - ) - sequence.edit(production_node1=production_node) - # Create production link - production_link = supply_chain.newContent( - portal_type=self.supply_link_portal_type) - production_link.edit( - destination_value=production_node, - destination_section_value=production_organisation, - min_delay=5, - max_delay=6, - deliverable=1, - industrial_phase_list=["phase1"] - ) - - def stepCreateComponent1(self,sequence=None, sequence_list=None, \ - **kw): - """ - Create a resource with no variation - """ - portal = self.getPortal() - resource_module = portal.getDefaultModule(self.component_portal_type) - resource = resource_module.newContent( - portal_type=self.component_portal_type) - resource.edit( - title = "Component1" - ) - sequence.edit(component1=resource) - - def stepCreateComponent2(self,sequence=None, sequence_list=None, \ - **kw): - """ - Create a resource with no variation - """ - portal = self.getPortal() - resource_module = portal.getDefaultModule(self.component_portal_type) - resource = resource_module.newContent( - portal_type=self.component_portal_type) - resource.edit( - title = "Component2" - ) - sequence.edit(component2=resource) - - def stepInvalidateTransformation(self, sequence=None, sequence_list=None, - **kw): - transformation = sequence.get('transformation') - - workflow_tool = self.getPortal().portal_workflow - - workflow_tool.doActionFor( - transformation, - 'invalidate_action' - ) - - self.assertEquals('invalidated',transformation.getValidationState()) - - def stepValidateTransformation(self, sequence=None, sequence_list=None, - **kw): - transformation = sequence.get('transformation') - - workflow_tool = self.getPortal().portal_workflow - - workflow_tool.doActionFor( - transformation, - 'validate_action' - ) - - self.assertEquals('validated',transformation.getValidationState()) - - def stepCreateEmptyTransformation(self, sequence=None, sequence_list=None, - **kw): - portal = self.getPortal() - transformation_module = portal.getDefaultModule( - self.transformation_portal_type) - transformation = transformation_module.newContent( - portal_type=self.transformation_portal_type) - sequence.edit(transformation=transformation) - - - def stepSetTransformationTransformedResourceQuantityMatrix(self, sequence=None, sequence_list=None, - **kw): - """ - Fills variation based quantity matrix - """ - - transformation_transformed_resource = sequence.get('transformation_transformed_resource') - - for colour in self.colour_list: - colour_path = 'colour/%s' % colour - for size in self.mrp_size_list: - size_path = 'size/%s' % size - quantity = self.colour_size_quantity_dict[colour][size] - transformation_transformed_resource.newCell( - colour_path, - size_path, - mapped_value_property_list = ('quantity',), - quantity=quantity, - membership_criterion_base_category= ('size', 'colour', ), - membership_criterion_category= (size_path, colour_path,), - base_id="quantity", - ) - - def stepSetTransformationTransformedResourceVariationMatrix(self, sequence=None, sequence_list=None, - **kw): - """ - Fills variation matrix - """ - - transformation_transformed_resource = sequence.get('transformation_transformed_resource') - - for colour in self.colour_list: - colour_path = 'colour/%s' % colour - for size in self.mrp_size_list: - size_path = 'size/%s' % size - variation_list = self.colour_size_variation_dict[colour][size] - transformation_transformed_resource.newCell( - colour_path, - size_path, - categories = variation_list, - membership_criterion_base_category= ('size', 'colour', ), - membership_criterion_category= (size_path, colour_path,), - base_id="variation", - ) - - def stepSetOrderLineQuantityMatrix(self, sequence=None, sequence_list=None, - **kw): - """ - Fills variation based quantity matrix - """ - order_line = sequence.get('order_line') - for colour in self.colour_list: - colour_path = 'colour/%s' % colour - for size in self.mrp_size_list: - size_path = 'size/%s' % size - order_line.newCell( - size_path, - colour_path, - mapped_value_property_list = ('quantity',), - quantity = self.order_line_colour_size_quantity_dict[colour][size], - categories = [size_path, colour_path], - membership_criterion_base_category= ('size', 'colour', ), - membership_criterion_category= (size_path, colour_path,), - base_id='movement', - ) - - def stepSetOrderLineVariationCategories(self, sequence=None, sequence_list=None, - **kw): - order_line = sequence.get('order_line') - - order_line.setVariationCategoryList( - value = self.order_line_variation_category_list - ) - - def stepSetTransformationTransformedResourceVariation(self, sequence=None, sequence_list=None, - **kw): - """ - Fills categories of variation - """ - - transformation_transformed_resource = sequence.get('transformation_transformed_resource') - - transformation_transformed_resource.edit( - v_variation_base_category_list = self.variation_category_list, - q_variation_base_category_list = self.variation_category_list, - ) - - def stepSetTransformationVariation(self, sequence=None, sequence_list=None, - **kw): - """ - Fills categories of variation - """ - - transformation = sequence.get('transformation') - - transformation.edit( - variation_base_category_list = self.variation_category_list - ) - - def stepFillTransformationWithResource(self, sequence=None, sequence_list=None, - **kw): - - transformation = sequence.get('transformation') - - resource = sequence.get('resource') - - self.assertNotEquals(None, resource) - - transformation.edit( - resource_value = resource - ) - - def stepSetOrderLineQuantity(self, sequence=None, sequence_list=None, - **kw): - order_line = sequence.get('order_line') - order_line.edit( - quantity = self.production_order_line_quantity - ) - - def stepSetTransformationTransformedResourceQuantity(self, sequence=None, sequence_list=None, - **kw): - transformation_transformed_resource = sequence.get('transformation_transformed_resource') - transformation_transformed_resource.edit( - quantity = self.transformation_transformed_resource_quantity - ) - - def stepSetTransformationTransformedResourceEfficiency(self, sequence=None, sequence_list=None, - **kw): - transformation_transformed_resource = sequence.get('transformation_transformed_resource') - transformation_transformed_resource.edit( - efficiency = self.transformation_transformed_resource_efficiency - ) - - def stepSetTransformationTransformedResourceIndustrialPhaseList(self, sequence=None, sequence_list=None, - **kw): - transformation_transformed_resource = sequence.get('transformation_transformed_resource') - transformation_transformed_resource.edit( - industrial_phase_list = self.transformation_transformed_resource_industrial_phase_list - ) - - def stepFillTransformationTransformedResourceWithComponent1(self, sequence=None, sequence_list=None, - **kw): - transformation_transformed_resource = sequence.get('transformation_transformed_resource') - component1 = sequence.get('component1') - - self.assertNotEquals(None, component1) - - transformation_transformed_resource.edit( - resource_value = component1, - ) - - def stepCreateTransformationTransformedResource(self, sequence=None, sequence_list=None, - **kw): - - transformation = sequence.get('transformation') - transformation_transformed_resource = transformation.newContent( - portal_type = self.transformed_resource_portal_type, - ) - - sequence.edit(transformation_transformed_resource = transformation_transformed_resource) - - def stepCreateTransformation(self, sequence=None, sequence_list=None, - **kw): - """ - Create a transformation - """ - # Create transformation - portal = self.getPortal() - transformation_module = portal.getDefaultModule( - self.transformation_portal_type) - transformation = transformation_module.newContent( - portal_type=self.transformation_portal_type) - sequence.edit(transformation=transformation) - # Set resource - resource = sequence.get('resource') - transformation.setResourceValue(resource) - # Create operation line 1 - operation_line = transformation.newContent( - portal_type=self.operation_line_portal_type) - operation_line.edit( - # FIXME hardcoded - quantity=2, - resource_value=portal.portal_categories.resolveCategory( - 'operation/operation1'), - industrial_phase_list=['phase1'] - ) - - # Create operation line 2 - operation_line = transformation.newContent( - portal_type=self.operation_line_portal_type) - operation_line.edit( - # FIXME hardcoded - quantity=3, - resource_value=portal.portal_categories.resolveCategory( - 'operation/operation2'), - industrial_phase_list=['phase2'] - ) - # Create transformed resource line 1 - line = transformation.newContent( - portal_type=self.transformed_resource_portal_type) - line.edit( - # FIXME hardcoded - quantity=6, - resource_value=sequence.get('component1'), - industrial_phase_list=['supply_phase1'] - ) - # Create transformed resource line 2 - line = transformation.newContent( - portal_type=self.transformed_resource_portal_type) - line.edit( - # FIXME hardcoded - quantity=7, - resource_value=sequence.get('component2'), - industrial_phase_list=['supply_phase2'] - ) - - def stepCreateOrder(self, sequence=None, sequence_list=None, **kw): - """ - Create a filled order - """ - portal = self.getPortal() - order_module = portal.getDefaultModule(portal_type=self.order_portal_type) - order = order_module.newContent(portal_type=self.order_portal_type) - organisation = sequence.get('organisation') - supply_chain = sequence.get('supply_chain') - order.edit( - start_date = self.datetime + 10, - stop_date = self.datetime + 20, - destination_value=organisation, - destination_section_value=organisation, - specialise_value=supply_chain - ) - sequence.edit(order=order) - - def stepCreateOrderLine(self, sequence=None, sequence_list=None, **kw): - """ - Create a filled order line - """ - order = sequence.get('order') - order_line = order.newContent(portal_type=self.order_line_portal_type) - resource = sequence.get('resource') - transformation = sequence.get('transformation') - order_line.edit( - resource_value=resource, - specialise_value=transformation, - quantity=5 - ) - sequence.edit(order_line=order_line) - - def stepCreateOrderLineWithoutTransformation(self, sequence=None, sequence_list=None, **kw): - """ - Create a empty order line - """ - order = sequence.get('order') - order_line = order.newContent(portal_type=self.order_line_portal_type) - resource = sequence.get('resource') - order_line.edit( - resource_value=resource, - quantity=5 - ) - sequence.edit(order_line=order_line) - - def stepCheckVariationSimulation(self, sequence=None, sequence_list=None, **kw): - # XXX: This check is not testing too much, beside for variation system - # used in production simulations. - order = sequence.get('order') - - movement_list = order.getMovementList() - self.assertNotEqual(len(movement_list), 0) - - for order_movement in movement_list: - size = order_movement.getSize() - colour = order_movement.getColour() - - self.assertNotEqual(size, None) - self.assertNotEqual(colour, None) - - want_produced_quantity = self.order_line_colour_size_quantity_dict[colour][size] - want_consume_quantity = self.colour_size_quantity_dict[colour][size] - want_consume_for_production = want_produced_quantity * want_consume_quantity - - produced_movement = order_movement.getOrderRelatedValue(\ - portal_type='Simulation Movement') - - self.assertEquals( - want_produced_quantity, - produced_movement.getQuantity() - ) - - transformation_rule = produced_movement.contentValues()[0] - - consumption_movement = [q for q in transformation_rule.contentValues() \ - if q.getId().startswith('cr')][0] - production_delivery_movement = [q for q in transformation_rule.contentValues() \ - if q.getId().startswith('pr')][0] - - self.assertEquals( - want_consume_for_production, - consumption_movement.getQuantity() - ) - - self.assertEquals( - want_produced_quantity, - production_delivery_movement.getQuantity() - ) - - transformation_sourcing_rule = consumption_movement.contentValues()[0] - - consume_delivery_movement = transformation_sourcing_rule.contentValues()[0] - - self.assertEquals( - want_consume_for_production, - consume_delivery_movement.getQuantity() - ) - - def stepCheckEfficiencySimulation(self, sequence=None, sequence_list=None, **kw): - """Check that efficiency is applied where is it needed""" - - # XXX: This check is not testing too much, beside for efficiency related quantity - # in just two places. - order = sequence.get('order') - - applied_rule = order.getCausalityRelatedValue(portal_type = self.applied_rule_portal_type) - - production_movement_list = applied_rule.contentValues() - - # XXX: hardcode - self.assertEquals( - 1, - len(production_movement_list) - ) - - production_movement = production_movement_list[0] - - transformation_applied_rule = production_movement.contentValues()[0] - - consumed_movement = [q for q in transformation_applied_rule.contentValues() \ - if q.getId().startswith('cr')][0] - - self.assertEquals( - consumed_movement.getQuantity(), - self.quantity_after_efficiency_calculation - ) - - transformation_sourcing_rule = consumed_movement.contentValues()[0] - - consumption_delivery_movement = [q for q in transformation_sourcing_rule.contentValues() \ - if q.getId().startswith('ts')][0] - - self.assertEquals( - consumption_delivery_movement.getQuantity(), - self.quantity_after_efficiency_calculation - ) - - def stepCheckOrderLineTransformationIsSet(self, sequence=None, sequence_list=None, **kw): - order_line = sequence.get('order_line') - transformation = sequence.get('transformation') - - self.assertNotEquals(None, transformation) - - self.assertEquals(order_line.getSpecialiseValue(), transformation) - - def stepCheckOrderLineTransformationIsNotSet(self, sequence=None, sequence_list=None, **kw): - order_line = sequence.get('order_line') - - self.assertEquals(order_line.getSpecialiseValue(), None) - - def stepRemoveResourceFromOrderLine(self, sequence=None, sequence_list=None, **kw): - order_line = sequence.get('order_line') - - order_line.edit( - resource = None - ) - - def stepCheckOrderSimulation(self, sequence=None, sequence_list=None, **kw): - """ - Test if simulation is matching order - """ - order = sequence.get('order') - related_applied_rule_list = order.getCausalityRelatedValueList( \ - portal_type=self.applied_rule_portal_type) - no_applied_rule_state = ('draft', 'auto_planned') - order_state = order.getSimulationState() - if order_state in no_applied_rule_state: - self.assertEquals(0, len(related_applied_rule_list)) - else: - self.assertEquals(1, len(related_applied_rule_list)) - applied_rule = related_applied_rule_list[0].getObject() - sequence.edit(applied_rule=applied_rule) - self.failUnless(applied_rule is not None) - # Test if applied rule has a specialise value with default_order_rule - portal_rules = getToolByName(order, 'portal_rules') - # XXX hardcoded value - self.assertEquals('default_production_order_rule', \ - applied_rule.getSpecialiseReference()) - - simulation_movement_list = applied_rule.objectValues() - sequence.edit(simulation_movement_list=simulation_movement_list) - - def checkObjectAttributes(self, object, attribute_list): - LOG('checkObjectAttributes object.getPath',0,object.getPath()) - for value, attribute in attribute_list: - try: - self.assertEquals(value, - getattr(object, attribute)()) - except AssertionError: - LOG('Raise Assertion error',0,'') - LOG('object.getQuantity()',0,object.getQuantity()) - LOG('object.__dict__',0,object.__dict__) - order_value = object.getOrderValue() - LOG('object.getOrderValue()',0, order_value) - if order_value is not None: - LOG('object.getOrderValue().getQuantity()',0,order_value.getQuantity()) - raise AssertionError, "Attribute: %s, Value: %s, Result: %s" %\ - (attribute, value, getattr(object, attribute)()) - - def stepCheckProductionSimulation(self, sequence=None, sequence_list=None, - **kw): - """ - Hardcoded check - """ - self.stepCheckOrderSimulation(sequence=sequence, - sequence_list=sequence_list, **kw) - # Test simulation movement generated related to order line - simulation_movement_list = sequence.get('simulation_movement_list') - self.assertEquals(1, len(simulation_movement_list)) - order_line = sequence.get('order_line') - related_simulation_movement_list = order_line.getOrderRelatedValueList() - self.assertEquals(1, len(related_simulation_movement_list)) - related_simulation_movement = related_simulation_movement_list[0] - self.assertEquals(related_simulation_movement, - simulation_movement_list[0]) - production_organisation1 = sequence.get('production_organisation1') - # XXX FIXME test date - self.checkObjectAttributes( - related_simulation_movement, ( - (order_line.getQuantity(), 'getQuantity'), - (order_line.getResourceValue(), 'getResourceValue'), - (order_line.getVariationCategoryList(), - 'getVariationCategoryList'), - (order_line.getDestinationValue(), 'getDestinationValue'), - (order_line.getDestinationSectionValue(), - 'getDestinationSectionValue'), - (production_organisation1, 'getSourceValue'), - (production_organisation1, 'getSourceSectionValue'))) - # Test next applied rule - applied_rule_list = related_simulation_movement.objectValues() - self.assertEquals(1, len(applied_rule_list)) - applied_rule = applied_rule_list[0] - self.assertEquals("Applied Rule", applied_rule.getPortalType()) - portal_rules = getToolByName(applied_rule, 'portal_rules') - self.assertEquals('default_transformation_rule', \ - applied_rule.getSpecialiseReference()) - # Test deeper simulation - simulation_movement_list = applied_rule.objectValues() - self.assertEquals(2, len(simulation_movement_list)) - # Test consumed movement - transformation = sequence.get('transformation') - consumed_movement_id = 'cr_%s_1_%s' % (transformation.getId(), - applied_rule.getParentId()) - consumed_movement = applied_rule[consumed_movement_id] - operation_resource = consumed_movement.portal_categories.resolveCategory( - 'operation/operation1') - # FIXME - self.checkObjectAttributes( - consumed_movement, ( - (10, 'getQuantity'), - (operation_resource, 'getResourceValue'), - ([], 'getVariationCategoryList'), - (None, 'getDestinationValue'), - (None, 'getDestinationSectionValue'), - (production_organisation1, 'getSourceValue'), - (production_organisation1, 'getSourceSectionValue'))) - # Test produced resource - produced_movement = applied_rule.pr - resource = sequence.get('resource') - production_organisation1 = sequence.get('production_organisation1') - self.checkObjectAttributes( - produced_movement, ( - (5, 'getQuantity'), - (resource, 'getResourceValue'), - ([], 'getVariationCategoryList'), - (production_organisation1, 'getDestinationValue'), - (production_organisation1, 'getDestinationSectionValue'), - (None, 'getSourceValue'), - (None, 'getSourceSectionValue'))) - - def stepCreateSupplyOrganisation1(self, sequence=None, sequence_list=None, - **kw): - """ - Create a organisation for supply - """ - self.stepCreateOrganisation(sequence=sequence, sequence_list=sequence_list, - title='supply_organisation1', **kw) - - def stepCreateSourcingSC(self, sequence=None, sequence_list=None, - **kw): - """ - Create a empty organisation - """ - # Create supply chain - self.stepCreateProductionSC(sequence=sequence, sequence_list=sequence_list, - **kw) - supply_chain = sequence.get('supply_chain') - supply_chain.edit( - title = 'Supply Chain Sourcing', - ) - # Create supply node - supply_organisation = sequence.get('supply_organisation1') - supply_node = supply_chain.newContent( - portal_type=self.supply_node_portal_type) - supply_node.edit( - destination_value=supply_organisation - ) - # Create sourcing link - supply_link = supply_chain.newContent( - portal_type=self.supply_link_portal_type) - production_node1 = sequence.get('production_node1') - production_organisation1 = sequence.get('production_organisation1') - supply_link.edit( - source_value=supply_node, - source_section_value=supply_organisation, - destination_value=production_node1, - destination_section_value=production_organisation1, - min_delay=5, - max_delay=6, - deliverable=0, - industrial_phase_list=["supply_phase1"] - ) - - def stepCheckSourcingSimulation(self, sequence=None, sequence_list=None, - **kw): - """ - Hardcoded check - """ - self.stepCheckOrderSimulation(sequence=sequence, - sequence_list=sequence_list, **kw) - # Test simulation movement generated related to order line - simulation_movement_list = sequence.get('simulation_movement_list') - self.assertEquals(1, len(simulation_movement_list)) - order_line = sequence.get('order_line') - related_simulation_movement_list = order_line.getOrderRelatedValueList() - self.assertEquals(1, len(related_simulation_movement_list)) - related_simulation_movement = related_simulation_movement_list[0] - self.assertEquals(related_simulation_movement, - simulation_movement_list[0]) - production_organisation1 = sequence.get('production_organisation1') - # XXX FIXME test date - self.checkObjectAttributes( - related_simulation_movement, ( - (order_line.getQuantity(), 'getQuantity'), - (order_line.getResourceValue(), 'getResourceValue'), - (order_line.getVariationCategoryList(), - 'getVariationCategoryList'), - (order_line.getDestinationValue(), 'getDestinationValue'), - (order_line.getDestinationSectionValue(), - 'getDestinationSectionValue'), - (production_organisation1, 'getSourceValue'), - (production_organisation1, 'getSourceSectionValue'))) - # Test next applied rule - applied_rule_list = related_simulation_movement.objectValues() - self.assertEquals(1, len(applied_rule_list)) - applied_rule = applied_rule_list[0] - self.assertEquals("Applied Rule", applied_rule.getPortalType()) - portal_rules = getToolByName(applied_rule, 'portal_rules') - self.assertEquals('default_transformation_rule', \ - applied_rule.getSpecialiseReference()) - # Test deeper simulation - simulation_movement_list = list(applied_rule.objectValues()) - # FIXME - self.assertEquals(3, len(simulation_movement_list)) - # Test produced resource - produced_movement = applied_rule.pr - resource = sequence.get('resource') - production_organisation1 = sequence.get('production_organisation1') - self.checkObjectAttributes( - produced_movement, ( - (5, 'getQuantity'), - (resource, 'getResourceValue'), - ([], 'getVariationCategoryList'), - (production_organisation1, 'getDestinationValue'), - (production_organisation1, 'getDestinationSectionValue'), - (None, 'getSourceValue'), - (None, 'getSourceSectionValue'))) - self.assertEquals(0, len(produced_movement.objectValues())) - - simulation_movement_list.remove(produced_movement) - # All code before is a stupid copy (except movement count) - # Test consumed movement - operation_resource = resource.portal_categories.resolveCategory( - 'operation/operation1') - component_resource = sequence.get('component1') -# for consumed_movement in (applied_rule.cr_1, applied_rule.cr_2): - for consumed_movement in simulation_movement_list: - if consumed_movement.getResourceValue() == operation_resource: - operation_movement = consumed_movement - else: - component_movement = consumed_movement - # Check operation movement - self.checkObjectAttributes( - operation_movement, ( - (10, 'getQuantity'), - (operation_resource, 'getResourceValue'), - ([], 'getVariationCategoryList'), - (None, 'getDestinationValue'), - (None, 'getDestinationSectionValue'), - (production_organisation1, 'getSourceValue'), - (production_organisation1, 'getSourceSectionValue'))) - self.assertEquals(0, len(operation_movement.objectValues())) - # Check component movement - self.checkObjectAttributes( - component_movement, ( - (30, 'getQuantity'), - (component_resource, 'getResourceValue'), - ([], 'getVariationCategoryList'), - (None, 'getDestinationValue'), - (None, 'getDestinationSectionValue'), - (production_organisation1, 'getSourceValue'), - (production_organisation1, 'getSourceSectionValue'))) - self.assertEquals(1, len(component_movement.objectValues())) - # Test supply applied rule - applied_rule = component_movement.objectValues()[0] - self.assertEquals("Applied Rule", applied_rule.getPortalType()) - portal_rules = getToolByName(applied_rule, 'portal_rules') - self.assertEquals('default_transformation_sourcing_rule', \ - applied_rule.getSpecialiseReference()) - # Test supply movement - simulation_movement_list = applied_rule.objectValues() - # FIXME - self.assertEquals(1, len(simulation_movement_list)) - # Test supply resource - supply_movement = applied_rule.ts - supply_organisation1 = sequence.get('supply_organisation1') - self.checkObjectAttributes( - supply_movement, ( - (30, 'getQuantity'), - (component_resource, 'getResourceValue'), - ([], 'getVariationCategoryList'), - (production_organisation1, 'getDestinationValue'), - (production_organisation1, 'getDestinationSectionValue'), - (supply_organisation1, 'getSourceValue'), - (supply_organisation1, 'getSourceSectionValue'))) - self.assertEquals(0, len(supply_movement.objectValues())) - - sequence.edit( - produced_movement = produced_movement, - operation_movement = operation_movement, - component_movement = component_movement, - supply_movement = supply_movement, - produced_delivery_movement = related_simulation_movement, - ) - - def stepCreateProductionOrganisation2(self, sequence=None, - sequence_list=None, **kw): - """ - Create a organisation for supply - """ - self.stepCreateOrganisation(sequence=sequence, sequence_list=sequence_list, - title='production_organisation2', **kw) - - def stepCreateSupplyOrganisation2(self, sequence=None, sequence_list=None, - **kw): - """ - Create a organisation for supply - """ - self.stepCreateOrganisation(sequence=sequence, sequence_list=sequence_list, - title='supply_organisation2', **kw) - - def stepCreateTwoPhasesSC(self, sequence=None, sequence_list=None, - **kw): - """ - Create a empty organisation - """ - # Create supply chain - self.stepCreateSourcingSC(sequence=sequence, sequence_list=sequence_list, - **kw) - supply_chain = sequence.get('supply_chain') - supply_chain.edit( - title = 'Supply Chain Two Phases', - ) - # Create production node - production_organisation2 = sequence.get('production_organisation2') - production_node2 = supply_chain.newContent( - portal_type=self.supply_node_portal_type) - production_node2.edit( - destination_value=production_organisation2 - ) - sequence.edit(production_node2=production_node2) - # Create production link - production_link2 = supply_chain.newContent( - portal_type=self.supply_link_portal_type) - production_link2.edit( - destination_value=production_node2, - min_delay=5, - max_delay=6, - deliverable=0, - industrial_phase_list=["phase2"] - ) - # Link production_node2 and production_node1 - supply_link = supply_chain.newContent( - portal_type=self.supply_link_portal_type) - production_node1 = sequence.get('production_node1') - supply_link.edit( - source_value=production_node2, - destination_value=production_node1, - min_delay=5, - max_delay=6, - deliverable=0, - industrial_phase_list=[] - ) - # Create supply node - supply_organisation2 = sequence.get('supply_organisation2') - supply_node2 = supply_chain.newContent( - portal_type=self.supply_node_portal_type) - supply_node2.edit( - destination_value=supply_organisation2 - ) - # Create sourcing link - supply_link2 = supply_chain.newContent( - portal_type=self.supply_link_portal_type) - supply_link2.edit( - source_value=supply_node2, - destination_value=production_node2, - min_delay=5, - max_delay=6, - deliverable=0, - industrial_phase_list=["supply_phase2"] - ) - - def stepCheckTwoPhasesSimulation(self, sequence=None, sequence_list=None, - **kw): - """ - Hardcoded check - """ -# self.stepCheckSourcingSimulation(sequence=sequence, -# sequence_list=sequence_list, **kw) - self.stepCheckOrderSimulation(sequence=sequence, - sequence_list=sequence_list, **kw) - # Test simulation movement generated related to order line - simulation_movement_list = sequence.get('simulation_movement_list') - self.assertEquals(1, len(simulation_movement_list)) - order_line = sequence.get('order_line') - related_simulation_movement_list = order_line.getOrderRelatedValueList() - self.assertEquals(1, len(related_simulation_movement_list)) - related_simulation_movement = related_simulation_movement_list[0] - self.assertEquals(related_simulation_movement, - simulation_movement_list[0]) - production_organisation1 = sequence.get('production_organisation1') - # XXX FIXME test date - self.checkObjectAttributes( - related_simulation_movement, ( - (order_line.getQuantity(), 'getQuantity'), - (order_line.getResourceValue(), 'getResourceValue'), - (order_line.getVariationCategoryList(), - 'getVariationCategoryList'), - (order_line.getDestinationValue(), 'getDestinationValue'), - (order_line.getDestinationSectionValue(), - 'getDestinationSectionValue'), - (production_organisation1, 'getSourceValue'), - (production_organisation1, 'getSourceSectionValue'))) - # Test next applied rule - applied_rule_list = related_simulation_movement.objectValues() - self.assertEquals(1, len(applied_rule_list)) - applied_rule = applied_rule_list[0] - self.assertEquals("Applied Rule", applied_rule.getPortalType()) - portal_rules = getToolByName(applied_rule, 'portal_rules') - self.assertEquals('default_transformation_rule', \ - applied_rule.getSpecialiseReference()) - # Test deeper simulation - simulation_movement_list = list(applied_rule.objectValues()) - # FIXME - self.assertEquals(4, len(simulation_movement_list)) - # Test produced resource - produced_movement = applied_rule.pr - resource = sequence.get('resource') - production_organisation1 = sequence.get('production_organisation1') - self.checkObjectAttributes( - produced_movement, ( - (5, 'getQuantity'), - (resource, 'getResourceValue'), - ([], 'getVariationCategoryList'), - (production_organisation1, 'getDestinationValue'), - (production_organisation1, 'getDestinationSectionValue'), - (None, 'getSourceValue'), - (None, 'getSourceSectionValue'))) - self.assertEquals(0, len(produced_movement.objectValues())) - - # Get modified resource (test later) - modified_movement = applied_rule.mr_1 - simulation_movement_list.remove(produced_movement) - simulation_movement_list.remove(modified_movement) - # All code before is a stupid copy (except movement count) - # Test consumed movement - operation_resource = resource.portal_categories.resolveCategory( - 'operation/operation1') - component_resource = sequence.get('component1') -# for consumed_movement in (applied_rule.cr_1, applied_rule.cr_2): - for consumed_movement in simulation_movement_list: - if consumed_movement.getResourceValue() == operation_resource: - operation_movement = consumed_movement - else: - component_movement = consumed_movement - # Check operation movement - self.checkObjectAttributes( - operation_movement, ( - (10, 'getQuantity'), - (operation_resource, 'getResourceValue'), - ([], 'getVariationCategoryList'), - (None, 'getDestinationValue'), - (None, 'getDestinationSectionValue'), - (production_organisation1, 'getSourceValue'), - (production_organisation1, 'getSourceSectionValue'))) - self.assertEquals(0, len(operation_movement.objectValues())) - # Check component movement - self.checkObjectAttributes( - component_movement, ( - (30, 'getQuantity'), - (component_resource, 'getResourceValue'), - ([], 'getVariationCategoryList'), - (None, 'getDestinationValue'), - (None, 'getDestinationSectionValue'), - (production_organisation1, 'getSourceValue'), - (production_organisation1, 'getSourceSectionValue'))) - self.assertEquals(1, len(component_movement.objectValues())) - # Test supply applied rule - applied_rule = component_movement.objectValues()[0] - self.assertEquals("Applied Rule", applied_rule.getPortalType()) - portal_rules = getToolByName(applied_rule, 'portal_rules') - self.assertEquals('default_transformation_sourcing_rule', \ - applied_rule.getSpecialiseReference()) - # Test supply movement - simulation_movement_list = applied_rule.objectValues() - # FIXME - self.assertEquals(1, len(simulation_movement_list)) - # Test supply resource - supply_movement = applied_rule.ts - supply_organisation1 = sequence.get('supply_organisation1') - self.checkObjectAttributes( - supply_movement, ( - (30, 'getQuantity'), - (component_resource, 'getResourceValue'), - ([], 'getVariationCategoryList'), - (production_organisation1, 'getDestinationValue'), - (production_organisation1, 'getDestinationSectionValue'), - (supply_organisation1, 'getSourceValue'), - (supply_organisation1, 'getSourceSectionValue'))) - self.assertEquals(0, len(supply_movement.objectValues())) - - # Test modified movement - resource = sequence.get('resource') - production_organisation1 = sequence.get('production_organisation1') - self.checkObjectAttributes( - modified_movement, ( - (5, 'getQuantity'), - (resource, 'getResourceValue'), - (['industrial_phase/phase2'], 'getVariationCategoryList'), - (production_organisation1, 'getSourceValue'), - (production_organisation1, 'getSourceSectionValue'), - (None, 'getDestinationValue'), - (None, 'getDestinationSectionValue'))) - self.assertEquals(1, len(modified_movement.objectValues())) - # Test next applied rule - applied_rule_list = modified_movement.objectValues() - applied_rule = applied_rule_list[0] - self.assertEquals("Applied Rule", applied_rule.getPortalType()) - portal_rules = getToolByName(applied_rule, 'portal_rules') - self.assertEquals('default_transformation_sourcing_rule', \ - applied_rule.getSpecialiseReference()) - # Test deeper simulation - simulation_movement_list = list(applied_rule.objectValues()) - self.assertEquals(1, len(simulation_movement_list)) - # Test produced resource - sourcing_movement = simulation_movement_list[0] - resource = sequence.get('resource') - production_organisation1 = sequence.get('production_organisation1') - production_organisation2 = sequence.get('production_organisation2') - self.checkObjectAttributes( - sourcing_movement, ( - (5, 'getQuantity'), - (resource, 'getResourceValue'), - (['industrial_phase/phase2'], 'getVariationCategoryList'), - (production_organisation1, 'getDestinationValue'), -# XXX (production_organisation1, 'getDestinationSectionValue'), - (production_organisation2, 'getSourceValue'), -# XXX (production_organisation2, 'getSourceSectionValue'))) - )) - self.assertEquals(1, len(sourcing_movement.objectValues())) - # Test next applied rule - applied_rule_list = sourcing_movement.objectValues() - self.assertEquals(1, len(applied_rule_list)) - applied_rule = applied_rule_list[0] - self.assertEquals("Applied Rule", applied_rule.getPortalType()) - portal_rules = getToolByName(applied_rule, 'portal_rules') - self.assertEquals('default_transformation_rule', \ - applied_rule.getSpecialiseReference()) - # Test deeper simulation - simulation_movement_list = list(applied_rule.objectValues()) - # FIXME - self.assertEquals(3, len(simulation_movement_list)) - # Test produced resource - produced_movement = applied_rule.pr - resource = sequence.get('resource') - production_organisation2 = sequence.get('production_organisation2') - self.checkObjectAttributes( - produced_movement, ( - (5, 'getQuantity'), - (resource, 'getResourceValue'), - (['industrial_phase/phase2'], 'getVariationCategoryList'), - (production_organisation2, 'getDestinationValue'), -# XXX (production_organisation2, 'getDestinationSectionValue'), - (None, 'getSourceValue'), - (None, 'getSourceSectionValue'))) - self.assertEquals(0, len(produced_movement.objectValues())) - - simulation_movement_list.remove(produced_movement) - # All code before is a stupid copy (except movement count) - # Test consumed movement - operation_resource = resource.portal_categories.resolveCategory( - 'operation/operation2') - component_resource = sequence.get('component2') - for consumed_movement in simulation_movement_list: - if consumed_movement.getResourceValue() == operation_resource: - operation_movement = consumed_movement - else: - component_movement = consumed_movement - # Check operation movement - self.checkObjectAttributes( - operation_movement, ( - (15, 'getQuantity'), - (operation_resource, 'getResourceValue'), - ([], 'getVariationCategoryList'), - (None, 'getDestinationValue'), - (None, 'getDestinationSectionValue'), - (production_organisation2, 'getSourceValue'), -# XXX (production_organisation2, 'getSourceSectionValue'))) - )) - self.assertEquals(0, len(operation_movement.objectValues())) - # Check component movement - self.checkObjectAttributes( - component_movement, ( - (35, 'getQuantity'), - (component_resource, 'getResourceValue'), - ([], 'getVariationCategoryList'), - (None, 'getDestinationValue'), - (None, 'getDestinationSectionValue'), - (production_organisation2, 'getSourceValue'), -# XXX (production_organisation2, 'getSourceSectionValue'))) - )) - self.assertEquals(1, len(component_movement.objectValues())) - # Test supply applied rule - applied_rule = component_movement.objectValues()[0] - self.assertEquals("Applied Rule", applied_rule.getPortalType()) - portal_rules = getToolByName(applied_rule, 'portal_rules') - self.assertEquals('default_transformation_sourcing_rule', \ - applied_rule.getSpecialiseReference()) - # Test supply movement - simulation_movement_list = applied_rule.objectValues() - # FIXME - self.assertEquals(1, len(simulation_movement_list)) - # Test supply resource - supply_movement = applied_rule.ts - supply_organisation2 = sequence.get('supply_organisation2') - self.checkObjectAttributes( - supply_movement, ( - (35, 'getQuantity'), - (component_resource, 'getResourceValue'), - ([], 'getVariationCategoryList'), - (production_organisation2, 'getDestinationValue'), -# XXX (production_organisation2, 'getDestinationSectionValue'), - (supply_organisation2, 'getSourceValue'), -# XXX (supply_organisation2, 'getSourceSectionValue'))) - )) - self.assertEquals(0, len(supply_movement.objectValues())) - - SOURCING_ORDER_SEQUENCE = '\ - CreateProductionOrganisation1 \ - CreateSupplyOrganisation1 \ - CreateSourcingSC \ - CreateNotVariatedResource \ - CreateComponent1 \ - CreateTransformation \ - CreateOrganisation \ - CreateOrder \ - CreateOrderLine \ - Tic \ - OrderOrder \ - Tic \ - CheckSourcingSimulation \ - ConfirmOrder \ - Tic \ - CheckSourcingSimulation \ - ' - -class TestProductionOrder(TestProductionOrderMixin, ERP5TypeTestCase): - """ - Test business template erp5_mrp - """ - run_all_test = 1 - - def getTitle(self): - return "Production Order" - - def test_01_testProductionSimulationExpand(self, quiet=0, run=run_all_test): - """ - Test generation and update of order applied rule. - """ - if not run: return - sequence_list = SequenceList() - # Test when order is - sequence_string = '\ - CreateProductionOrganisation1 \ - CreateProductionSC \ - CreateNotVariatedResource \ - CreateComponent1 \ - CreateTransformation \ - CreateOrganisation \ - CreateOrder \ - CreateOrderLine \ - Tic \ - OrderOrder \ - Tic \ - CheckProductionSimulation \ - ' - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - - def test_02_testSourcingSimulationExpand(self, quiet=0, - run=run_all_test): - """ - Test generation and update of order applied rule. - """ - if not run: return - sequence_list = SequenceList() - # Test when order is - sequence_string = '\ - CreateProductionOrganisation1 \ - CreateSupplyOrganisation1 \ - CreateSourcingSC \ - CreateNotVariatedResource \ - CreateComponent1 \ - CreateTransformation \ - CreateOrganisation \ - CreateOrder \ - CreateOrderLine \ - Tic \ - OrderOrder \ - Tic \ - CheckSourcingSimulation \ - ' - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - - def test_03_testIndustrialPhase(self, quiet=0, run=run_all_test): - """ - """ - if not run: return - sequence_list = SequenceList() - # Test when order is - sequence_string = '\ - CreateProductionOrganisation1 \ - CreateProductionOrganisation2 \ - CreateSupplyOrganisation1 \ - CreateSupplyOrganisation2 \ - CreateTwoPhasesSC \ - CreateNotVariatedResource \ - CreateComponent1 \ - CreateComponent2 \ - CreateTransformation \ - CreateOrganisation \ - CreateOrder \ - CreateOrderLine \ - Tic \ - OrderOrder \ - Tic \ - CheckTwoPhasesSimulation \ - ' - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - - def test_04_testProductionSimulationBuild(self, quiet=0, run=run_all_test): - """ - Test delivery building. - XXX Test method still required - """ - if not run: return - sequence_list = SequenceList() - # Test when order is - sequence_string = '\ - CreateProductionOrganisation1 \ - CreateProductionSC \ - CreateNotVariatedResource \ - CreateComponent1 \ - CreateTransformation \ - CreateOrganisation \ - CreateOrder \ - CreateOrderLine \ - Tic \ - OrderOrder \ - Tic \ - ConfirmOrder \ - Tic \ - ' - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - - def test_05_testSourcingSimulationBuild(self, quiet=0, - run=run_all_test): - """ - Test delivery building. - XXX Test method still required - """ - if not run: return - sequence_list = SequenceList() - # Test when order is - sequence_list.addSequenceString(self.SOURCING_ORDER_SEQUENCE) - sequence_list.play(self) - - def test_06_testIndustrialPhase(self, quiet=0, run=run_all_test): - """ - Test delivery building. - XXX Test method still required - """ - if not run: return - sequence_list = SequenceList() - # Test when order is - sequence_string = '\ - CreateProductionOrganisation1 \ - CreateProductionOrganisation2 \ - CreateSupplyOrganisation1 \ - CreateSupplyOrganisation2 \ - CreateTwoPhasesSC \ - CreateNotVariatedResource \ - CreateComponent1 \ - CreateComponent2 \ - CreateTransformation \ - CreateOrganisation \ - CreateOrder \ - CreateOrderLine \ - Tic \ - OrderOrder \ - Tic \ - ConfirmOrder \ - Tic \ - ' - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - - def stepCopyPasteSupplyChain(self, sequence=None, sequence_list=None, - **kw): - """ - Copy/Paste the supply chain - """ - portal = self.getPortal() - supply_chain_module = portal.getDefaultModule( \ - portal_type=self.supply_chain_portal_type) - supply_chain = sequence.get('supply_chain') - - cb_data = supply_chain_module.manage_copyObjects([supply_chain.getId()]) - copied, = supply_chain_module.manage_pasteObjects(cb_data) - pasted_sc = supply_chain_module[copied['new_id']] - sequence.edit(pasted_sc=pasted_sc) - - def stepCheckPastedSupplyChain(self, sequence=None, sequence_list=None, - **kw): - """ - Check pasted supply chain - """ - pasted_sc = sequence.get('pasted_sc') - pasted_supply_node = pasted_sc.contentValues(portal_type='Supply Node')[0] - pasted_supply_link = pasted_sc.contentValues(portal_type='Supply Link')[0] - self.assertEquals(pasted_supply_node.getRelativeUrl(), - pasted_supply_link.getDestination()) - - def test_07_testTransformationInteractionProductionOrderLine(self, quiet=0, run=run_all_test): - """ - Test for setting/resetting Transformation on Production Order Line - """ - if not run: return - - bootstrap_sequence_string = '\ - CreateNotVariatedResource \ - CreateOrder \ - ' - sequence_list = SequenceList() - - # normal case - sequence_string = bootstrap_sequence_string + '\ - CreateTransformation \ - Tic \ - CreateOrderLineWithoutTransformation \ - Tic \ - CheckOrderLineTransformationIsSet \ - ' - sequence_list.addSequenceString(sequence_string) - - # no transformation - sequence_string = bootstrap_sequence_string + '\ - CreateOrderLineWithoutTransformation \ - Tic \ - CheckOrderLineTransformationIsNotSet \ - ' - sequence_list.addSequenceString(sequence_string) - - # transformation set, then not modified - sequence_string = bootstrap_sequence_string + '\ - CreateTransformation \ - Tic \ - CreateOrderLineWithoutTransformation \ - Tic \ - CheckOrderLineTransformationIsSet \ - RemoveResourceFromOrderLine \ - Tic \ - CheckOrderLineTransformationIsSet \ - ' - sequence_list.addSequenceString(sequence_string) - - # more than one transformation - sequence_string = bootstrap_sequence_string + '\ - CreateTransformation \ - CreateTransformation \ - Tic \ - CreateOrderLineWithoutTransformation \ - Tic \ - CheckOrderLineTransformationIsNotSet \ - ' - sequence_list.addSequenceString(sequence_string) - - # case of invalidated Transformation - sequence_string = bootstrap_sequence_string + '\ - CreateTransformation \ - Tic \ - ValidateTransformation \ - InvalidateTransformation \ - Tic \ - CreateOrderLineWithoutTransformation \ - Tic \ - CheckOrderLineTransformationIsNotSet \ - ' - sequence_list.addSequenceString(sequence_string) - - # case of invalidated Transformation and other - sequence_string = bootstrap_sequence_string + '\ - CreateTransformation \ - Tic \ - ValidateTransformation \ - InvalidateTransformation \ - Tic \ - CreateTransformation \ - Tic \ - CreateOrderLineWithoutTransformation \ - Tic \ - CheckOrderLineTransformationIsSet \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self) - - def test_08_testTransformationWithEfficiency(self, quiet=0, run=run_all_test): - """ - Test, that efficiency from transformation applies correctly - """ - if not run: return - - sequence_string = '\ - CreateProductionOrganisation1 \ - CreateSupplyOrganisation1 \ - CreateSourcingSC \ - Tic \ - CreateNotVariatedResource \ - CreateComponent1 \ - CreateEmptyTransformation \ - FillTransformationWithResource \ - Tic \ - CreateTransformationTransformedResource \ - FillTransformationTransformedResourceWithComponent1 \ - SetTransformationTransformedResourceQuantity \ - SetTransformationTransformedResourceEfficiency \ - SetTransformationTransformedResourceIndustrialPhaseList \ - Tic \ - CreateOrganisation \ - CreateOrder \ - CreateOrderLine \ - SetOrderLineQuantity \ - Tic \ - OrderOrder \ - Tic \ - CheckEfficiencySimulation \ - ' - sequence_list = SequenceList() - sequence_list.addSequenceString(sequence_string) - - # case - we need Q:10.0, efficiency is 80% (we need more), producing 1.0 - self.transformation_transformed_resource_quantity = 10.0 - self.transformation_transformed_resource_efficiency = 0.8 # 80% - self.transformation_transformed_resource_industrial_phase_list = ['supply_phase1',] - - self.production_order_line_quantity = 1.0 - self.quantity_after_efficiency_calculation = 12.5 # (1.0 * 10.0) / 0.8 - - sequence_list.play(self) - - # case - we need Q:10.0, efficiency is None (normal, nothing set), producing 1.0 - self.transformation_transformed_resource_quantity = 10.0 - self.transformation_transformed_resource_efficiency = None - self.transformation_transformed_resource_industrial_phase_list = ['supply_phase1',] - - self.production_order_line_quantity = 1.0 - self.quantity_after_efficiency_calculation = 10.0 # (1.0 * 10.0) / 1.0 - - sequence_list.play(self) - - # case - we need Q:10.0, efficiency is 100% (normal), producing 1.0 - self.transformation_transformed_resource_quantity = 10.0 - self.transformation_transformed_resource_efficiency = 1.0 - self.transformation_transformed_resource_industrial_phase_list = ['supply_phase1',] - - self.production_order_line_quantity = 1.0 - self.quantity_after_efficiency_calculation = 10.0 # (1.0 * 10.0) / 1.0 - - sequence_list.play(self) - - # case - we need Q:10.0, efficiency is 125% (miracle?), producing 1.0 - self.transformation_transformed_resource_quantity = 10.0 - self.transformation_transformed_resource_efficiency = 1.25 - self.transformation_transformed_resource_industrial_phase_list = ['supply_phase1',] - - self.production_order_line_quantity = 1.0 - self.quantity_after_efficiency_calculation = 8.0 # (1.0 * 10.0) / 1.25 - - sequence_list.play(self) - - # case - we need Q:10.0, efficiency is -80% (nonsense?), producing 1.0 - self.transformation_transformed_resource_quantity = 10.0 - self.transformation_transformed_resource_efficiency = -0.8 - self.transformation_transformed_resource_industrial_phase_list = ['supply_phase1',] - - self.production_order_line_quantity = 1.0 - self.quantity_after_efficiency_calculation = -12.5 # (1.0 * 10.0) / -0.8 - - sequence_list.play(self) - - def test_09_testTransformationWithVariation(self, quiet=0, run=run_all_test): - """ - Test, that variation from transformation works correctly on order - - Note: Read below variables to know, what and how was defined - """ - if not run: return - - self.transformation_transformed_resource_quantity = 0.0 - self.transformation_transformed_resource_industrial_phase_list = ['supply_phase1',] - self.production_order_line_quantity = 0.0 - self.variation_category_list = ['colour','size'] - - self.colour_size_quantity_dict = { - 'green' : { - 'Man' : 1.0, - 'Woman' : 2.0 - }, - 'blue' : { - 'Man' : 3.0, - 'Woman' : 4.0 - }, - } - - self.colour_size_variation_dict = { - 'green' : { - 'Man' : ('colour/green','size/Man'), - 'Woman' : ('colour/green','size/Woman') - }, - 'blue' : { - 'Man' : ('colour/blue','size/Man'), - 'Woman' : ('colour/blue','size/Woman') - }, - } - - self.order_line_variation_category_list = [ - 'size/Man', - 'size/Woman', - 'colour/green', - 'colour/blue', - ] - - self.order_line_colour_size_quantity_dict = { - 'green' : { - 'Man' : 9.0, - 'Woman' : 8.0 - }, - 'blue' : { - 'Man' : 7.0, - 'Woman' : 6.0 - }, - } - - sequence_string = '\ - CreateProductionOrganisation1 \ - CreateSupplyOrganisation1 \ - CreateSourcingSC \ - Tic \ - CreateColourSizeVariatedResource \ - CreateColourSizeVariatedComponent1 \ - Tic \ - CreateEmptyTransformation \ - FillTransformationWithResource \ - SetTransformationVariation \ - Tic \ - CreateTransformationTransformedResource \ - FillTransformationTransformedResourceWithComponent1 \ - SetTransformationTransformedResourceVariation \ - SetTransformationTransformedResourceIndustrialPhaseList \ - Tic \ - SetTransformationTransformedResourceQuantityMatrix \ - SetTransformationTransformedResourceVariationMatrix \ - Tic \ - CreateOrganisation \ - CreateOrder \ - CreateOrderLine \ - SetOrderLineVariationCategories \ - SetOrderLineQuantityMatrix \ - Tic \ - OrderOrder \ - Tic \ - CheckVariationSimulation \ - ConfirmOrder \ - Tic \ - ' - sequence_list = SequenceList() - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self) - - def test_50_testCopyPaste(self, quiet=0, run=run_all_test): - """ - Check that relation are changed when doing a copy/paste, - on supply chain - """ - if not run: return - sequence_list = SequenceList() - sequence_string = '\ - CreateProductionOrganisation1 \ - CreateProductionSC \ - CopyPasteSupplyChain \ - Tic \ - CheckPastedSupplyChain \ - ' - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - - def stepCreateEmptySC(self, sequence=None, sequence_list=None, **kw): - """ - Create a empty Supply Chain - """ - portal = self.getPortal() - supply_chain_module = portal.getDefaultModule( \ - portal_type=self.supply_chain_portal_type) - supply_chain = supply_chain_module.newContent( \ - portal_type=self.supply_chain_portal_type) - supply_chain.edit( - title = "Supply Chain Empty", - ) - sequence.edit(empty_supply_chain=supply_chain) - - def stepCutPasteSupplyNodeInAnotherContainer(self, sequence=None, - sequence_list=None, **kw): - """ - Cut/Paste a supply node in another container - """ - supply_chain = sequence.get('supply_chain') - empty_supply_chain = sequence.get('empty_supply_chain') - - supply_node = supply_chain.contentValues(portal_type='Supply Node')[0] - cb_data = supply_chain.manage_cutObjects([supply_node.getId()]) - copied, = empty_supply_chain.manage_pasteObjects(cb_data) - - def stepCheckPastedSupplyNode(self, sequence=None, sequence_list=None, - **kw): - """ - Check pasted supply node - """ - supply_chain = sequence.get('supply_chain') - empty_supply_chain = sequence.get('empty_supply_chain') - - supply_node = empty_supply_chain.contentValues(portal_type='Supply Node')[0] - supply_link = supply_chain.contentValues(portal_type='Supply Link')[0] - self.assertEquals(supply_node.getRelativeUrl(), - supply_link.getDestination()) - - def test_51_testCutPasteInAnotherContainer(self, quiet=0, run=run_all_test): - """ - Check that relations are changed when doing a copy/paste, - on a supply chain. - - The point in this test is that internal relations should be updated - when copying an object. Suppose that a document D1 contains sub-objects - S1_1 and S1_2, and S1_1 is related to S1_2. When copying D1 to D2, - S2_1 and S2_2 are also copied from S1_1 and S1_2. Now S2_1 should be - related to S2_2, instead of S1_2. - - Good: - - D1 -+- S1_1 D1 -+- S1_1 D2 -+- S2_1 - | | => | | | | - | v | v | v - +- S1_2 +- S1_2 +- S2_2 - - Bad: - - D1 -+- S1_1 D1 -+- S1_1 D2 -+- S2_1 - | | => | | __|_/ - | v | v / | - +- S1_2 +- S1_2<--/ +- S2_2 - - """ - if not run: return - sequence_list = SequenceList() - sequence_string = '\ - CreateProductionOrganisation1 \ - CreateProductionSC \ - CreateEmptySC \ - Tic \ - CutPasteSupplyNodeInAnotherContainer \ - Tic \ - CheckPastedSupplyNode \ - ' - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - -def test_suite(): - suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(TestProductionOrder)) - return suite diff --git a/product/ERP5Legacy/tests/testLegacyProductionPackingList.py b/product/ERP5Legacy/tests/testLegacyProductionPackingList.py deleted file mode 100644 index 307456fc65..0000000000 --- a/product/ERP5Legacy/tests/testLegacyProductionPackingList.py +++ /dev/null @@ -1,781 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2008 Nexedi SA and Contributors. All Rights Reserved. -# Åukasz Nowak <lukasz.nowak@ventis.com.pl> -# -# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import unittest - -from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase -from Products.ERP5Type.tests.Sequence import SequenceList -from testLegacyProductionOrder import TestProductionOrderMixin -from testLegacyPackingList import TestPackingListMixin - -class TestProductionPackingReportListMixin(TestProductionOrderMixin, TestPackingListMixin, \ - ERP5TypeTestCase): - """Mixin for testing Production Packing Lists and Production Reports""" - - def modifyPackingListState(self, transition_name, - sequence,packing_list=None): - """ calls the workflow for the packing list """ - if packing_list is None: - packing_list = sequence.get('packing_list') - packing_list.portal_workflow.doActionFor(packing_list, transition_name) - - def stepAcceptDecisionSupplyDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - self._solveDivergence(packing_list, 'quantity', 'accept') - - def stepAcceptDecisionProducedDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - self._solveDivergence(packing_list, 'quantity', 'accept') - - def stepAdoptPrevisionSupplyDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - self._solveDivergence(packing_list, 'quantity', 'adopt') - - def stepAdoptPrevisionProducedDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - self._solveDivergence(packing_list, 'quantity', 'adopt') - - def stepAdoptPrevisionProducedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_report') - self._solveDivergence(packing_list, 'quantity', 'adopt') - - def stepAdoptPrevisionConsumedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('consumed_report') - self._solveDivergence(packing_list, 'quantity', 'adopt') - - def stepSetReadyProducedDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - self.modifyPackingListState('set_ready_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'ready') - - def stepStartProducedDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - self.modifyPackingListState('start_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'started') - - def stepStopProducedDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - self.modifyPackingListState('stop_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'stopped') - - def stepDeliverProducedDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - self.modifyPackingListState('deliver_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'delivered') - - def stepSetReadySupplyDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - self.modifyPackingListState('set_ready_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'ready') - - def stepStartSupplyDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - self.modifyPackingListState('start_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'started') - - def stepStopSupplyDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - self.modifyPackingListState('stop_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'stopped') - - def stepDeliverSupplyDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - self.modifyPackingListState('deliver_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'delivered') - - def stepSetReadyProducedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_report') - self.modifyPackingListState('set_ready_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'ready') - - def stepStartProducedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_report') - self.modifyPackingListState('start_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'started') - - def stepStopProducedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_report') - self.modifyPackingListState('stop_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'stopped') - - def stepDeliverProducedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_report') - self.modifyPackingListState('deliver_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'delivered') - - def stepSetReadyConsumedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('consumed_report') - self.modifyPackingListState('set_ready_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'ready') - - def stepStartConsumedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('consumed_report') - self.modifyPackingListState('start_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'started') - - def stepStopConsumedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('consumed_report') - self.modifyPackingListState('stop_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'stopped') - - def stepDeliverConsumedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('consumed_report') - self.modifyPackingListState('deliver_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'delivered') - - def stepDecreaseProducedDeliveryPackingListQuantity(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - - for line in packing_list.getMovementList(): - line.edit( - quantity = line.getQuantity() - 1.0 - ) - - def stepDecreaseSupplyDeliveryPackingListQuantity(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - - for line in packing_list.getMovementList(): - line.edit( - quantity = line.getQuantity() - 1.0 - ) - - def stepCheckSourcingDeliverySimulationDecreasedQuantity(self, sequence=None, \ - sequence_list=None, **kw): - """ - TODO - """ - self.logMessage('TODO') - - def stepCheckSourcingDeliverySimulation(self, sequence=None, \ - sequence_list=None, **kw): - """ - Hardcoded delivery checks - """ - self.stepCheckSourcingSimulation(sequence,sequence_list,**kw) - - produced_movement = sequence.get('produced_movement') - operation_movement = sequence.get('operation_movement') - component_movement = sequence.get('component_movement') - supply_movement = sequence.get('supply_movement') - produced_delivery_movement = sequence.get('produced_delivery_movement') - - produced_delivery_packing_list = produced_delivery_movement.getDeliveryValue().getParentValue() - supply_delivery_packing_list = supply_movement.getDeliveryValue().getParentValue() - - produced_report = produced_movement.getDeliveryValue().getParentValue() - - operation_report = operation_movement.getDeliveryValue().getParentValue() - component_report = component_movement.getDeliveryValue().getParentValue() - self.assertEquals(operation_report, component_report) - consumed_report = operation_report - - # checks that simulations are same - # TODO: resources, quantities, dates, ... - self.assertEquals( - produced_delivery_movement.getSimulationState(), - produced_delivery_packing_list.getSimulationState() - ) - - self.assertEquals( - supply_movement.getSimulationState(), - supply_delivery_packing_list.getSimulationState() - ) - - self.assertEquals( - produced_movement.getSimulationState(), - produced_report.getSimulationState() - ) - - self.assertEquals( - component_movement.getSimulationState(), - consumed_report.getSimulationState() - ) - - self.assertEquals( - operation_movement.getSimulationState(), - consumed_report.getSimulationState() - ) - - sequence.edit( - produced_delivery_packing_list = produced_delivery_packing_list, - supply_delivery_packing_list = supply_delivery_packing_list, - produced_report = produced_report, - consumed_report = consumed_report, - ) - - def stepCheckProducedDeliveryPackingListIsConfirmed(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - - self.assertEquals( - 'confirmed', - packing_list.getSimulationState() - ) - - def stepCheckProducedDeliveryPackingListIsDelivered(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - - self.assertEquals( - 'delivered', - packing_list.getSimulationState() - ) - - def stepCheckSupplyDeliveryPackingListIsDelivered(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - - self.assertEquals( - 'delivered', - packing_list.getSimulationState() - ) - - def stepCheckProducedReportIsDelivered(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('produced_report') - - self.assertEquals( - 'delivered', - packing_list.getSimulationState() - ) - - def stepCheckConsumedReportIsDelivered(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('consumed_report') - - self.assertEquals( - 'delivered', - packing_list.getSimulationState() - ) - - def stepCheckProducedDeliveryPackingListIsSolved(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - - self.assertEquals( - 'solved', - packing_list.getCausalityState() - ) - - def stepCheckProducedDeliveryPackingListIsDiverged(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - - self.assertEquals( - 'diverged', - packing_list.getCausalityState() - ) - - def stepCheckProducedDeliveryPackingListIsCalculating(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - - self.assertEquals( - 'calculating', - packing_list.getCausalityState() - ) - - def stepCheckSupplyDeliveryPackingListIsCalculating(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - - self.assertEquals( - 'calculating', - packing_list.getCausalityState() - ) - - def stepCheckSupplyDeliveryPackingListIsConfirmed(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - - self.assertEquals( - 'confirmed', - packing_list.getSimulationState() - ) - - def stepCheckSupplyDeliveryPackingListIsSolved(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - - self.assertEquals( - 'solved', - packing_list.getCausalityState() - ) - - def stepCheckSupplyDeliveryPackingListIsDiverged(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - - self.assertEquals( - 'diverged', - packing_list.getCausalityState() - ) - - def stepCheckProducedReportIsConfirmed(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('produced_report') - - self.assertEquals( - 'confirmed', - packing_list.getSimulationState() - ) - - def stepCheckProducedReportIsSolved(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('produced_report') - - self.assertEquals( - 'solved', - packing_list.getCausalityState() - ) - - def stepCheckProducedReportIsDiverged(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('produced_report') - - self.assertEquals( - 'diverged', - packing_list.getCausalityState() - ) - - def stepCheckConsumedReportIsConfirmed(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('consumed_report') - - self.assertEquals( - 'confirmed', - packing_list.getSimulationState() - ) - - def stepCheckConsumedReportIsSolved(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('consumed_report') - - self.assertEquals( - 'solved', - packing_list.getCausalityState() - ) - - def stepCheckConsumedReportIsDiverged(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('consumed_report') - - self.assertEquals( - 'diverged', - packing_list.getCausalityState() - ) - -class TestProductionDelivery(TestProductionPackingReportListMixin): - """Test Production Packing Lists and Reports, mostly based on Production Orders""" - - run_all_test = 1 - - def getTitle(self): - return "Production Delivery: transformation type %s, resource type %s"%( - self.transformation_portal_type, - self.resource_portal_type,) - - def test_01_sourcingDelivery(self, quiet=0, - run=run_all_test): - """ - Test for sourcing type of delivery (Production Report and Production Packing Lists). - """ - # XXX: Need to split to separate test (Luke) - if not run: return - - delivery_check_sequence_string = self.SOURCING_ORDER_SEQUENCE + '\ - CheckSourcingDeliverySimulation \ - \ - CheckProducedDeliveryPackingListIsConfirmed \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsConfirmed \ - CheckSupplyDeliveryPackingListIsSolved\ - \ - CheckProducedReportIsConfirmed \ - CheckProducedReportIsSolved\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsSolved\ - \ - ' - - sequence_list = SequenceList() - # Check states of deliveries, just after order confirmation - sequence_string = delivery_check_sequence_string - sequence_list.addSequenceString(sequence_string) - - # Test when packing list are delivered one by one - # Note: I (Luke) know, that below sequence is long - # but I wanted to be sure, that full production - # process is doable. - sequence_string = delivery_check_sequence_string + '\ - SetReadyProducedDeliveryPackingList \ - StartProducedDeliveryPackingList \ - StopProducedDeliveryPackingList \ - DeliverProducedDeliveryPackingList \ - Tic \ - \ - CheckSourcingDeliverySimulation \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsConfirmed \ - CheckSupplyDeliveryPackingListIsSolved\ - \ - CheckProducedReportIsConfirmed \ - CheckProducedReportIsSolved\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsSolved\ - \ - SetReadySupplyDeliveryPackingList \ - StartSupplyDeliveryPackingList \ - StopSupplyDeliveryPackingList \ - DeliverSupplyDeliveryPackingList \ - Tic \ - \ - CheckSourcingDeliverySimulation \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsDelivered \ - CheckSupplyDeliveryPackingListIsSolved\ - \ - CheckProducedReportIsConfirmed \ - CheckProducedReportIsSolved\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsSolved\ - \ - SetReadyProducedReport \ - StartProducedReport \ - StopProducedReport \ - DeliverProducedReport \ - Tic \ - \ - CheckSourcingDeliverySimulation \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsDelivered \ - CheckSupplyDeliveryPackingListIsSolved\ - \ - CheckProducedReportIsDelivered \ - CheckProducedReportIsSolved\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsSolved\ - \ - SetReadyConsumedReport \ - StartConsumedReport \ - StopConsumedReport \ - DeliverConsumedReport \ - Tic \ - \ - CheckSourcingDeliverySimulation \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsDelivered \ - CheckSupplyDeliveryPackingListIsSolved\ - \ - CheckProducedReportIsDelivered \ - CheckProducedReportIsSolved\ - \ - CheckConsumedReportIsDelivered \ - CheckConsumedReportIsSolved\ - \ - ' - sequence_list.addSequenceString(sequence_string) - - # Check a case, when Produced Delivery Packing List is diverged - # then accept this decision, next deliver it, then adopt prevision - # on rest of documents and deliver them - do it one by one - sequence_string = delivery_check_sequence_string + '\ - DecreaseProducedDeliveryPackingListQuantity \ - \ - CheckProducedDeliveryPackingListIsCalculating \ - Tic \ - CheckProducedDeliveryPackingListIsDiverged \ - AcceptDecisionProducedDeliveryPackingList \ - Tic \ - CheckProducedDeliveryPackingListIsSolved \ - CheckSourcingDeliverySimulationDecreasedQuantity \ - \ - CheckSupplyDeliveryPackingListIsConfirmed \ - CheckSupplyDeliveryPackingListIsDiverged\ - \ - CheckProducedReportIsConfirmed \ - CheckProducedReportIsDiverged\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsDiverged\ - \ - SetReadyProducedDeliveryPackingList \ - StartProducedDeliveryPackingList \ - StopProducedDeliveryPackingList \ - DeliverProducedDeliveryPackingList \ - Tic \ - \ - CheckSourcingDeliverySimulationDecreasedQuantity \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsConfirmed \ - CheckSupplyDeliveryPackingListIsDiverged\ - \ - CheckProducedReportIsConfirmed \ - CheckProducedReportIsDiverged\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsDiverged\ - \ - AdoptPrevisionSupplyDeliveryPackingList \ - Tic \ - CheckSupplyDeliveryPackingListIsSolved \ - \ - CheckProducedReportIsConfirmed \ - CheckProducedReportIsDiverged\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsDiverged\ - \ - SetReadySupplyDeliveryPackingList \ - StartSupplyDeliveryPackingList \ - StopSupplyDeliveryPackingList \ - DeliverSupplyDeliveryPackingList \ - Tic \ - \ - CheckSourcingDeliverySimulationDecreasedQuantity \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsDelivered \ - CheckSupplyDeliveryPackingListIsSolved\ - \ - CheckProducedReportIsConfirmed \ - CheckProducedReportIsDiverged\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsDiverged\ - \ - AdoptPrevisionProducedReport \ - Tic \ - CheckProducedReportIsSolved \ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsDiverged\ - \ - SetReadyProducedReport \ - StartProducedReport \ - StopProducedReport \ - DeliverProducedReport \ - Tic \ - \ - CheckSourcingDeliverySimulationDecreasedQuantity \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsDelivered \ - CheckSupplyDeliveryPackingListIsSolved \ - \ - CheckProducedReportIsDelivered \ - CheckProducedReportIsSolved\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsDiverged\ - \ - AdoptPrevisionConsumedReport \ - Tic \ - CheckProducedReportIsSolved \ - \ - SetReadyConsumedReport \ - StartConsumedReport \ - StopConsumedReport \ - DeliverConsumedReport \ - Tic \ - \ - CheckSourcingDeliverySimulationDecreasedQuantity \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsDelivered \ - CheckSupplyDeliveryPackingListIsSolved\ - \ - CheckProducedReportIsDelivered \ - CheckProducedReportIsSolved\ - \ - CheckConsumedReportIsDelivered \ - CheckConsumedReportIsSolved\ - \ - ' - sequence_list.addSequenceString(sequence_string) - - # Check a case, when Consumed Delivery Packing List is diverged - # then accept this decision, next deliver it, then adopt prevision - # on rest of documents and deliver them - do it one by one - sequence_string = delivery_check_sequence_string + '\ - DecreaseSupplyDeliveryPackingListQuantity \ - \ - CheckSupplyDeliveryPackingListIsCalculating \ - Tic \ - CheckSupplyDeliveryPackingListIsDiverged \ - AcceptDecisionSupplyDeliveryPackingList \ - Tic \ - CheckSupplyDeliveryPackingListIsSolved \ - CheckSourcingDeliverySimulationDecreasedQuantity \ - \ - CheckProducedDeliveryPackingListIsConfirmed \ - CheckProducedDeliveryPackingListIsDiverged\ - \ - CheckProducedReportIsConfirmed \ - CheckProducedReportIsSolved \ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsDiverged\ - \ - SetReadySupplyDeliveryPackingList \ - StartSupplyDeliveryPackingList \ - StopSupplyDeliveryPackingList \ - DeliverSupplyDeliveryPackingList \ - Tic \ - \ - CheckSourcingDeliverySimulationDecreasedQuantity \ - \ - CheckSupplyDeliveryPackingListIsDelivered \ - CheckSupplyDeliveryPackingListIsSolved\ - \ - CheckProducedDeliveryPackingListIsConfirmed \ - CheckProducedDeliveryPackingListIsDiverged\ - \ - CheckProducedReportIsConfirmed \ - CheckProducedReportIsSolved\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsDiverged\ - \ - AdoptPrevisionProducedDeliveryPackingList \ - Tic \ - CheckProducedDeliveryPackingListIsSolved \ - \ - CheckProducedReportIsConfirmed \ - CheckProducedReportIsDiverged\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsDiverged\ - \ - SetReadyProducedDeliveryPackingList \ - StartProducedDeliveryPackingList \ - StopProducedDeliveryPackingList \ - DeliverProducedDeliveryPackingList \ - Tic \ - \ - CheckSourcingDeliverySimulationDecreasedQuantity \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsDelivered \ - CheckSupplyDeliveryPackingListIsSolved\ - \ - CheckProducedReportIsConfirmed \ - CheckProducedReportIsDiverged\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsDiverged\ - \ - AdoptPrevisionProducedReport \ - Tic \ - CheckProducedReportIsSolved \ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsDiverged\ - \ - SetReadyProducedReport \ - StartProducedReport \ - StopProducedReport \ - DeliverProducedReport \ - Tic \ - \ - CheckSourcingDeliverySimulationDecreasedQuantity \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsDelivered \ - CheckSupplyDeliveryPackingListIsSolved \ - \ - CheckProducedReportIsDelivered \ - CheckProducedReportIsSolved\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsDiverged\ - \ - AdoptPrevisionConsumedReport \ - Tic \ - CheckProducedReportIsSolved \ - \ - SetReadyConsumedReport \ - StartConsumedReport \ - StopConsumedReport \ - DeliverConsumedReport \ - Tic \ - \ - CheckSourcingDeliverySimulationDecreasedQuantity \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsDelivered \ - CheckSupplyDeliveryPackingListIsSolved\ - \ - CheckProducedReportIsDelivered \ - CheckProducedReportIsSolved\ - \ - CheckConsumedReportIsDelivered \ - CheckConsumedReportIsSolved\ - \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self) - -def test_suite(): - suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(TestProductionDelivery)) - return suite diff --git a/product/ERP5Legacy/tests/testLegacyProjectAndTask.py b/product/ERP5Legacy/tests/testLegacyProjectAndTask.py deleted file mode 100644 index a339217d3a..0000000000 --- a/product/ERP5Legacy/tests/testLegacyProjectAndTask.py +++ /dev/null @@ -1,68 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# 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 advised 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 Products.ERP5Legacy.tests import Legacy_getBusinessTemplateList - -test_suite_list = [] -from Products.ERP5.tests.testTask import * -test_suite_list.append(test_suite) -from Products.ERP5.tests.testTaskReporting import * -test_suite_list.append(test_suite) -from Products.ERP5.tests.testTaskReportDivergence import * -test_suite_list.append(test_suite) -# testProject breaks testTaskReporting so we run it after -from Products.ERP5.tests.testProject import * -test_suite_list.append(test_suite) - -# WARNING: TestProject is tested with rules using 'order' category -TestProject.rule_id_list = 'default_order_rule', 'default_delivery_rule' -TestProject.business_process = None -Legacy_getBusinessTemplateList(TestProject) - -TestTaskMixin.business_process = None -Legacy_getBusinessTemplateList(TestTaskMixin) - -TestTaskReporting.createBusinessProcess = lambda self: None -Legacy_getBusinessTemplateList(TestTaskReporting) - -def stepAcceptDateDecision(self, sequence=None, **kw): - task_report = sequence.get('task_report') - # XXX This is not really cool, when we will have nice api, it is required - # to use it - self.getPortal().portal_deliveries\ - .task_report_builder.solveDeliveryGroupDivergence( - task_report.getRelativeUrl(), - property_dict={'start_date':[self.datetime + 15]}) - -TestTaskReportDivergenceMixin.stepAcceptDateDecision = stepAcceptDateDecision - - -def test_suite(): - suite = test_suite_list[0]() - for test_suite in test_suite_list[1:]: - suite.addTests(test_suite()) - return suite diff --git a/product/ERP5Legacy/tests/testLegacyReturnedSalePackingList.py b/product/ERP5Legacy/tests/testLegacyReturnedSalePackingList.py deleted file mode 100644 index f82e22c5eb..0000000000 --- a/product/ERP5Legacy/tests/testLegacyReturnedSalePackingList.py +++ /dev/null @@ -1,30 +0,0 @@ -############################################################################## -# -# Copyright (c) 2009 Nexedi KK and Contributors. All Rights Reserved. -# Tatuya Kamada <tatuya@nexedi.com> -# -# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -from Products.ERP5Legacy.tests import testLegacySimulationPackingList -from Products.ERP5.tests.testReturnedSalePackingList import * diff --git a/product/ERP5Legacy/tests/testLegacySimulationAdvancedInvoicing.py b/product/ERP5Legacy/tests/testLegacySimulationAdvancedInvoicing.py deleted file mode 100644 index 05ba4bcf3c..0000000000 --- a/product/ERP5Legacy/tests/testLegacySimulationAdvancedInvoicing.py +++ /dev/null @@ -1,37 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved. -# Julien Muchembled <jm@nexedi.com> -# -# 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 advised 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. -# -############################################################################## - -import sys -from Products.ERP5Legacy.tests import testLegacySimulationInvoice -sys.modules['Products.ERP5.tests.testInvoice'] = testLegacySimulationInvoice - -from Products.ERP5Legacy.tests import Legacy_getBusinessTemplateList -from Products.ERP5.tests.testAdvancedInvoicing import * - -Legacy_getBusinessTemplateList(TestAdvancedInvoice) -TestAdvancedInvoice.business_process = None diff --git a/product/ERP5Legacy/tests/testLegacySimulationInventory.py b/product/ERP5Legacy/tests/testLegacySimulationInventory.py deleted file mode 100644 index b6316c1d81..0000000000 --- a/product/ERP5Legacy/tests/testLegacySimulationInventory.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved. -# Julien Muchembled <jm@nexedi.com> -# -# 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 advised 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 Products.ERP5Legacy.tests import testLegacySimulationOrder -from Products.ERP5.tests.testInventory import * - -from Products.ERP5Legacy.tests import Legacy_getBusinessTemplateList -Legacy_getBusinessTemplateList(TestInventory) diff --git a/product/ERP5Legacy/tests/testLegacySimulationInventoryAPI.py b/product/ERP5Legacy/tests/testLegacySimulationInventoryAPI.py deleted file mode 100644 index bebdb5459f..0000000000 --- a/product/ERP5Legacy/tests/testLegacySimulationInventoryAPI.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved. -# Julien Muchembled <jm@nexedi.com> -# -# 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 advised 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 Products.ERP5Legacy.tests import Legacy_getBusinessTemplateList -from Products.ERP5.tests.testInventoryAPI import * - -Legacy_getBusinessTemplateList(InventoryAPITestCase) -InventoryAPITestCase.business_process = None diff --git a/product/ERP5Legacy/tests/testLegacySimulationInventoryModule.py b/product/ERP5Legacy/tests/testLegacySimulationInventoryModule.py deleted file mode 100644 index da27d282b1..0000000000 --- a/product/ERP5Legacy/tests/testLegacySimulationInventoryModule.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved. -# Julien Muchembled <jm@nexedi.com> -# -# 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 advised 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 Products.ERP5Legacy.tests import testLegacySimulationOrder -from Products.ERP5.tests.testInventoryModule import * diff --git a/product/ERP5Legacy/tests/testLegacySimulationInvoice.py b/product/ERP5Legacy/tests/testLegacySimulationInvoice.py deleted file mode 100644 index f00e822c44..0000000000 --- a/product/ERP5Legacy/tests/testLegacySimulationInvoice.py +++ /dev/null @@ -1,3481 +0,0 @@ -############################################################################## -# -# Copyright (c) 2004-2008 Nexedi SA and Contributors. All Rights Reserved. -# Sebastien Robin <seb@nexedi.com> -# Jerome Perrin <jerome@nexedi.com> -# -# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## -""" - Tests invoice creation from simulation. - -""" -import sys -sys.modules['Products.ERP5.tests.testInvoice'] = sys.modules[__name__] - -from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase -from Products.ERP5Type.tests.utils import FileUpload, DummyMailHost -from Products.ERP5Type.UnrestrictedMethod import UnrestrictedMethod -from Products.ERP5OOo.OOoUtils import OOoParser -from AccessControl.SecurityManagement import newSecurityManager -from DateTime import DateTime -from Acquisition import aq_parent -from zLOG import LOG -from Products.ERP5Type.tests.Sequence import SequenceList -from testLegacySimulationPackingList import TestPackingListMixin -from testAccountingRules import TestAccountingRulesMixin - -class TestInvoiceMixin(TestPackingListMixin, - TestAccountingRulesMixin,): - """Test methods for invoices - """ - default_region = "europe/west/france" - vat_gap = 'fr/pcg/4/44/445/4457/44571' - vat_rate = 0.196 - sale_gap = 'fr/pcg/7/70/707/7071/70712' - customer_gap = 'fr/pcg/4/41/411' - bank_gap = 'fr/pcg/5/51/512' - mail_delivery_mode = 'by_mail' - cpt_incoterm = 'cpt' - unit_piece_quantity_unit = 'unit/piece' - mass_quantity_unit = 'mass/kg' - oldMailhost = None - - # (account_id, account_gap, account_type) - account_definition_list = ( - ('receivable_vat', vat_gap, 'liability/payable/collected_vat',), - ('sale', sale_gap, 'income'), - ('customer', customer_gap, 'asset/receivable'), - ('refundable_vat', vat_gap, 'asset/receivable/refundable_vat'), - ('purchase', sale_gap, 'expense'), - ('supplier', customer_gap, 'liability/payable'), - ('bank', bank_gap, 'asset/cash/bank'), - ) - # (line_id, source_account_id, destination_account_id, line_quantity) - transaction_line_definition_list = ( - ('income', 'sale', 'purchase', 1.0), - ('receivable', 'customer', 'supplier', -1.0 - vat_rate), - ('collected_vat', 'receivable_vat', 'refundable_vat', vat_rate), - ) - - def getTitle(self): - return "Invoices" - - def getBusinessTemplateList(self): - return super(TestInvoiceMixin, self).getBusinessTemplateList() + ( - 'erp5_accounting', 'erp5_invoicing', 'erp5_simplified_invoicing', - 'erp5_accounting_simulation_legacy', 'erp5_invoicing_simulation_legacy') - - @UnrestrictedMethod - def createCategories(self): - """Create the categories for our test. """ - super(TestInvoiceMixin, self).createCategories() - for cat_string in self.getNeededCategoryList() : - base_cat = cat_string.split("/")[0] - path = self.getPortal().portal_categories[base_cat] - for cat in cat_string.split("/")[1:] : - if not cat in path.objectIds() : - path = path.newContent( - portal_type='Category', - id=cat,) - else: - path = path[cat] - # check categories have been created - for cat_string in self.getNeededCategoryList() : - self.assertNotEquals(None, - self.getCategoryTool().restrictedTraverse(cat_string), - cat_string) - - def getNeededCategoryList(self): - """return a list of categories that should be created.""" - return ('region/%s' % self.default_region, - 'gap/%s' % self.vat_gap, - 'gap/%s' % self.sale_gap, - 'gap/%s' % self.customer_gap, - 'gap/%s' % self.bank_gap, - 'delivery_mode/%s' % self.mail_delivery_mode, - 'incoterm/%s' % self.cpt_incoterm, - 'quantity_unit/%s' % self.unit_piece_quantity_unit, - 'quantity_unit/%s' % self.mass_quantity_unit, - ) - - - def afterSetUp(self): - self.createCategories() - self.validateRules() - self.login() - self.oldMailHost = getattr(self.portal, 'MailHost', None) - if self.oldMailHost is not None: - self.portal.manage_delObjects(['MailHost']) - self.portal._setObject('MailHost', DummyMailHost('MailHost')) - self.tic() - - def beforeTearDown(self): - self.abort() - self.tic() - # restore the original MailHost - if self.oldMailHost is not None: - self.portal.manage_delObjects(['MailHost']) - self.portal._setObject('MailHost', DummyMailHost('MailHost')) - for folder in (self.portal.accounting_module, - self.portal.organisation_module, - self.portal.sale_order_module, - self.portal.purchase_order_module, - self.portal.sale_packing_list_module, - self.portal.purchase_packing_list_module, - self.portal.portal_simulation,): - - folder.manage_delObjects([x for x in folder.objectIds() if x not in ('organisation_1','organisation_2','ppl_1','ppl_2')]) - - self.tic() - - def login(self): - """login, without manager role""" - uf = self.getPortal().acl_users - uf._doAddUser('test_invoice_user', '', ['Assignee', 'Assignor', 'Member', - 'Associate', 'Auditor', 'Author'], []) - user = uf.getUserById('test_invoice_user').__of__(uf) - newSecurityManager(None, user) - - def stepCreateSaleInvoiceTransactionRule(self, sequence, **kw) : - """Create the rule for accounting. """ - self.createInvoiceTransactionRule(resource=sequence.get('resource')) - - @UnrestrictedMethod - def createInvoiceTransactionRule(self, resource=None): - """Create a sale invoice transaction rule with only one cell for - product_line/apparel and default_region - The accounting rule cell will have the provided resource, but this his more - or less optional (as long as price currency is set correctly on order) - """ - portal = self.portal - account_module = portal.account_module - for account_id, account_gap, account_type \ - in self.account_definition_list: - if not account_id in account_module.objectIds(): - account = account_module.newContent(id=account_id) - account.setGap(account_gap) - account.setAccountType(account_type) - portal.portal_workflow.doActionFor(account, 'validate_action') - - invoice_rule = portal.portal_rules.default_invoice_transaction_simulation_rule - if invoice_rule.getValidationState() == 'validated': - invoice_rule.invalidate() - invoice_rule.deleteContent(list(invoice_rule.objectIds())) - self.tic() - region_predicate = invoice_rule.newContent(portal_type = 'Predicate') - product_line_predicate = invoice_rule.newContent(portal_type = 'Predicate') - region_predicate.edit( - membership_criterion_base_category_list = ['destination_region'], - membership_criterion_category_list = - ['destination_region/region/%s' % self.default_region ], - int_index = 1, - string_index = 'region' - ) - product_line_predicate.edit( - membership_criterion_base_category_list = ['product_line'], - membership_criterion_category_list = - ['product_line/apparel'], - int_index = 1, - string_index = 'product' - ) - product_line_predicate.immediateReindexObject() - region_predicate.immediateReindexObject() - - invoice_rule.updateMatrix() - cell_list = invoice_rule.getCellValueList(base_id='movement') - self.assertEquals(len(cell_list),1) - cell = cell_list[0] - - for line_id, line_source_id, line_destination_id, line_ratio in \ - self.transaction_line_definition_list: - line = cell.newContent(id=line_id, - portal_type='Accounting Transaction Line', quantity=line_ratio, - resource_value=resource, - source_value=account_module[line_source_id], - destination_value=account_module[line_destination_id]) - - invoice_rule.validate() - self.tic() - - def stepCreateEntities(self, sequence, **kw) : - """Create a vendor and two clients. """ - self.stepCreateOrganisation1(sequence, **kw) - self.stepCreateOrganisation2(sequence, **kw) - self.stepCreateOrganisation3(sequence, **kw) - self.stepCreateProject1(sequence, **kw) - self.stepCreateProject2(sequence, **kw) - vendor = sequence.get('organisation1') - vendor.setRegion(self.default_region) - vendor.validate() - sequence.edit(vendor=vendor) - client1 = sequence.get('organisation2') - client1.setRegion(self.default_region) - self.assertNotEquals(client1.getRegionValue(), None) - client1.validate() - sequence.edit(client1=client1) - client2 = sequence.get('organisation3') - self.assertEquals(client2.getRegionValue(), None) - client2.validate() - sequence.edit(client2=client2) - - def stepCheckOrderRule(self, sequence=None, sequence_list=None, **kw): - """Check we have a related Order Rule""" - order = sequence.get('order') - simulation_tool = self.getSimulationTool() - # Check that there is an applied rule for our packing list - rule_list = [x for x in simulation_tool.objectValues() - if x.getCausalityValue()==order] - self.assertNotEquals(len(rule_list), 0) - sequence.edit(order_rule_list = rule_list) - - self.assertEquals(len(order.getMovementList()), - sum([len(rule.objectIds()) for rule in rule_list])) - - def stepCheckInvoicingRule(self, sequence=None, sequence_list=None, **kw): - """ - Checks that the invoicing rule is applied and its values are correct. - """ - order_rule_list = sequence.get('order_rule_list') - invoicing_rule_list = [] - invoice_transaction_rule_list = [] - for order_rule in order_rule_list : - for order_simulation_movement in order_rule.objectValues() : - temp_invoicing_rule_list = [ar for ar in order_simulation_movement.objectValues()[0].objectValues()[0].objectValues() - if ar.getSpecialiseValue().getPortalType() == 'Invoice Simulation Rule'] - self.assertEquals(len(temp_invoicing_rule_list), 1) - invoicing_rule_list.extend(temp_invoicing_rule_list) - sequence.edit(invoicing_rule_list=invoicing_rule_list) - invoicing_rule = invoicing_rule_list[0] - sequence.edit(invoicing_rule = invoicing_rule) - for invoicing_rule in invoicing_rule_list: - self.assertEquals(invoicing_rule.getSpecialiseReference(), - 'default_invoicing_rule') - self.assertEquals(invoicing_rule.getPortalType(), - 'Applied Rule') - simulation_movement_list = invoicing_rule.objectValues() - self.assertNotEquals(len(simulation_movement_list), 0) - for simulation_movement in simulation_movement_list : - invoice_transaction_rule_list.extend([applied_rule for applied_rule - in simulation_movement.objectValues() if applied_rule \ - .getSpecialiseValue().getPortalType() - == 'Invoice Transaction Simulation Rule']) - resource_list = sequence.get('resource_list') - self.assertEquals(simulation_movement.getPortalType(), - 'Simulation Movement') - self.assertTrue(simulation_movement.getResourceValue() in - resource_list) - self.assertTrue(simulation_movement.isConvergent()) - # TODO: What is the invoice dates supposed to be ? - # is this done through profiles ? - #self.assertEquals(simulation_movement.getStartDate(), - # sequence.get('order').getStartDate()) - #self.assertEquals(simulation_movement.getStopDate(), - # sequence.get('order').getStopDate()) - sequence.edit(invoice_transaction_rule_list=invoice_transaction_rule_list) - - def stepCheckInvoiceTransactionRule(self, sequence=None, sequence_list=None, - **kw): - """ - Checks that the applied invoice_transaction_rule is expanded and its movements are - consistent with its parent movement - """ - invoice_transaction_rule_list = \ - sequence.get('invoice_transaction_rule_list') - for applied_invoice_transaction_rule in invoice_transaction_rule_list: - parent_movement = aq_parent(applied_invoice_transaction_rule) - invoice_transaction_rule = \ - applied_invoice_transaction_rule.getSpecialiseValue() - self.assertEquals(3, len(applied_invoice_transaction_rule.objectValues())) - for line_id, line_source_id, line_destination_id, line_ratio in \ - self.transaction_line_definition_list: - movement = None - for simulation_movement in \ - applied_invoice_transaction_rule.objectValues(): - if simulation_movement.getSourceId() == line_source_id and\ - simulation_movement.getDestinationId() == line_destination_id: - movement = simulation_movement - break - - self.assertTrue(movement is not None) - self.assertEquals(movement.getCorrectedQuantity(), parent_movement.getPrice() * - parent_movement.getCorrectedQuantity() * line_ratio) - self.assertEquals(movement.getStartDate(), - parent_movement.getStartDate()) - self.assertEquals(movement.getStopDate(), - parent_movement.getStopDate()) - - def modifyPackingListState(self, transition_name, - sequence,packing_list=None): - """ calls the workflow for the packing list """ - if packing_list is None: - packing_list = sequence.get('packing_list') - packing_list.portal_workflow.doActionFor(packing_list, transition_name) - - def stepSetReadyPackingList(self, sequence=None, sequence_list=None, **kw): - """ set the Packing List as Ready. This must build the invoice. """ - self.modifyPackingListState('set_ready_action', sequence=sequence) - packing_list = sequence.get('packing_list') - self.assertEquals(packing_list.getSimulationState(), 'ready') - - def stepSetReadyNewPackingList(self, sequence=None, - sequence_list=None, **kw): - """ set the Packing List as Ready. This must build the invoice. """ - packing_list = sequence.get('new_packing_list') - self.modifyPackingListState('set_ready_action', sequence=sequence, - packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'ready') - - def stepStartPackingList(self, sequence=None, sequence_list=None, **kw): - self.modifyPackingListState('start_action', sequence=sequence) - packing_list = sequence.get('packing_list') - self.assertEquals(packing_list.getSimulationState(), 'started') - - def stepStartNewPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('new_packing_list') - self.modifyPackingListState('start_action', sequence=sequence, - packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'started') - - def stepStopPackingList(self, sequence=None, sequence_list=None, **kw): - self.modifyPackingListState('stop_action', sequence=sequence) - packing_list = sequence.get('packing_list') - self.assertEquals(packing_list.getSimulationState(), 'stopped') - - def stepDeliverPackingList(self, sequence=None, sequence_list=None, **kw): - self.modifyPackingListState('deliver_action', sequence=sequence) - packing_list = sequence.get('packing_list') - self.assertEquals(packing_list.getSimulationState(), 'delivered') - - def stepCancelPackingList(self, sequence=None, sequence_list=None, **kw): - self.modifyPackingListState('cancel_action', sequence=sequence) - packing_list = sequence.get('packing_list') - self.assertEquals(packing_list.getSimulationState(), 'cancelled') - - def modifyInvoiceState(self, transition_name, - sequence,invoice=None): - """ calls the workflow for the invoice """ - if invoice is None: - invoice = sequence.get('invoice') - invoice.portal_workflow.doActionFor(invoice, transition_name) - - def stepStartInvoice(self, sequence=None, sequence_list=None, **kw): - self.modifyInvoiceState('start_action', sequence=sequence) - invoice = sequence.get('invoice') - self.assertEquals(invoice.getSimulationState(), 'started') - - def stepStartNewInvoice(self, sequence=None, sequence_list=None, **kw): - invoice = sequence.get('new_invoice') - self.modifyInvoiceState('start_action', sequence=sequence, - invoice=invoice) - self.assertEquals(invoice.getSimulationState(), 'started') - - def stepStopInvoice(self, sequence=None, sequence_list=None, **kw): - self.modifyInvoiceState('stop_action', sequence=sequence) - invoice = sequence.get('invoice') - self.assertEquals(invoice.getSimulationState(), 'stopped') - - def stepDeliverInvoice(self, sequence=None, sequence_list=None, **kw): - self.modifyInvoiceState('deliver_action', sequence=sequence) - invoice = sequence.get('invoice') - self.assertEquals(invoice.getSimulationState(), 'delivered') - - def stepCancelInvoice(self, sequence=None, sequence_list=None, **kw): - self.modifyInvoiceState('cancel_action', sequence=sequence) - invoice = sequence.get('invoice') - self.assertEquals(invoice.getSimulationState(), 'cancelled') - - - def stepSwitchPackingLists(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('packing_list') - new_packing_list = sequence.get('new_packing_list') - #invoice = new_packing_list.getDefaultCausalityRelatedValue( - #portal_type=self.invoice_portal_type) - sequence.edit(packing_list=new_packing_list, - new_packing_list=packing_list)#, invoice=invoice) - - def stepSwitchInvoices(self, sequence=None, sequence_list=None, **kw): - invoice = sequence.get('invoice') - new_invoice = sequence.get('new_invoice') - sequence.edit(invoice=new_invoice, new_invoice=invoice) - - def stepCheckPackingListSimulation(self, sequence=None, sequence_list=None, **kw): - """ checks that simulation movements related to the packing list are OK """ - packing_list = sequence.get('packing_list') - order = sequence.get('order') - order_root_applied_rule = order.getCausalityRelatedValueList( - portal_type = 'Applied Rule')[0] - # check simulation movements from this packing list - for movement in packing_list.getMovementList() : - simulation_movement_list = movement.getOrderRelatedValueList() - self.assertNotEquals(len(simulation_movement_list), 0) - total_quantity = 0 - for simulation_movement in simulation_movement_list : - total_quantity += simulation_movement.getQuantity() - # check that those movements come from the same root applied - # rule than the order. - self.assertEquals( simulation_movement.getRootAppliedRule(), - order_root_applied_rule) - self.assertEquals(total_quantity, movement.getQuantity()) - - def checkMirrorAcquisition(self, object, acquired_object): - """ - Check if properties are well acquired for mirrored case - """ - # packing_list_movement, simulation_movement - - self.assertEquals(acquired_object.getStartDate(), object.getStopDate()) - self.assertEquals(acquired_object.getStopDate(), object.getStartDate()) - self.assertEquals(acquired_object.getSourceValue(), \ - object.getDestinationValue()) - self.assertEquals(acquired_object.getDestinationValue(), \ - object.getSourceValue()) - - self.assertEquals(acquired_object.getSourceSectionValue(), \ - object.getDestinationSectionValue()) - self.assertEquals(acquired_object.getDestinationSectionValue(), \ - object.getSourceSectionValue()) - - def stepCheckInvoiceBuilding(self, sequence=None, sequence_list=None, **kw): - """ - checks that the invoice is built with the default_invoice_builder - """ - packing_list = sequence.get('packing_list') - related_invoice_list = packing_list.getCausalityRelatedValueList( - portal_type=self.invoice_portal_type) - - if packing_list.getPortalType() == 'Purchase Packing List': - packing_list_building_state = 'stopped' - else: - packing_list_building_state = 'started' - packing_list_state = packing_list.getSimulationState() - if packing_list_state != packing_list_building_state : - self.assertEquals(0, len(related_invoice_list)) - else: - self.assertEquals(1, len(related_invoice_list)) - - invoice = related_invoice_list[0].getObject() - self.failUnless(invoice is not None) - # Invoices created by Delivery Builder are in confirmed state - self.assertEquals(invoice.getSimulationState(), 'confirmed') - - # Get the list of simulation movements of packing list ... - packing_list_simulation_movement_list = [] - for packing_list_movement in packing_list.getMovementList(): - packing_list_simulation_movement_list.extend( - packing_list_movement.getDeliveryRelatedValueList()) - # ... invoice simulation movement are their childrens. - simulation_movement_list = [] - for p_l_simulation_movement in packing_list_simulation_movement_list : - for applied_rule in p_l_simulation_movement.objectValues() : - simulation_movement_list.extend(applied_rule.objectValues()) - - # First, test if each Simulation Movement is related to an - # Invoice Movement - invoice_relative_url = invoice.getRelativeUrl() - for simulation_movement in simulation_movement_list: - invoice_movement_list = simulation_movement.getDeliveryValueList() - self.assertEquals(len(invoice_movement_list), 1) - invoice_movement = invoice_movement_list[0] - self.failUnless(invoice_movement is not None) - self.assert_(invoice_movement.getRelativeUrl().\ - startswith(invoice_relative_url)) - - # Then, test if each Invoice movement is equals to the sum of somes - # Simulation Movements - for invoice_movement in invoice.getMovementList(portal_type = [ - self.invoice_cell_portal_type, - self.invoice_line_portal_type]) : - related_simulation_movement_list = invoice_movement.\ - getDeliveryRelatedValueList(portal_type='Simulation Movement') - quantity = 0 - total_price = 0 - invoice_movement_quantity = invoice_movement.getQuantity() - for related_simulation_movement in related_simulation_movement_list: - quantity += related_simulation_movement.getQuantity() - total_price += related_simulation_movement.getPrice() *\ - related_simulation_movement.getQuantity() - # Test resource - self.assertEquals(invoice_movement.getResource(), \ - related_simulation_movement.getResource()) - # Test resource variation - self.assertEquals(invoice_movement.getVariationText(), \ - related_simulation_movement.getVariationText()) - self.assertEquals(invoice_movement.getVariationCategoryList(), \ - related_simulation_movement.getVariationCategoryList()) - # Test acquisition - self.checkAcquisition(invoice_movement, - related_simulation_movement) - # Test delivery ratio - self.assertEquals(related_simulation_movement.getQuantity() /\ - invoice_movement_quantity, \ - related_simulation_movement.getDeliveryRatio()) - - self.assertEquals(quantity, invoice_movement.getQuantity()) - # Test price - self.assertEquals(total_price / quantity, invoice_movement.getPrice()) - - sequence.edit(invoice = invoice) - - # Test causality - self.assertEquals(len(invoice.getCausalityValueList( - portal_type = self.packing_list_portal_type)), 1) - self.assertEquals(invoice.getCausalityValue(), packing_list) - - # Finally, test getTotalQuantity and getTotalPrice on Invoice - self.assertEquals(packing_list.getTotalQuantity(), - invoice.getTotalQuantity()) - self.assertEquals(packing_list.getTotalPrice(), - invoice.getTotalPrice()) - - def stepCheckInvoicesConsistency(self, sequence=None, sequence_list=None, - **kw): - """ - Checks that all invoices are consistent: - - transaction lines match invoice lines - - no movement is divergent - """ - invoice_list = self.getPortal()['accounting_module'].objectValues() - for invoice in invoice_list: - accounting_state_list = \ - list(self.getPortal().getPortalCurrentInventoryStateList()) - accounting_state_list.append('cancelled') - if invoice.getSimulationState() in accounting_state_list: - invoice_line_list = invoice.contentValues( - portal_type=self.invoice_line_portal_type) - invoice_transaction_line_list = invoice.contentValues( - portal_type=self.invoice_transaction_line_portal_type) - self.assertEquals(3, len(invoice_transaction_line_list)) - expected_price = 0.0 - for line in invoice_line_list: - expected_price += line.getTotalPrice() - for line_id, line_source, line_dest, line_ratio in \ - self.transaction_line_definition_list: - for line in invoice.contentValues( - portal_type=self.invoice_transaction_line_portal_type): - if line.getSource() == 'account_module/%s' % line_source and \ - line.getDestination() == 'account_module/%s' % line_dest: - break - else: - self.fail('No line found that matches %s' % line_id) - resource_precision = line.getResourceValue().getQuantityPrecision() - self.assertEquals(round(line.getQuantity(), resource_precision), - round(expected_price * line_ratio, resource_precision)) - - def stepCheckInvoiceLineHasReferenceAndIntIndex(self, sequence=None, **kw): - """Check that the unique invoice line in the invoice has reference and int - index. - """ - invoice = sequence.get('invoice') - invoice_line_list = invoice.contentValues( - portal_type=self.invoice_line_portal_type) - self.assertEquals(1, len(invoice_line_list)) - invoice_line = invoice_line_list[0] - self.assertEquals(1, invoice_line.getIntIndex()) - self.assertEquals('1', invoice_line.getReference()) - - def stepCheckPackingListInvoice( - self, sequence=None, sequence_list=None, **kw): - """ Checks if the delivery builder is working as expected, - coping the atributes from packing list to invoice.""" - packing_list = sequence.get('packing_list') - related_invoice_list = packing_list.getCausalityRelatedValueList( - portal_type=self.invoice_portal_type) - self.assertEquals(len(related_invoice_list), 1) - invoice = related_invoice_list[0] - self.assertEquals(packing_list.getSource(), invoice.getSource()) - self.assertEquals(packing_list.getDestination(), invoice.getDestination()) - self.assertEquals(packing_list.getDestinationSection(), \ - invoice.getDestinationSection()) - self.assertEquals(packing_list.getSourceSection(), \ - invoice.getSourceSection()) - self.assertEquals(packing_list.getDestinationDecision(), \ - invoice.getDestinationDecision()) - self.assertEquals(packing_list.getSourceDecision(), \ - invoice.getSourceDecision()) - self.assertEquals(packing_list.getDestinationAdministration(), \ - invoice.getDestinationAdministration()) - self.assertEquals(packing_list.getSourceAdministration(), \ - invoice.getSourceAdministration()) - self.assertEquals(packing_list.getDestinationProject(), \ - invoice.getDestinationProject()) - self.assertEquals(packing_list.getSourceProject(), \ - invoice.getSourceProject()) - self.assertEquals(packing_list.getPriceCurrency(), \ - invoice.getPriceCurrency()) - - - - def stepCheckDeliveryRuleForDeferred( - self, sequence=None, sequence_list=None, **kw): - """ Checks that a delivery rule has been created when we took 'split - and defer' decision on the divergeant Packing List. """ - # TODO - - def stepCheckDeliveryRuleIsEmpty( - self, sequence=None, sequence_list=None, **kw): - """ Checks that an empty delivery rule is created for the - convergeant Packing List""" - packing_list = sequence.get('packing_list') - self.failUnless(packing_list is not None) - simulation_tool = self.getSimulationTool() - # Check that there is an applied rule for our packing list - rule_list = [x for x in simulation_tool.objectValues() - if x.getCausalityValue()==packing_list] - self.assertEquals(len(rule_list),1) - packing_list_rule = rule_list[0] - sequence.edit(packing_list_rule=packing_list_rule) - rule_line_list = packing_list_rule.objectValues() - packing_list_line_list = packing_list.objectValues() - self.assertEquals(len(packing_list_line_list), - len(rule_line_list)) - self.assertEquals(1, len(rule_line_list)) - rule_line = rule_line_list[0] - packing_list_line = packing_list_line_list[0] - self.assertEquals(rule_line.getQuantity(), 10) - self.assertEquals(rule_line.getPrice(), 100) - self.assertEquals(rule_line.getDeliveryValue(), - packing_list_line) - self.assertEquals(rule_line.getStartDate(), - packing_list_line.getStartDate()) - self.assertEquals(rule_line.getStopDate(), - packing_list_line.getStopDate()) - self.assertEquals(rule_line.getPortalType(), - 'Simulation Movement') - - - def stepCheckPackingList(self,sequence=None, sequence_list=None,**kw): - """ """ - packing_list_module = self.getSalePackingListModule() - order_rule = sequence.get('order_rule') - order = sequence.get('order') - sale_packing_list_list = [] - for o in packing_list_module.objectValues(): - if o.getCausalityValue() == order: - sale_packing_list_list.append(o) - self.assertEquals(len(sale_packing_list_list), 1) - sale_packing_list = sale_packing_list_list[0] - sale_packing_list_line_list = sale_packing_list.objectValues() - self.assertEquals(len(sale_packing_list_line_list),1) - sale_packing_list_line = sale_packing_list_line_list[0] - product = sequence.get('resource') - self.assertEquals(sale_packing_list_line.getResourceValue(), - product) - self.assertEquals(sale_packing_list_line.getPrice(), - self.price1) - LOG('sale_packing_list_line.showDict()',0, - sale_packing_list_line.showDict()) - self.assertEquals(sale_packing_list_line.getQuantity(), - self.quantity1) - self.assertEquals(sale_packing_list_line.getTotalPrice(), - self.total_price1) - sequence.edit(packing_list = sale_packing_list) - - def stepCheckTwoInvoices(self,sequence=None, sequence_list=None, **kw): - """ checks invoice properties are well set. """ - # Now we will check that we have two invoices created - packing_list = sequence.get('packing_list') - invoice_list = packing_list.getCausalityRelatedValueList( - portal_type=self.invoice_portal_type) - self.assertEquals(len(invoice_list),1) - invoice = invoice_list[0] - self.assertEquals(invoice.getSimulationState(), 'confirmed') - sequence.edit(invoice=invoice) - new_packing_list = sequence.get('new_packing_list') - new_invoice_list = new_packing_list.getCausalityRelatedValueList( - portal_type=self.invoice_portal_type) - self.assertEquals(len(new_invoice_list),1) - new_invoice = new_invoice_list[0] - self.assertEquals(new_invoice.getSimulationState(), 'confirmed') - sequence.edit(new_invoice=new_invoice) - - def stepStartTwoInvoices(self,sequence=None, sequence_list=None, **kw): - """ start both invoices. """ - portal = self.getPortal() - invoice = sequence.get('invoice') - new_invoice = sequence.get('new_invoice') - portal.portal_workflow.doActionFor(invoice, 'start_action') - portal.portal_workflow.doActionFor(new_invoice, 'start_action') - - def stepCheckTwoInvoicesTransactionLines(self,sequence=None, - sequence_list=None, **kw): - """ checks invoice properties are well set. """ - invoice = sequence.get('invoice') - new_invoice = sequence.get('new_invoice') - self.assertEquals(3,len(invoice.objectValues( - portal_type=self.invoice_transaction_line_portal_type))) - self.assertEquals(3,len(new_invoice.objectValues( - portal_type=self.invoice_transaction_line_portal_type))) - account_module = self.getAccountModule() - found_dict = {} - for line in invoice.objectValues( - portal_type=self.invoice_transaction_line_portal_type): - source_id = line.getSourceId() - found_dict[source_id] = line.getQuantity() - total_price = (self.default_quantity-1) * self.default_price - expected_dict = { - 'sale' : total_price, - 'receivable_vat' : total_price * self.vat_rate, - 'customer' : - (total_price + total_price * self.vat_rate) - } - self.failIfDifferentSet(expected_dict.keys(),found_dict.keys()) - for key in found_dict.keys(): - self.assertAlmostEquals(expected_dict[key],found_dict[key],places=2) - found_dict = {} - for line in new_invoice.objectValues( - portal_type=self.invoice_transaction_line_portal_type): - source_id = line.getSourceId() - found_dict[source_id] = line.getQuantity() - total_price = 1 * self.default_price - expected_dict = { - 'sale' : total_price, - 'receivable_vat' : total_price * self.vat_rate, - 'customer' : - (total_price + total_price * self.vat_rate) - } - self.failIfDifferentSet(expected_dict.keys(), found_dict.keys()) - for key in found_dict.keys(): - self.assertAlmostEquals(expected_dict[key], found_dict[key], places=2) - - def stepRebuildAndCheckNothingIsCreated(self, sequence=None, - sequence_list=None, **kw): - """Rebuilds with sale_invoice_builder and checks nothing more is - created. """ - accounting_module = self.getAccountingModule() - portal_type_list = ('Sale Invoice Transaction', 'Purchase Invoice Transaction') - sale_invoice_transaction_count = len(accounting_module.objectValues( - portal_type=portal_type_list)) - for builder in self.getPortal().portal_deliveries.objectValues(): - builder.build() - self.assertEquals(sale_invoice_transaction_count, - len(accounting_module.objectValues( - portal_type=portal_type_list))) - - def stepModifyInvoicesDate(self, sequence=None, - sequence_list=None, **kw): - """Change invoice date""" - invoice = sequence.get('invoice') - new_invoice = sequence.get('new_invoice') - invoice.edit(start_date=self.datetime, - stop_date=self.datetime+1) - new_invoice.edit(start_date=self.datetime, - stop_date=self.datetime+1) - - def stepRemoveDateMovementGroupForTransactionBuilder(self, sequence=None, - sequence_list=None, **kw): - """ - Remove DateMovementGroup - """ - portal = self.getPortal() - builder = portal.portal_deliveries.sale_invoice_transaction_builder - delivery_movement_group_list = builder.getDeliveryMovementGroupList() - uf = self.getPortal().acl_users - uf._doAddUser('admin', '', ['Manager'], []) - user = uf.getUserById('admin').__of__(uf) - newSecurityManager(None, user) - for movement_group in delivery_movement_group_list: - if movement_group.getPortalType() == 'Property Movement Group': - # it contains 'start_date' and 'stop_date' only, so we remove - # movement group itself. - builder.deleteContent(movement_group.getId()) - builder.newContent( - portal_type = 'Parent Explanation Movement Group', - collect_order_group='delivery', - int_index=len(delivery_movement_group_list)+1 - ) - user = uf.getUserById('test_invoice_user').__of__(uf) - newSecurityManager(None, user) - - def stepEditInvoice(self, sequence=None, sequence_list=None, **kw): - """Edit the current invoice, to trigger updateAppliedRule.""" - invoice = sequence.get('invoice') - invoice.edit() - - # call updateAppliedRule directly, don't rely on edit interactions - rule_reference = 'default_invoice_rule' - self.assertNotEquals(0, - len(self.portal.portal_rules.searchFolder(reference=rule_reference))) - invoice.updateAppliedRule(rule_reference=rule_reference) - - def stepCheckInvoiceRuleNotAppliedOnInvoiceEdit(self, - sequence=None, sequence_list=None, **kw): - """If we call edit on the invoice, invoice rule should not be - applied on lines created by delivery builder.""" - invoice = sequence.get('invoice') - # FIXME: empty applied rule should not be created - #self.assertEquals(len(invoice.getCausalityRelatedValueList( - # portal_type=self.applied_rule_portal_type)), 0) - for invoice_mvt in invoice.getMovementList(): - self.assertEquals(len(invoice_mvt.getOrderRelatedValueList( - portal_type=self.simulation_movement_portal_type)), 0) - - def stepEditPackingList(self, sequence=None, sequence_list=None, **kw): - """Edit the current packing list, to trigger updateAppliedRule.""" - packing_list = sequence.get('packing_list') - packing_list.edit() - - # call updateAppliedRule directly, don't rely on edit interactions - rule_reference = 'default_delivery_rule' - self.assertNotEquals(0, - len(self.portal.portal_rules.searchFolder(reference=rule_reference))) - packing_list.updateAppliedRule(rule_reference=rule_reference) - - def stepCheckDeliveryRuleNotAppliedOnPackingListEdit(self, - sequence=None, sequence_list=None, **kw): - """If we call edit on the packing list, delivery rule should not be - applied on lines created by delivery builder.""" - packing_list = sequence.get('packing_list') - # FIXME: empty applied rule should not be created - #self.assertEquals(len(packing_list.getCausalityRelatedValueList( - # portal_type=self.applied_rule_portal_type)), 0) - for delivery_mvt in packing_list.getMovementList(): - self.assertEquals(len(delivery_mvt.getOrderRelatedValueList( - portal_type=self.simulation_movement_portal_type)), 0) - - def stepDecreaseInvoiceLineQuantity(self, sequence=None, sequence_list=None, - **kw): - """ - Set a decreased quantity on invoice lines - """ - invoice = sequence.get('invoice') - quantity = sequence.get('line_quantity',default=self.default_quantity) - quantity = quantity - 1 - sequence.edit(line_quantity=quantity) - for invoice_line in invoice.objectValues( - portal_type=self.invoice_line_portal_type): - invoice_line.edit(quantity=quantity) - sequence.edit(last_delta = sequence.get('last_delta', 0.0) - 1.0) - - def stepIncreaseInvoiceLineQuantity(self, sequence=None, sequence_list=None, - **kw): - """ - Set a Increased quantity on invoice lines - """ - invoice = sequence.get('invoice') - quantity = sequence.get('line_quantity',default=self.default_quantity) - quantity = quantity + 1 - sequence.edit(line_quantity=quantity) - for invoice_line in invoice.objectValues( - portal_type=self.invoice_line_portal_type): - invoice_line.edit(quantity=quantity) - sequence.edit(last_delta = sequence.get('last_delta', 0.0) + 1.0) - - def stepSetInvoiceLineQuantityToZero(self, sequence=None, sequence_list=None, - **kw): - """ - Set the quantity on invoice lines to zero - """ - invoice = sequence.get('invoice') - #default_quantity = sequence.get('line_quantity',default_quantity) - quantity = 0.0 - sequence.edit(line_quantity=quantity) - for invoice_line in invoice.objectValues( - portal_type=self.invoice_line_portal_type): - invoice_line.edit(quantity=quantity) - sequence.edit(last_delta = - self.default_quantity) - - def stepChangeInvoiceStartDate(self, sequence=None, sequence_list=None, **kw): - """ - Change the start_date of the invoice. - """ - invoice = sequence.get('invoice') - invoice.edit(start_date=self.datetime + 15) - - def stepCheckInvoiceIsCalculating(self, sequence=None, sequence_list=None, - **kw): - """ - Test if invoice is calculating - """ - invoice = sequence.get('invoice') - self.assertEquals('calculating',invoice.getCausalityState()) - - def stepCheckInvoiceIsDiverged(self, sequence=None, sequence_list=None, - **kw): - """ - Test if invoice is diverged - """ - invoice = sequence.get('invoice') - self.assertEquals('diverged',invoice.getCausalityState()) - - def stepCheckInvoiceIsSolved(self, sequence=None, sequence_list=None, - **kw): - """ - Test if invoice is solved - """ - invoice = sequence.get('invoice') - self.assertEquals('solved', invoice.getCausalityState(), - invoice.getDivergenceList()) - - def stepCheckInvoiceIsDivergent(self, sequence=None, sequence_list=None, - **kw): - """ - Test if invoice is divergent - """ - invoice = sequence.get('invoice') - self.assertTrue(invoice.isDivergent()) - - def stepCheckInvoiceIsNotDivergent(self, sequence=None, sequence_list=None, - **kw): - """ - Test if invoice is not divergent - """ - invoice = sequence.get('invoice') - if invoice.isDivergent(): - self.fail(invoice.getDivergenceList()) - - def stepSplitAndDeferInvoice(self, sequence=None, sequence_list=None, - **kw): - """ - split and defer at the invoice level - """ - invoice = sequence.get('invoice') - kw = {'listbox':[ - {'listbox_key':line.getRelativeUrl(), - 'choice':'SplitAndDefer'} for line in invoice.getMovementList()]} - self.portal.portal_workflow.doActionFor( - invoice, - 'split_and_defer_action', - start_date=self.datetime + 15, - stop_date=self.datetime + 25, - **kw) - pass - - def stepUnifyStartDateWithDecisionInvoice(self, sequence=None, - sequence_list=None): - invoice = sequence.get('invoice') - self._solveDeliveryGroupDivergence(invoice, 'start_date', - invoice.getRelativeUrl()) - - def stepAdoptPrevisionQuantityInvoice(self,sequence=None, sequence_list=None): - invoice = sequence.get('invoice') - self._solveDivergence(invoice, 'quantity', 'adopt') - - def stepAcceptDecisionQuantityInvoice(self,sequence=None, sequence_list=None): - invoice = sequence.get('invoice') - self._solveDivergence(invoice, 'quantity', 'accept') - - def stepAcceptDecisionInvoice(self, sequence=None, sequence_list=None, - **kw): - """ - accept decision at the invoice level - """ - invoice = sequence.get('invoice') - invoice.portal_workflow.doActionFor(invoice,'accept_decision_action') - - def stepCheckInvoiceSplitted(self, sequence=None, sequence_list=None, **kw): - """ - Test if invoice was splitted - """ - packing_list = sequence.get('packing_list') - invoice_list = packing_list.getCausalityRelatedValueList( - portal_type=self.invoice_portal_type) - self.assertEquals(2,len(invoice_list)) - invoice1 = None - invoice2 = None - for invoice in invoice_list: - if invoice.getUid() == sequence.get('invoice').getUid(): - invoice1 = invoice - else: - invoice2 = invoice - sequence.edit(new_invoice=invoice2) - for line in invoice1.objectValues( - portal_type=self.invoice_line_portal_type): - self.assertEquals(self.default_quantity-1,line.getQuantity()) - for line in invoice2.objectValues( - portal_type=self.invoice_line_portal_type): - self.assertEquals(1,line.getQuantity()) - - def stepCheckInvoiceNotSplitted(self, sequence=None, sequence_list=None, **kw): - """ - Test if invoice was not splitted - """ - packing_list = sequence.get('packing_list') - invoice_list = packing_list.getCausalityRelatedValueList( - portal_type=self.invoice_portal_type) - self.assertEquals(1,len(invoice_list)) - invoice1 = None - for invoice in invoice_list: - if invoice.getUid() == sequence.get('invoice').getUid(): - invoice1 = invoice - last_delta = sequence.get('last_delta', 0.0) - for line in invoice1.objectValues( - portal_type=self.invoice_line_portal_type): - self.assertEquals(self.default_quantity + last_delta, - line.getQuantity()) - - def stepAddInvoiceLines(self, sequence=None, sequence_list=[]): - """ - add some invoice and accounting lines to the invoice - """ - invoice = sequence.get('invoice') - invoice.newContent(portal_type='Invoice Line', - resource_value=sequence.get('resource'), quantity=3, price=555) - invoice.newContent(portal_type='Sale Invoice Transaction Line', - id ='receivable', source='account_module/customer', - destination='account_module/supplier', quantity=-1665) - invoice.newContent(portal_type='Sale Invoice Transaction Line', - id='income', source='account_module/sale', - destination='account_module/purchase', quantity=1665) - - def stepAddWrongInvoiceLines(self, sequence=None, sequence_list=[]): - """ - add some wrong invoice and accounting lines to the invoice - """ - invoice = sequence.get('invoice') - invoice.newContent(portal_type='Sale Invoice Transaction Line', - id='bad_movement', source='account_module/sale', - destination='account_module/purchase', quantity=2, price=4) - invoice.newContent(portal_type='Sale Invoice Transaction Line', - id='counter_bad_movement', source='account_module/sale', - destination='account_module/purchase', quantity=-2, price=4) - for movement in invoice.getMovementList(): - movement.edit(resource_value=sequence.get('resource')) - - def stepCheckStartInvoiceFail(self, sequence=None, sequence_list=[]): - """ - checks that it's not possible to start an invoice with really wrong - lines - """ - try: - self.tic() - except RuntimeError, exc: - invoice = sequence.get('invoice') - it_builder = self.portal.portal_deliveries.sale_invoice_transaction_builder - # check which activities are failing - self.assertTrue(str(exc).startswith('tic is looping forever.'), - '%s does not start with "tic is looping forever."' % str(exc)) - msg_list = ['/'.join(x.object_path) for x in - self.getActivityTool().getMessageList()] - self.assertTrue(it_builder.getPath() in msg_list, '%s in %s' % - (it_builder.getPath(), msg_list)) - # flush failing activities - activity_tool = self.getActivityTool() - activity_tool.manageClearActivities(keep=0) - else: - self.fail("Error: stepStartInvoice didn't fail, the builder script" - + " InvoiceTransaction_postTransactionLineGeneration should have" - + " complained that accounting movements use multiple resources") - - def stepCheckSimulationTrees(self, sequence=None, sequence_list=[]): - """ - check that rules are created in the order we expect them - """ - applied_rule_set = set() - invoice = sequence.get('invoice') - for movement in invoice.getMovementList(): - for sm in movement.getDeliveryRelatedValueList(): - applied_rule_set.add(sm.getRootAppliedRule()) - - rule_dict = { - 'Order Root Simulation Rule': { - 'movement_type_list': ['Sale Order Line', 'Sale Order Cell'], - 'next_rule_list': ['Delivery Simulation Rule', ], - }, - 'Delivery Simulation Rule': { - 'movement_type_list': ['Sale Packing List Line', 'Sale Packing List Cell'], - 'next_rule_list': ['Invoice Simulation Rule', ], - }, - 'Invoice Simulation Rule': { - 'movement_type_list': invoice.getPortalInvoiceMovementTypeList(), - 'next_rule_list': ['Invoice Transaction Simulation Rule', 'Trade Model Simulation Rule'], - }, - 'Trade Model Simulation Rule': { - 'next_rule_list': ['Invoice Transaction Simulation Rule'], - }, - 'Invoice Simulation Rule': { - 'movement_type_list': invoice.getPortalInvoiceMovementTypeList() \ - + invoice.getPortalAccountingMovementTypeList(), - 'next_rule_list': ['Invoice Transaction Simulation Rule', 'Payment Simulation Rule', - 'Trade Model Simulation Rule'], - }, - 'Invoice Transaction Simulation Rule': { - 'parent_movement_type_list': invoice.getPortalInvoiceMovementTypeList(), - 'movement_type_list': invoice.getPortalAccountingMovementTypeList(), - 'next_rule_list': ['Payment Simulation Rule'], - }, - 'Payment Simulation Rule': { - 'parent_movement_type_list': invoice.getPortalAccountingMovementTypeList(), - 'next_rule_list': [], - }, - } - - def checkTree(rule): - """ - checks the tree recursively - """ - rule_type = rule.getSpecialiseValue().getPortalType() - rule_def = rule_dict.get(rule_type, {}) - for k, v in rule_def.iteritems(): - if k == 'movement_type_list': - for movement in rule.objectValues(): - if movement.getDeliveryValue() is not None: - self.assertTrue(movement.getDeliveryValue().getPortalType() in v, - 'looking for %s in %s on %s' % ( - movement.getDeliveryValue().getPortalType(), v, - movement.getPath())) - elif k == 'next_rule_list': - for movement in rule.objectValues(): - found_rule_dict = {} - for next_rule in movement.objectValues(): - next_rule_type = next_rule.getSpecialiseValue().getPortalType() - self.assertTrue(next_rule_type in v, - 'looking for %s in %s on %s' % ( - next_rule_type, v, next_rule.getPath())) - n = found_rule_dict.get(next_rule_type, 0) - found_rule_dict[next_rule_type] = n + 1 - # for each movement, we want to make sure that each rule is not - # instanciated more than once - if len(found_rule_dict): - self.assertEquals(set(found_rule_dict.itervalues()), set([1])) - elif k == 'parent_movement_type_list': - if rule.getParentValue().getDeliveryValue() is not None: - parent_type = rule.getParentValue().getDeliveryValue().getPortalType() - self.assertTrue(parent_type in v, 'looking for %s in %s on %s' % ( - parent_type, v, rule.getParentValue().getPath())) - elif k == 'parent_id_list': - self.assertTrue(rule.getParentId() in v, 'looking for %s in %s on %s' - % (rule.getParentId(), v, rule.getPath())) - for movement in rule.objectValues(): - for next_rule in movement.objectValues(): - checkTree(next_rule) - - for applied_rule in applied_rule_set: - checkTree(applied_rule) - - def stepAddInvoiceLinesManyTransactions(self, sequence=None, sequence_list=[]): - """ - add some invoice and accounting lines to the invoice - """ - invoice = sequence.get('invoice') - invoice_line = invoice.newContent(portal_type='Invoice Line') - transaction_line_1 = invoice.newContent(portal_type='Sale Invoice Transaction Line') - transaction_line_2 = invoice.newContent(portal_type='Sale Invoice Transaction Line') - self.tic() - invoice_line.edit(resource_value=sequence.get('resource'), quantity=3, - price=555) - transaction_line_1.edit(id ='receivable', source='account_module/customer', - destination='account_module/supplier', quantity=-1665) - transaction_line_2.edit( - id='income', source='account_module/sale', - destination='account_module/purchase', quantity=1665) - - def stepInvoiceBuilderAlarm(self, sequence=None, - sequence_list=None, **kw): - # global builder alarm does not exist in legacy simulation - # business templates. - pass - -class TestInvoice(TestInvoiceMixin): - """Test methods for sale and purchase invoice. - Subclasses must defines portal types to use. - """ - quiet = 1 - def test_invoice_transaction_line_resource(self): - """ - tests that simulation movements corresponding to accounting line have a - good resource in the simulation - """ - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource', - product_line='apparel') - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='Currency', - base_unit_quantity=0.01) - self.createInvoiceTransactionRule(currency) - - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client', - price_currency= currency.getRelativeUrl(), - default_address_region=self.default_region) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor', - price_currency= currency.getRelativeUrl(), - default_address_region=self.default_region) - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008, 1, 1), - price_currency_value=currency, - title='Order') - order_line = order.newContent(portal_type=self.order_line_portal_type, - resource_value=resource, - quantity=1, - price=2) - - order.confirm() - self.tic() - - related_applied_rule = order.getCausalityRelatedValue( - portal_type='Applied Rule') - order_movement = related_applied_rule.contentValues()[0] - delivery_applied_rule = order_movement.contentValues()[0] - delivery_movement = delivery_applied_rule.contentValues()[0] - invoice_applied_rule = delivery_movement.contentValues()[0] - invoice_movement = invoice_applied_rule.contentValues()[0] - invoice_transaction_applied_rule = invoice_movement.contentValues()[0] - invoice_transaction_movement =\ - invoice_transaction_applied_rule.contentValues()[0] - self.assertEquals(currency, - invoice_transaction_movement.getResourceValue()) - self.assertEquals(currency, - delivery_movement.getPriceCurrencyValue()) - - - def test_modify_planned_order_invoicing_rule(self): - """ - tests that modifying a planned order affects movements from invoicing - rule - """ - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource', - product_line='apparel') - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='Currency', - base_unit_quantity=0.01) - - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client', - price_currency= currency.getRelativeUrl()) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor', - price_currency= currency.getRelativeUrl()) - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008, 1, 1), - price_currency_value=currency, - title='Order') - order_line = order.newContent(portal_type=self.order_line_portal_type, - resource_value=resource, - quantity=1, - price=2) - - other_entity = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Other Entity', - price_currency=currency.getRelativeUrl()) - other_project = self.portal.project_module.newContent( - portal_type='Project', - title='Other Project') - order.plan() - self.tic() - self.assertEquals('planned', order.getSimulationState()) - - related_applied_rule = order.getCausalityRelatedValue( - portal_type='Applied Rule') - delivery_movement = related_applied_rule.contentValues()[0] - invoice_applied_rule = delivery_movement.contentValues()[0] - invoice_movement = invoice_applied_rule.contentValues()[0] - - order_line.setSourceValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getSourceValue()) - - order_line.setDestinationValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getDestinationValue()) - - order_line.setSourceSectionValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getSourceSectionValue()) - - # make sure destination_section != source_section, this might be needed by - # some rules - order_line.setSourceSectionValue(order_line.getDestinationSectionValue()) - - order_line.setDestinationSectionValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getDestinationSectionValue()) - - order_line.setSourceAdministrationValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getSourceAdministrationValue()) - - order_line.setDestinationAdministrationValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getDestinationAdministrationValue()) - - order_line.setSourceDecisionValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getSourceDecisionValue()) - - order_line.setDestinationDecisionValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getDestinationDecisionValue()) - - order_line.setSourceProjectValue(other_project) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_project, - invoice_movement.getSourceProjectValue()) - - order_line.setDestinationProjectValue(other_project) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_project, - invoice_movement.getDestinationProjectValue()) - - order_line.setSourcePaymentValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getSourcePaymentValue()) - - order_line.setDestinationPaymentValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getDestinationPaymentValue()) - - order_line.setSourceFunctionValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getSourceFunctionValue()) - - order_line.setDestinationFunctionValue(other_entity) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_entity, - invoice_movement.getDestinationFunctionValue()) - - self.assertNotEquals(123, order_line.getPrice()) - order_line.setPrice(123) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(123, - invoice_movement.getPrice()) - - self.assertNotEquals(456, order_line.getQuantity()) - order_line.setQuantity(456) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(456, - invoice_movement.getQuantity()) - - other_resource = self.portal.product_module.newContent( - portal_type='Product', - title='Other Resource') - order_line.setResourceValue(other_resource) - self.tic() - # after changing 'resource', related simulation movement will be - # replaced with another id, and we need to find the appropriate one - # here. - delivery_movement = related_applied_rule.contentValues()[0] - invoice_applied_rule = delivery_movement.contentValues()[0] - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(other_resource, - invoice_movement.getResourceValue()) - - order_line.setStartDate(DateTime(2001, 02, 03)) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(DateTime(2001, 02, 03), - invoice_movement.getStartDate()) - - order_line.setStopDate(DateTime(2002, 03, 04)) - self.tic() - invoice_movement = invoice_applied_rule.contentValues()[0] - self.assertEquals(DateTime(2002, 03, 04), - invoice_movement.getStopDate()) - - def test_modify_planned_order_invoice_transaction_rule(self): - """ - tests that modifying a planned order affects movements from invoice - transaction rule - """ - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource', - product_line='apparel') - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='Currency', - base_unit_quantity=0.01) - self.createInvoiceTransactionRule(currency) - - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client', - default_address_region=self.default_region) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor', - default_address_region=self.default_region) - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008, 1, 1), - price_currency_value=currency, - title='Order') - order_line = order.newContent(portal_type=self.order_line_portal_type, - resource_value=resource, - quantity=1, - price=2) - other_entity = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Other Entity', - default_address_region=self.default_region) - other_project = self.portal.project_module.newContent( - portal_type='Project', - title='Other Project') - order.plan() - self.tic() - self.assertEquals('planned', order.getSimulationState()) - - related_applied_rule = order.getCausalityRelatedValue( - portal_type='Applied Rule') - order_movement = related_applied_rule.contentValues()[0] - delivery_applied_rule = order_movement.contentValues()[0] - delivery_movement = delivery_applied_rule.contentValues()[0] - invoice_applied_rule = delivery_movement.contentValues()[0] - invoice_movement = invoice_applied_rule.contentValues()[0] - invoice_transaction_applied_rule = invoice_movement.contentValues()[0] - - # utility function to return the simulation movement that should be used - # for "income" line - def getIncomeSimulationMovement(applied_rule): - for movement in applied_rule.contentValues(): - if movement.getDestination() == 'account_module/purchase'\ - and movement.getSource() == 'account_module/sale': - return movement - self.fail('Income movement not found') - - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - - order_line.setSourceSectionValue(other_entity) - self.tic() - self.assertEquals(other_entity, - invoice_transaction_movement.getSourceSectionValue()) - - # make sure destination_section != source_section, this might be needed by - # some rules - order_line.setSourceSectionValue(order_line.getDestinationSectionValue()) - - order_line.setDestinationSectionValue(other_entity) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_entity, - invoice_transaction_movement.getDestinationSectionValue()) - - order_line.setSourceAdministrationValue(other_entity) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_entity, - invoice_transaction_movement.getSourceAdministrationValue()) - - order_line.setDestinationAdministrationValue(other_entity) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_entity, - invoice_transaction_movement.getDestinationAdministrationValue()) - - order_line.setSourceDecisionValue(other_entity) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_entity, - invoice_transaction_movement.getSourceDecisionValue()) - - order_line.setDestinationDecisionValue(other_entity) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_entity, - invoice_transaction_movement.getDestinationDecisionValue()) - - order_line.setSourceProjectValue(other_project) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_project, - invoice_transaction_movement.getSourceProjectValue()) - - order_line.setDestinationProjectValue(other_project) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_project, - invoice_transaction_movement.getDestinationProjectValue()) - - order_line.setSourceFunctionValue(other_entity) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_entity, - invoice_transaction_movement.getSourceFunctionValue()) - - order_line.setDestinationFunctionValue(other_entity) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_entity, - invoice_transaction_movement.getDestinationFunctionValue()) - - order_line.setSourcePaymentValue(other_entity) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_entity, - invoice_transaction_movement.getSourcePaymentValue()) - - order_line.setDestinationPaymentValue(other_entity) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(other_entity, - invoice_transaction_movement.getDestinationPaymentValue()) - - order_line.setQuantity(1) - order_line.setPrice(123) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(123, - invoice_transaction_movement.getQuantity()) - - order_line.setQuantity(456) - order_line.setPrice(1) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(456, - invoice_transaction_movement.getQuantity()) - - order_line.setStartDate(DateTime(2001, 02, 03)) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(DateTime(2001, 02, 03), - invoice_transaction_movement.getStartDate()) - - order_line.setStopDate(DateTime(2002, 03, 04)) - self.tic() - self.assertEquals(3, len(invoice_transaction_applied_rule)) - invoice_transaction_movement = getIncomeSimulationMovement( - invoice_transaction_applied_rule) - self.assertEquals(DateTime(2002, 03, 04), - invoice_transaction_movement.getStopDate()) - - - def test_Invoice_viewAsODT(self): - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource',) - client = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Client') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Vendor') - invoice = self.portal.getDefaultModule(self.invoice_portal_type).newContent( - portal_type=self.invoice_portal_type, - start_date=DateTime(2008, 12, 31), - title='Invoice', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client) - line = invoice.newContent(portal_type=self.invoice_line_portal_type, - resource_value=resource, - quantity=10, - price=3) - invoice.confirm() - self.tic() - - odt = invoice.Invoice_viewAsODT() - from Products.ERP5OOo.tests.utils import Validator - odf_validator = Validator() - err_list = odf_validator.validate(odt) - if err_list: - self.fail(''.join(err_list)) - - def test_Invoice_viewAsODT_empty_image(self): - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource',) - client = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Client') - client_logo = client.newContent(portal_type='Embedded File', - id='default_image') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Vendor') - vendor_logo = vendor.newContent(portal_type='Embedded File', - id='default_image') - self.assertEquals(0, vendor_logo.getSize()) - self.assertEquals(0, vendor.getDefaultImageWidth()) - self.assertEquals(0, vendor.getDefaultImageHeight()) - invoice = self.portal.getDefaultModule(self.invoice_portal_type).newContent( - portal_type=self.invoice_portal_type, - start_date=DateTime(2008, 12, 31), - title='Invoice', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client) - line = invoice.newContent(portal_type=self.invoice_line_portal_type, - resource_value=resource, - quantity=10, - price=3) - invoice.confirm() - self.tic() - - odt = invoice.Invoice_viewAsODT() - from Products.ERP5OOo.tests.utils import Validator - odf_validator = Validator() - err_list = odf_validator.validate(odt) - if err_list: - self.fail(''.join(err_list)) - - # the <draw:image> should not be present, because there's no logo - parser = OOoParser() - parser.openFromString(odt) - style_xml = parser.oo_files['styles.xml'] - self.assert_('<draw:image' not in style_xml) - - def test_Invoice_viewAsODT_invalid_image(self): - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource',) - file_data = FileUpload(__file__, 'rb') - client = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Client') - client_logo = client.newContent(portal_type='Embedded File', - id='default_image', - file=file_data) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Vendor') - vendor_logo = vendor.newContent(portal_type='Embedded File', - id='default_image', - file=file_data) - - # width and height of an invalid image are -1 according to - # OFS.Image.getImageInfo maybe this is not what we want here ? - self.assertEquals(-1, vendor.getDefaultImageWidth()) - self.assertEquals(-1, vendor.getDefaultImageHeight()) - - invoice = self.portal.getDefaultModule(self.invoice_portal_type).newContent( - portal_type=self.invoice_portal_type, - start_date=DateTime(2008, 12, 31), - title='Invoice', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client) - line = invoice.newContent(portal_type=self.invoice_line_portal_type, - resource_value=resource, - quantity=10, - price=3) - invoice.confirm() - self.tic() - - odt = invoice.Invoice_viewAsODT() - from Products.ERP5OOo.tests.utils import Validator - odf_validator = Validator() - err_list = odf_validator.validate(odt) - if err_list: - self.fail(''.join(err_list)) - - def test_invoice_building_with_cells(self): - # if the order has cells, the invoice built from that order must have - # cells too - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource', - variation_base_category_list=['size']) - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='Currency') - - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor') - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008, 1, 1), - price_currency_value=currency, - title='Order') - - order_line = order.newContent(portal_type=self.order_line_portal_type, - resource_value=resource,) - order_line.setVariationBaseCategoryList(('size', )) - order_line.setVariationCategoryList(['size/Baby', 'size/Child/32']) - order_line.updateCellRange() - - cell_baby = order_line.newCell('size/Baby', base_id='movement', - portal_type=self.order_cell_portal_type) - cell_baby.edit(quantity=10, - price=4, - variation_category_list=['size/Baby'], - mapped_value_property_list=['quantity', 'price'],) - - cell_child_32 = order_line.newCell('size/Child/32', base_id='movement', - portal_type=self.order_cell_portal_type) - cell_child_32.edit(quantity=20, - price=5, - variation_category_list=['size/Child/32'], - mapped_value_property_list=['quantity', 'price'],) - order.confirm() - self.tic() - - related_packing_list = order.getCausalityRelatedValue( - portal_type=self.packing_list_portal_type) - self.assertNotEquals(related_packing_list, None) - - related_packing_list.start() - related_packing_list.stop() - self.tic() - - related_invoice = related_packing_list.getCausalityRelatedValue( - portal_type=self.invoice_portal_type) - self.assertNotEquals(related_invoice, None) - - line_list = related_invoice.contentValues( - portal_type=self.invoice_line_portal_type) - self.assertEquals(1, len(line_list)) - invoice_line = line_list[0] - - self.assertEquals(resource, invoice_line.getResourceValue()) - self.assertEquals(['size'], invoice_line.getVariationBaseCategoryList()) - self.assertEquals(2, - len(invoice_line.getCellValueList(base_id='movement'))) - - cell_baby = invoice_line.getCell('size/Baby', base_id='movement') - self.assertNotEquals(cell_baby, None) - self.assertEquals(resource, cell_baby.getResourceValue()) - self.assertEquals(10, cell_baby.getQuantity()) - self.assertEquals(4, cell_baby.getPrice()) - self.assertTrue('size/Baby' in - cell_baby.getVariationCategoryList()) - self.assertTrue(cell_baby.isMemberOf('size/Baby')) - - cell_child_32 = invoice_line.getCell('size/Child/32', base_id='movement') - self.assertNotEquals(cell_child_32, None) - self.assertEquals(resource, cell_child_32.getResourceValue()) - self.assertEquals(20, cell_child_32.getQuantity()) - self.assertEquals(5, cell_child_32.getPrice()) - self.assertTrue('size/Child/32' in - cell_child_32.getVariationCategoryList()) - self.assertTrue(cell_child_32.isMemberOf('size/Child/32')) - - - - def test_invoice_created_from_packing_list_with_no_order(self): - # if the order has cells and an aggregate, the invoice built - #from that order must have - # cells too - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource', - variation_base_category_list=['size']) - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='Currency') - - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor') - no_order_packing_list = \ -self.portal.getDefaultModule(self.packing_list_portal_type).newContent( - portal_type=self.packing_list_portal_type, - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008, 1, 1), - price_currency_value=currency, - title='Order') - - packing_list_line = no_order_packing_list.newContent( - portal_type=self.packing_list_line_portal_type, - resource_value=resource,) - packing_list_line.setVariationBaseCategoryList(('size', )) - packing_list_line.setVariationCategoryList(['size/Baby', 'size/Child/32']) - packing_list_line.updateCellRange() - - cell_baby = packing_list_line.newCell('size/Baby', base_id='movement', - portal_type=self.packing_list_cell_portal_type) - cell_baby.edit(quantity=10, - price=4, - variation_category_list=['size/Baby'], - mapped_value_property_list=['quantity', 'price'],) - - cell_child_32 = packing_list_line.newCell( - 'size/Child/32',base_id='movement', - portal_type=self.packing_list_cell_portal_type) - cell_child_32.edit(quantity=20, - price=5, - variation_category_list=['size/Child/32'], - mapped_value_property_list=['quantity', 'price'],) - no_order_packing_list.confirm() - self.tic() - self.assertNotEquals(no_order_packing_list, None) - - no_order_packing_list.start() - no_order_packing_list.stop() - self.tic() - - related_invoice = no_order_packing_list.getCausalityRelatedValue( - portal_type=self.invoice_portal_type) - self.assertNotEquals(related_invoice, None) - - line_list = related_invoice.contentValues( - portal_type=self.invoice_line_portal_type) - self.assertEquals(1, len(line_list)) - invoice_line = line_list[0] - - self.assertEquals(resource, invoice_line.getResourceValue()) - self.assertEquals(['size'], invoice_line.getVariationBaseCategoryList()) - self.assertEquals(2, - len(invoice_line.getCellValueList(base_id='movement'))) - - cell_baby = invoice_line.getCell('size/Baby', base_id='movement') - self.assertNotEquals(cell_baby, None) - self.assertEquals(resource, cell_baby.getResourceValue()) - self.assertEquals(10, cell_baby.getQuantity()) - self.assertEquals(4, cell_baby.getPrice()) - self.assertTrue('size/Baby' in - cell_baby.getVariationCategoryList()) - self.assertTrue(cell_baby.isMemberOf('size/Baby')) - - cell_child_32 = invoice_line.getCell('size/Child/32', base_id='movement') - self.assertNotEquals(cell_child_32, None) - self.assertEquals(resource, cell_child_32.getResourceValue()) - self.assertEquals(20, cell_child_32.getQuantity()) - self.assertEquals(5, cell_child_32.getPrice()) - self.assertTrue('size/Child/32' in - cell_child_32.getVariationCategoryList()) - self.assertTrue(cell_child_32.isMemberOf('size/Child/32')) - - def test_invoice_building_with_cells_and_aggregate(self): - # if the order has cells and an aggregate, the invoice built - #from that order must have - # cells too - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource', - variation_base_category_list=['size']) - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='Currency') - - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor') - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008, 1, 1), - price_currency_value=currency, - title='Order') - - order_line = order.newContent(portal_type=self.order_line_portal_type, - resource_value=resource,) - order_line.setVariationBaseCategoryList(('size', )) - order_line.setVariationCategoryList(['size/Baby', 'size/Child/32']) - order_line.updateCellRange() - - cell_baby = order_line.newCell('size/Baby', base_id='movement', - portal_type=self.order_cell_portal_type) - cell_baby.edit(quantity=10, - price=4, - variation_category_list=['size/Baby'], - mapped_value_property_list=['quantity', 'price'],) - - cell_child_32 = order_line.newCell('size/Child/32', base_id='movement', - portal_type=self.order_cell_portal_type) - cell_child_32.edit(quantity=20, - price=5, - variation_category_list=['size/Child/32'], - mapped_value_property_list=['quantity', 'price'],) - order.confirm() - self.tic() - - related_packing_list = order.getCausalityRelatedValue( - portal_type=self.packing_list_portal_type) - self.assertNotEquals(related_packing_list, None) - - related_packing_list.start() - related_packing_list.stop() - self.tic() - - related_invoice = related_packing_list.getCausalityRelatedValue( - portal_type=self.invoice_portal_type) - self.assertNotEquals(related_invoice, None) - - line_list = related_invoice.contentValues( - portal_type=self.invoice_line_portal_type) - self.assertEquals(1, len(line_list)) - invoice_line = line_list[0] - - self.assertEquals(resource, invoice_line.getResourceValue()) - self.assertEquals(['size'], invoice_line.getVariationBaseCategoryList()) - self.assertEquals(2, - len(invoice_line.getCellValueList(base_id='movement'))) - - cell_baby = invoice_line.getCell('size/Baby', base_id='movement') - self.assertNotEquals(cell_baby, None) - self.assertEquals(resource, cell_baby.getResourceValue()) - self.assertEquals(10, cell_baby.getQuantity()) - self.assertEquals(4, cell_baby.getPrice()) - self.assertTrue('size/Baby' in - cell_baby.getVariationCategoryList()) - self.assertTrue(cell_baby.isMemberOf('size/Baby')) - - cell_child_32 = invoice_line.getCell('size/Child/32', base_id='movement') - self.assertNotEquals(cell_child_32, None) - self.assertEquals(resource, cell_child_32.getResourceValue()) - self.assertEquals(20, cell_child_32.getQuantity()) - self.assertEquals(5, cell_child_32.getPrice()) - self.assertTrue('size/Child/32' in - cell_child_32.getVariationCategoryList()) - self.assertTrue(cell_child_32.isMemberOf('size/Child/32')) - - - def test_description_copied_on_lines(self): - # if the order lines have different descriptions, description must be - # copied in the simulation and on created movements - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource',) - resource2 = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource2',) - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='Currency') - - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor') - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008, 1, 1), - price_currency_value=currency, - title='Order') - - order.newContent(portal_type=self.order_line_portal_type, - quantity=3, - price=10, - description='The first line', - resource_value=resource,) - order.newContent(portal_type=self.order_line_portal_type, - quantity=5, - price=10, - description='The second line', - resource_value=resource2,) - - order.confirm() - self.tic() - - related_packing_list = order.getCausalityRelatedValue( - portal_type=self.packing_list_portal_type) - self.assertNotEquals(related_packing_list, None) - - movement_list = related_packing_list.getMovementList() - self.assertEquals(2, len(movement_list)) - self.assertEquals(['The first line'], - [m.getDescription() for m in movement_list if m.getQuantity() == 3]) - self.assertEquals(['The second line'], - [m.getDescription() for m in movement_list if m.getQuantity() == 5]) - - related_packing_list.start() - related_packing_list.stop() - self.tic() - - related_invoice = related_packing_list.getCausalityRelatedValue( - portal_type=self.invoice_portal_type) - self.assertNotEquals(related_invoice, None) - - movement_list = related_invoice.getMovementList( - portal_type=self.invoice_line_portal_type) - self.assertEquals(2, len(movement_list)) - self.assertEquals(['The first line'], - [m.getDescription() for m in movement_list if m.getQuantity() == 3]) - self.assertEquals(['The second line'], - [m.getDescription() for m in movement_list if m.getQuantity() == 5]) - - - def test_CopyAndPaste(self): - """Test copy on paste on Invoice. - When an invoice is copy/pasted, references should be resetted. - """ - accounting_module = self.portal.accounting_module - invoice = accounting_module.newContent( - portal_type=self.invoice_portal_type) - invoice.edit(reference='reference', - source_reference='source_reference', - destination_reference='destination_reference',) - cb_data = accounting_module.manage_copyObjects([invoice.getId()]) - copied, = accounting_module.manage_pasteObjects(cb_data) - new_invoice = accounting_module[copied['new_id']] - self.assertNotEquals(invoice.getReference(), - new_invoice.getReference()) - self.assertNotEquals(invoice.getSourceReference(), - new_invoice.getSourceReference()) - self.assertNotEquals(invoice.getDestinationReference(), - new_invoice.getDestinationReference()) - - def test_delivery_mode_and_incoterm_on_invoice(self): - """ - test that categories delivery_mode and incoterm are copied on - the invoice by the delivery builder - """ - resource = self.portal.product_module.newContent( - portal_type='Product', - title='Resource', - product_line='apparel') - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='euro') - currency.setBaseUnitQuantity(0.01) - self.createInvoiceTransactionRule(currency) - self.tic()#execute transaction - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client', - default_address_region=self.default_region) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor', - default_address_region=self.default_region) - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008,10, 21), - price_currency_value=currency, - delivery_mode=self.mail_delivery_mode, - incoterm=self.cpt_incoterm, - title='Order') - order_line = order.newContent(portal_type=self.order_line_portal_type, - resource_value=resource, - quantity=5, - price=2) - order.confirm() - self.tic() - related_packing_list = order.getCausalityRelatedValue( - portal_type=self.packing_list_portal_type) - self.assertNotEquals(related_packing_list, None) - self.assertEquals(related_packing_list.getDeliveryMode(), - order.getDeliveryMode()) - self.assertEquals(related_packing_list.getIncoterm(), - order.getIncoterm()) - related_packing_list.start() - related_packing_list.stop() - self.tic() - related_invoice = related_packing_list.getCausalityRelatedValue( - portal_type=self.invoice_portal_type) - self.assertNotEquals(related_invoice, None) - self.assertEquals(related_invoice.getDeliveryMode(), - order.getDeliveryMode()) - self.assertEquals(related_invoice.getIncoterm(), - order.getIncoterm()) - - - def test_01_quantity_unit_copied(self): - """ - tests that when a resource uses different quantity unit that the - quantity units are copied on the packing list line and then the invoice - line using the delivery builers - """ - resource = self.portal.product_module.newContent( - portal_type='Product', - title='Resource', - product_line='apparel') - resource.setQuantityUnitList([self.unit_piece_quantity_unit, - self.mass_quantity_unit]) - currency = self.portal.currency_module.newContent( - portal_type='Currency', - title='euro') - currency.setBaseUnitQuantity(0.01) - self.tic()#execute transaction - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client', - default_address_region=self.default_region) - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Vendor', - default_address_region=self.default_region) - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type, - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client, - start_date=DateTime(2008,10, 21), - price_currency_value=currency, - delivery_mode=self.mail_delivery_mode, - incoterm=self.cpt_incoterm, - title='Order') - first_order_line = order.newContent( - portal_type=self.order_line_portal_type, - resource_value=resource, - quantity_unit = self.unit_piece_quantity_unit, - quantity=5, - price=3) - second_order_line = order.newContent( - portal_type=self.order_line_portal_type, - resource_value=resource, - quantity_unit=self.mass_quantity_unit, - quantity=1.5, - price=2) - self.assertEquals(first_order_line.getQuantityUnit(), - self.unit_piece_quantity_unit) - self.assertEquals(second_order_line.getQuantityUnit(), - self.mass_quantity_unit) - - order.confirm() - self.tic() - related_packing_list = order.getCausalityRelatedValue( - portal_type=self.packing_list_portal_type) - self.assertNotEquals(related_packing_list, None) - movement_list = related_packing_list.getMovementList() - self.assertEquals(len(movement_list),2) - movement_list = sorted(movement_list, key=lambda x: x.getQuantity()) - self.assertEquals(movement_list[0].getQuantityUnit(), - self.mass_quantity_unit) - self.assertEquals(movement_list[0].getQuantity(), 1.5) - self.assertEquals(movement_list[1].getQuantityUnit(), - self.unit_piece_quantity_unit) - self.assertEquals(movement_list[1].getQuantity(), 5) - - related_packing_list.start() - related_packing_list.stop() - related_packing_list.deliver() - self.tic() - related_invoice = related_packing_list.getCausalityRelatedValue( - portal_type=self.invoice_portal_type) - self.assertNotEquals(related_invoice, None) - movement_list = related_invoice.getMovementList() - self.assertEquals(len(movement_list),2) - movement_list = sorted(movement_list, key=lambda x: x.getQuantity()) - self.assertEquals(movement_list[0].getQuantityUnit(), - self.mass_quantity_unit) - self.assertEquals(movement_list[0].getQuantity(), 1.5) - self.assertEquals(movement_list[1].getQuantityUnit(), - self.unit_piece_quantity_unit) - self.assertEquals(movement_list[1].getQuantity(), 5) - - - - def _acceptDivergenceOnInvoice(self, invoice, divergence_list): - builder_list = invoice.getBuilderList() - self.assertEquals(2, len(builder_list)) - for builder in builder_list: - builder.solveDivergence(invoice.getRelativeUrl(), - divergence_to_accept_list=divergence_list) - - def test_accept_quantity_divergence_on_invoice_with_stopped_packing_list( - self, quiet=quiet): - sequence_list = SequenceList() - sequence = sequence_list.addSequenceString(self.PACKING_LIST_DEFAULT_SEQUENCE) - sequence_list.play(self, quiet=quiet) - - packing_list = sequence.get('packing_list') - packing_list_line = packing_list.getMovementList()[0] - previous_quantity = packing_list_line.getQuantity() - - packing_list.setReady() - packing_list.start() - packing_list.stop() - self.assertEquals('stopped', packing_list.getSimulationState()) - self.tic() - - invoice = packing_list.getCausalityRelatedValue( - portal_type=self.invoice_portal_type) - self.assertNotEquals(invoice, None) - invoice_line_list = invoice.getMovementList() - self.assertEquals(1, len(invoice_line_list)) - invoice_line = invoice_line_list[0] - - new_quantity = invoice_line.getQuantity() * 2 - invoice_line.setQuantity(new_quantity) - - self.tic() - - self.assertTrue(invoice.isDivergent()) - divergence_list = invoice.getDivergenceList() - self.assertEquals(1, len(divergence_list)) - - divergence = divergence_list[0] - self.assertEquals('quantity', divergence.tested_property) - - # accept decision - self._acceptDivergenceOnInvoice(invoice, divergence_list) - - self.tic() - self.assertEquals('solved', invoice.getCausalityState()) - - self.assertEquals([], invoice.getDivergenceList()) - self.assertEquals(new_quantity, invoice_line.getQuantity()) - self.assertEquals(new_quantity, - invoice_line.getDeliveryRelatedValue(portal_type='Simulation Movement' - ).getQuantity()) - - self.assertEquals([], packing_list.getDivergenceList()) - self.assertEquals('solved', packing_list.getCausalityState()) - - def _adoptDivergenceOnInvoice(self, invoice, divergence_list): - builder_list = invoice.getBuilderList() - self.assertEquals(2, len(builder_list)) - for builder in builder_list: - builder.solveDivergence(invoice.getRelativeUrl(), - divergence_to_adopt_list=divergence_list) - - def test_adopt_quantity_divergence_on_invoice_line_with_stopped_packing_list( - self, quiet=quiet): - # #1053 - sequence_list = SequenceList() - sequence = sequence_list.addSequenceString(self.PACKING_LIST_DEFAULT_SEQUENCE) - sequence_list.play(self, quiet=quiet) - - packing_list = sequence.get('packing_list') - packing_list_line = packing_list.getMovementList()[0] - previous_quantity = packing_list_line.getQuantity() - previous_resource = packing_list_line.getResource() - previous_price = packing_list_line.getPrice() - - packing_list.setReady() - packing_list.start() - packing_list.stop() - self.assertEquals('stopped', packing_list.getSimulationState()) - self.tic() - - invoice = packing_list.getCausalityRelatedValue( - portal_type=self.invoice_portal_type) - self.assertNotEquals(invoice, None) - invoice_line_list = invoice.getMovementList() - self.assertEquals(1, len(invoice_line_list)) - invoice_line = invoice_line_list[0] - - new_quantity = invoice_line.getQuantity() * 2 - invoice_line.setQuantity(new_quantity) - - self.tic() - - self.assertTrue(invoice.isDivergent()) - divergence_list = invoice.getDivergenceList() - self.assertEquals(1, len(divergence_list)) - - divergence = divergence_list[0] - self.assertEquals('quantity', divergence.tested_property) - - # adopt prevision - self._adoptDivergenceOnInvoice(invoice, divergence_list) - - self.tic() - self.assertEquals([], invoice.getDivergenceList()) - self.assertEquals('solved', invoice.getCausalityState()) - - self.assertEquals(1, - len(invoice.getMovementList(portal_type=self.invoice_line_portal_type))) - self.assertEquals(0, - len(invoice.getMovementList(portal_type=self.invoice_transaction_line_portal_type))) - - self.assertEquals(previous_resource, invoice_line.getResource()) - self.assertEquals(previous_quantity, invoice_line.getQuantity()) - self.assertEquals(previous_price, invoice_line.getPrice()) - self.assertEquals(previous_quantity, - invoice_line.getDeliveryRelatedValue(portal_type='Simulation Movement' - ).getQuantity()) - - self.assertEquals([], packing_list.getDivergenceList()) - self.assertEquals('solved', packing_list.getCausalityState()) - - def test_subcontent_reindexing(self): - """Tests, that modification on Order are propagated to lines and cells - during reindxation""" - invoice = self.portal.getDefaultModule(self.invoice_portal_type - ).newContent(portal_type=self.invoice_portal_type, - created_by_builder=1) - self.tic() - invoice_line = invoice.newContent( - portal_type=self.invoice_line_portal_type) - invoice_cell = invoice_line.newContent( - portal_type=self.invoice_cell_portal_type) - transaction_line = invoice.newContent( - portal_type=self.invoice_transaction_line_portal_type) - self._testSubContentReindexing(invoice, [invoice_line, transaction_line, - invoice_cell]) - -class TestSaleInvoiceMixin(TestInvoiceMixin, - ERP5TypeTestCase): - """Test sale invoice are created from orders then packing lists. - - Those tests methods only work for sale, because sale and purchase invoice - are not built at the same time on packing list workflow. - """ - quiet = 0 - invoice_portal_type = 'Sale Invoice Transaction' - invoice_line_portal_type = 'Invoice Line' - invoice_cell_portal_type = 'Invoice Cell' - invoice_transaction_line_portal_type = 'Sale Invoice Transaction Line' - payment_portal_type = 'Payment Transaction' - - # default sequence for one line of not varianted resource. - PACKING_LIST_DEFAULT_SEQUENCE = """ - stepCreateEntities - stepCreateCurrency - stepCreateSaleInvoiceTransactionRule - stepCreateOrder - stepSetOrderProfile - stepSetOrderPriceCurrency - stepCreateNotVariatedResource - stepTic - stepCreateOrderLine - stepSetOrderLineResource - stepSetOrderLineDefaultValues - stepOrderOrder - stepTic - stepCheckDeliveryBuilding - stepConfirmOrder - stepTic - stepCheckOrderRule - stepCheckOrderSimulation - stepCheckDeliveryBuilding - stepAddPackingListContainer - stepAddPackingListContainerLine - stepSetContainerLineFullQuantity - stepTic - stepCheckPackingListIsPacked - """ - - # default sequence for two lines of not varianted resource. - PACKING_LIST_TWO_LINES_DEFAULT_SEQUENCE = """ - stepCreateEntities - stepCreateCurrency - stepCreateSaleInvoiceTransactionRule - stepCreateOrder - stepSetOrderProfile - stepSetOrderPriceCurrency - stepCreateNotVariatedResource - stepTic - stepCreateOrderLine - stepSetOrderLineResource - stepSetOrderLineDefaultValues - stepCreateNotVariatedResource - stepTic - stepCreateOrderLine - stepSetOrderLineResource - stepSetOrderLineDefaultValues - stepOrderOrder - stepTic - stepCheckDeliveryBuilding - stepConfirmOrder - stepTic - stepCheckOrderRule - stepCheckOrderSimulation - stepCheckDeliveryBuilding - stepAddPackingListContainer - stepAddPackingListContainerLine - stepTic - stepSetContainerFullQuantity - stepTic - stepCheckPackingListIsPacked - """ - - # default sequence for one line of not varianted resource. - TWO_PACKING_LIST_DEFAULT_SEQUENCE = """ - stepCreateEntities - stepCreateCurrency - stepCreateSaleInvoiceTransactionRule - stepCreateOrder - stepSetOrderProfile - stepSetOrderPriceCurrency - stepCreateNotVariatedResource - stepTic - stepCreateOrderLine - stepSetOrderLineResource - stepSetOrderLineDefaultValues - stepOrderOrder - stepTic - stepCheckDeliveryBuilding - stepConfirmOrder - stepTic - stepCheckOrderRule - stepCheckOrderSimulation - stepCheckDeliveryBuilding - stepDecreasePackingListLineQuantity - stepCheckPackingListIsCalculating - stepTic - stepCheckPackingListIsDiverged - stepSplitAndDeferPackingList - stepTic - stepCheckPackingListIsSolved - stepCheckPackingListSplitted - stepAddPackingListContainer - stepAddPackingListContainerLine - stepSetContainerLineFullQuantity - stepTic - stepCheckPackingListIsPacked - stepDefineNewPackingListContainer - stepTic - stepCheckNewPackingListIsPacked - """ - -class TestSaleInvoice(TestSaleInvoiceMixin, TestInvoice, ERP5TypeTestCase): - """Tests for sale invoice. - """ - quiet = 0 - - # fix inheritance - login = TestInvoiceMixin.login - - @UnrestrictedMethod - def createCategories(self): - TestPackingListMixin.createCategories(self) - TestInvoiceMixin.createCategories(self) - - getNeededCategoryList = TestInvoiceMixin.getNeededCategoryList - - def test_01_SimpleInvoice(self, quiet=quiet): - """ - Checks that a Simple Invoice is created from a Packing List - """ - if not quiet: - self.logMessage('Simple Invoice') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepTic - stepCheckInvoiceBuilding - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - stepCheckInvoiceLineHasReferenceAndIntIndex - """) - sequence_list.play(self, quiet=quiet) - - def test_02_TwoInvoicesFromTwoPackingList(self, quiet=quiet): - """ - This test was created for the following bug: - - an order is created and confirmed - - the packing list is split - - the 2 packing list are delivered (at different date) - - 2 invoices are built, then we set the same date on both of them - - the accounting rules are generated and put in only one invoice !!, - so we have an invoice with twice the number of accounting rules - and an invoice with no accounting rules. both invoices are wrong - """ - if not quiet: self.logMessage('Two Invoices from Two Packing List') - sequence_list = SequenceList() - for base_sequence in (self.TWO_PACKING_LIST_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepSetReadyPackingList - stepSetReadyNewPackingList - stepTic - stepStartPackingList - stepStartNewPackingList - stepTic - stepCheckTwoInvoices - stepRemoveDateMovementGroupForTransactionBuilder - stepStartTwoInvoices - stepTic - stepCheckTwoInvoicesTransactionLines - stepCheckInvoicesConsistency - """) - sequence_list.play(self, quiet=quiet) - - def test_03_InvoiceEditAndInvoiceRule(self, quiet=quiet): - """ - Invoice Rule should not be applied on invoice lines created from\ - Packing List. - - We want to prevent this from happening: - - Create a packing list - - An invoice is created from packing list - - Invoice is edited, updateAppliedRule is called - - A new Invoice Rule is created for this invoice, and accounting - movements for this invoice are present twice in the simulation. - """ - if not quiet: - self.logMessage('Invoice Edit') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepTic - stepCheckInvoiceBuilding - stepEditInvoice - stepCheckInvoiceRuleNotAppliedOnInvoiceEdit - stepCheckInvoicesConsistency - """) - sequence_list.play(self, quiet=quiet) - - def test_04_PackingListEditAndInvoiceRule(self, quiet=quiet): - """ - Delivery Rule should not be applied on packing list lines created\ - from Order. - """ - if not quiet: - self.logMessage('Packing List Edit') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepEditPackingList - stepCheckDeliveryRuleNotAppliedOnPackingListEdit - stepCheckInvoicesConsistency - """) - sequence_list.play(self, quiet=quiet) - - def test_05_InvoiceEditPackingListLine(self, quiet=quiet): - """ - Checks that editing a Packing List Line still creates a correct - Invoice - """ - if not quiet: - self.logMessage('Packing List Line Edit') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepEditPackingListLine - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepTic - stepCheckInvoiceBuilding - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """) - sequence_list.play(self, quiet=quiet) - - def test_06_InvoiceDeletePackingListLine(self, quiet=quiet): - """ - Checks that deleting a Packing List Line still creates a correct - Invoice - """ - if not quiet: - self.logMessage('Packing List Line Delete') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_TWO_LINES_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepDeletePackingListLine - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepTic - stepCheckInvoiceBuilding - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """) - sequence_list.play(self, quiet=quiet) - - def test_07_InvoiceAddPackingListLine(self, quiet=quiet): - """ - Checks that adding a Packing List Line still creates a correct - Invoice - """ - if not quiet: - self.logMessage('Packing List Line Add') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_DEFAULT_SEQUENCE, - self.PACKING_LIST_TWO_LINES_DEFAULT_SEQUENCE) : - sequence_list.addSequenceString( - base_sequence + - """ - stepAddPackingListLine - stepSetContainerFullQuantity - stepTic - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepTic - stepCheckInvoiceBuilding - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """) - sequence_list.play(self, quiet=quiet) - - def test_08_InvoiceDecreaseQuantity(self, quiet=quiet): - """ - Change the quantity of a Invoice Line, - check that the invoice is divergent, - then split and defer, and check everything is solved - """ - if not quiet: - self.logMessage('Invoice Decrease Quantity') - sequence = self.PACKING_LIST_DEFAULT_SEQUENCE + \ - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepCheckInvoiceTransactionRule - stepTic - stepCheckInvoiceBuilding - - stepDecreaseInvoiceLineQuantity - stepCheckInvoiceIsDivergent - stepCheckInvoiceIsCalculating - stepTic - stepCheckInvoiceIsDiverged - stepSplitAndDeferInvoice - stepTic - - stepCheckInvoiceIsNotDivergent - stepCheckInvoiceIsSolved - stepCheckInvoiceSplitted - - stepCheckPackingListIsNotDivergent - stepCheckPackingListIsSolved - stepCheckInvoiceTransactionRule - - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """ - self.playSequence(sequence, quiet=quiet) - - def test_09_InvoiceChangeStartDateFail(self, quiet=quiet): - """ - Change the start_date of a Invoice Line, - check that the invoice is divergent, - then accept decision, and check Packing list is divergent - """ - if not quiet: - self.logMessage('Invoice Change Sart Date') - sequence = self.PACKING_LIST_DEFAULT_SEQUENCE + \ - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepCheckInvoiceTransactionRule - stepTic - stepCheckInvoiceBuilding - - stepChangeInvoiceStartDate - stepCheckInvoiceIsDivergent - stepCheckInvoiceIsCalculating - stepTic - stepCheckInvoiceIsDiverged - stepUnifyStartDateWithDecisionInvoice - stepTic - - stepCheckInvoiceNotSplitted - stepCheckInvoiceIsNotDivergent - stepCheckInvoiceIsSolved - - stepCheckPackingListIsDivergent - """ - self.playSequence(sequence, quiet=quiet) - - def test_09b_InvoiceChangeStartDateSucceed(self, quiet=quiet): - """ - Change the start_date of a Invoice Line, - check that the invoice is divergent, - deliver the Packing List to make sure it's frozen, - then accept decision, and check everything is solved - """ - if not quiet: - self.logMessage('Invoice Change Sart Date') - sequence = self.PACKING_LIST_DEFAULT_SEQUENCE + \ - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepCheckInvoiceTransactionRule - stepTic - stepCheckInvoiceBuilding - stepStopPackingList - stepTic - stepDeliverPackingList - stepTic - - stepChangeInvoiceStartDate - stepCheckInvoiceIsDivergent - stepCheckInvoiceIsCalculating - stepTic - stepCheckInvoiceIsDiverged - stepUnifyStartDateWithDecisionInvoice - stepTic - - stepCheckInvoiceNotSplitted - stepCheckInvoiceIsNotDivergent - stepCheckInvoiceIsSolved - - stepCheckPackingListIsNotDivergent - stepCheckPackingListIsSolved - stepCheckInvoiceTransactionRule - - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """ - self.playSequence(sequence, quiet=quiet) - - def test_10_AcceptDecisionOnPackingList(self, quiet=quiet): - """ - - Increase or Decrease the quantity of a Packing List line - - Accept Decision on Packing List - - Packing List must not be divergent and use new quantity - - Invoice must not be divergent and use new quantity - """ - if not quiet: - self.logMessage('InvoiceAcceptDecisionOnPackingList') - end_sequence = \ - """ - stepSetContainerFullQuantity - stepCheckPackingListIsCalculating - stepTic - stepCheckPackingListIsDiverged - stepAcceptDecisionQuantity - stepTic - stepCheckPackingListIsSolved - stepCheckPackingListNotSplitted - - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepCheckInvoiceTransactionRule - stepTic - stepCheckInvoiceBuilding - - stepStopPackingList - stepTic - stepDeliverPackingList - stepTic - stepCheckPackingListIsNotDivergent - stepCheckPackingListIsSolved - stepCheckInvoiceTransactionRule - - stepStartInvoice - stepTic - stepStopInvoice - stepTic - stepDeliverInvoice - stepTic - stepCheckInvoiceNotSplitted - stepCheckInvoiceIsNotDivergent - stepCheckInvoiceIsSolved - - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """ - - mid_sequence_list = [""" - stepCheckInvoicingRule - stepDecreasePackingListLineQuantity - """, """ - stepCheckInvoicingRule - stepIncreasePackingListLineQuantity - """] - - sequence_list = SequenceList() - for seq in mid_sequence_list: - sequence = self.PACKING_LIST_DEFAULT_SEQUENCE + \ - seq + end_sequence - sequence_list.addSequenceString(sequence) - sequence_list.play(self, quiet=quiet) - - def test_16a_ManuallyAddedMovementsManyTransactions(self, quiet=quiet): - """ - Checks that adding invoice lines and accounting lines to one invoice - generates correct simulation - - In this case checks what is happening, where movements are added in - one transaction and edited in another - """ - if not quiet: - self.logMessage('Invoice with Manually Added Movements in separate transactions') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepTic - stepCheckInvoiceBuilding - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - stepAddInvoiceLinesManyTransactions - stepTic - stepCheckInvoiceIsSolved - stepStartInvoice - stepTic - stepCheckSimulationTrees - """) - sequence_list.play(self, quiet=quiet) - - - def test_11_AcceptDecisionOnPackingListAndInvoice(self, quiet=quiet): - """ - - Increase or Decrease the quantity of a Packing List line - - Accept Decision on Packing List - - Packing List must not be divergent and use new quantity - - Put old quantity on Invoice - - Accept Decision on Invoice - - Packing List must not be divergent and use new quantity - - Invoice must not be divergent and use old quantity - """ - if not quiet: - self.logMessage('InvoiceAcceptDecisionOnPackingListAndInvoice') - mid_sequence = \ - """ - stepSetContainerFullQuantity - stepCheckPackingListIsCalculating - stepTic - stepCheckPackingListIsDiverged - stepAcceptDecisionQuantity - stepTic - stepCheckPackingListIsSolved - stepCheckPackingListNotSplitted - - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepCheckInvoiceTransactionRule - stepTic - stepCheckInvoiceBuilding - - stepStopPackingList - stepTic - stepDeliverPackingList - stepTic - stepCheckPackingListIsNotDivergent - stepCheckPackingListIsSolved - stepCheckInvoiceTransactionRule - """ - end_sequence = \ - """ - stepCheckInvoiceIsDiverged - stepAcceptDecisionQuantityInvoice - stepTic - stepCheckInvoiceIsNotDivergent - stepCheckInvoiceIsSolved - stepStartInvoice - stepTic - stepStopInvoice - stepTic - stepDeliverInvoice - stepTic - stepCheckPackingListIsNotDivergent - stepCheckPackingListIsSolved - stepCheckInvoiceTransactionRule - stepCheckInvoiceNotSplitted - stepCheckInvoiceIsNotDivergent - stepCheckInvoiceIsSolved - - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """ - - mid_sequence_list = [(""" - stepCheckInvoicingRule - stepDecreasePackingListLineQuantity - """, """ - stepIncreaseInvoiceLineQuantity - stepTic - """), (""" - stepCheckInvoicingRule - stepIncreasePackingListLineQuantity - """, """ - stepDecreaseInvoiceLineQuantity - stepTic - """)] - - sequence_list = SequenceList() - for seq1, seq2 in mid_sequence_list: - sequence = self.PACKING_LIST_DEFAULT_SEQUENCE + \ - seq1 + mid_sequence + seq2 + end_sequence - sequence_list.addSequenceString(sequence) - sequence_list.play(self, quiet=quiet) - - def test_12_SplitPackingListAndAcceptInvoice(self, quiet=quiet): - """ - - Decrease the quantity of a Packing List line - - Split and Defer on Packing List - - Packing List must not be divergent and use new quantity - - splitted Packing List must not be divergent and use old - new quantity - - - Put old quantity on Invoice1 - - Accept Decision on Invoice1 - - Packing List must not be divergent and use new quantity - - splitted Packing List must not be divergent and use old - new quantity - - Invoice1 must not be divergent and use old quantity - - - set Invoice2 quantity to 0 - - Accept Decision on Invoice2 - - Packing List must not be divergent and use new quantity - - splitted Packing List must not be divergent and use old - new quantity - - Invoice1 must not be divergent and use old quantity - - Invoice2 must not be divergent and use 0 as quantity - """ - if not quiet: - self.logMessage('InvoiceSplitPackingListAndAcceptInvoice') - sequence = self.PACKING_LIST_DEFAULT_SEQUENCE + \ - """ - stepCheckInvoicingRule - stepDecreasePackingListLineQuantity - stepSetContainerFullQuantity - stepCheckPackingListIsCalculating - stepTic - stepCheckPackingListIsDiverged - stepSplitAndDeferPackingList - stepTic - stepCheckPackingListIsSolved - stepCheckPackingListSplitted - - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepCheckInvoiceTransactionRule - stepTic - stepCheckInvoiceBuilding - stepStopPackingList - stepTic - stepDeliverPackingList - stepTic - stepCheckPackingListIsSolved - stepCheckPackingListSplitted - - stepIncreaseInvoiceLineQuantity - stepCheckInvoiceIsCalculating - stepTic - stepCheckInvoiceIsDiverged - stepAcceptDecisionQuantityInvoice - stepTic - stepStartInvoice - stepTic - stepStopInvoice - stepTic - stepDeliverInvoice - stepTic - stepCheckInvoiceIsSolved - stepCheckInvoiceNotSplitted - stepCheckPackingListIsNotDivergent - stepCheckPackingListIsSolved - stepCheckInvoiceTransactionRule - - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - - stepSwitchPackingLists - - stepAddPackingListContainer - stepSetContainerFullQuantity - stepTic - stepCheckPackingListIsSolved - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepCheckInvoiceTransactionRule - stepTic - stepCheckInvoiceBuilding - stepStopPackingList - stepTic - stepDeliverPackingList - stepTic - stepCheckPackingListIsSolved - - stepSetInvoiceLineQuantityToZero - stepCheckInvoiceIsCalculating - stepTic - stepCheckInvoiceIsDiverged - stepAcceptDecisionQuantityInvoice - stepTic - stepStartInvoice - stepTic - stepStopInvoice - stepTic - stepDeliverInvoice - stepTic - stepCheckInvoiceIsSolved - stepCheckInvoiceNotSplitted - stepCheckPackingListIsNotDivergent - stepCheckPackingListIsSolved - stepCheckInvoiceTransactionRule - - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """ - self.playSequence(sequence, quiet=quiet) - - def test_13_SplitAndDeferInvoice(self, quiet=quiet): - """ - - Accept Order, Accept Packing List - - Decrease quantity on Invoice - - Split and defer Invoice - - Accept Invoice - - Accept splitted Invoice - - Packing List must not be divergent and use old quantity - - Invoice must not be divergent and use new quantity - - splitted Invoice must not be divergent and use old - new quantity - """ - if not quiet: - self.logMessage('InvoiceSplitAndDeferInvoice') - sequence = self.PACKING_LIST_DEFAULT_SEQUENCE + \ - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepCheckInvoiceTransactionRule - stepTic - stepCheckInvoiceBuilding - stepStopPackingList - stepTic - stepDeliverPackingList - stepTic - stepCheckPackingListIsSolved - stepCheckPackingListNotSplitted - - stepDecreaseInvoiceLineQuantity - stepCheckInvoiceIsDivergent - stepCheckInvoiceIsCalculating - stepTic - stepCheckInvoiceIsDiverged - stepSplitAndDeferInvoice - stepTic - stepStartInvoice - stepTic - stepStopInvoice - stepTic - stepDeliverInvoice - stepTic - stepCheckInvoiceIsNotDivergent - stepCheckInvoiceIsSolved - stepCheckInvoiceSplitted - - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - - stepCheckPackingListIsNotDivergent - stepCheckPackingListIsSolved - stepCheckInvoiceTransactionRule - - stepSwitchInvoices - - stepStartInvoice - stepTic - stepStopInvoice - stepTic - stepDeliverInvoice - stepTic - stepCheckInvoiceIsNotDivergent - stepCheckInvoiceIsSolved - - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """ - self.playSequence(sequence, quiet=quiet) - - def test_14_AcceptDecisionOnInvoice(self, quiet=quiet): - """ - - Accept Order, Accept Packing List - - Increase or Decrease quantity on Invoice - - Accept Decision on Invoice - - Accept Invoice - - Packing List must not be divergent and use old quantity - - Invoice must not be divergent and use new quantity - """ - if not quiet: - self.logMessage('InvoiceAcceptDecisionOnInvoice') - mid_sequence = \ - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepCheckInvoiceTransactionRule - stepTic - stepCheckInvoiceBuilding - stepStopPackingList - stepTic - stepDeliverPackingList - stepTic - stepCheckPackingListIsSolved - stepCheckPackingListNotSplitted - """ - end_sequence = \ - """ - stepCheckInvoiceIsDivergent - stepCheckInvoiceIsCalculating - stepTic - stepCheckInvoiceIsDiverged - stepAcceptDecisionQuantityInvoice - stepTic - stepStartInvoice - stepTic - stepStopInvoice - stepTic - stepDeliverInvoice - stepTic - - stepCheckPackingListIsNotDivergent - stepCheckPackingListIsSolved - stepCheckInvoiceTransactionRule - - stepCheckInvoiceNotSplitted - stepCheckInvoiceIsNotDivergent - stepCheckInvoiceIsSolved - - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - """ - - mid_sequence_list = [""" - stepDecreaseInvoiceLineQuantity - """, """ - stepIncreaseInvoiceLineQuantity - """] - - sequence_list = SequenceList() - for seq in mid_sequence_list: - sequence = self.PACKING_LIST_DEFAULT_SEQUENCE + \ - mid_sequence + seq + end_sequence - sequence_list.addSequenceString(sequence) - sequence_list.play(self, quiet=quiet) - - - def test_Reference(self): - # A reference is set automatically on Sale Invoice Transaction - supplier = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Supplier') - client = self.portal.organisation_module.newContent( - portal_type='Organisation', - title='Client') - currency = self.portal.currency_module.newContent( - portal_type='Currency') - invoice = self.portal.accounting_module.newContent( - portal_type='Sale Invoice Transaction', - start_date=DateTime(), - price_currency_value=currency, - resource_value=currency, - source_section_value=supplier, - destination_section_value=client) - self.portal.portal_workflow.doActionFor(invoice, 'confirm_action') - - self.assertEquals('1', invoice.getReference()) - - def test_16_ManuallyAddedMovements(self, quiet=quiet): - """ - Checks that adding invoice lines and accounting lines to one invoice - generates correct simulation - """ - if not quiet: - self.logMessage('Invoice with Manually Added Movements') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepTic - stepCheckInvoiceBuilding - stepRebuildAndCheckNothingIsCreated - stepCheckInvoicesConsistency - stepAddInvoiceLines - stepTic - stepStartInvoice - stepTic - stepCheckSimulationTrees - """) - sequence_list.play(self, quiet=quiet) - - def test_17_ManuallyAddedWrongMovements(self, quiet=quiet): - """ - Checks that adding invoice lines and accounting lines to one invoice - generates correct simulation, even when adding very wrong movements - """ - if not quiet: - self.logMessage('Invoice with Manually Added Movements') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepTic - stepCheckInvoiceBuilding - stepAddWrongInvoiceLines - stepTic - stepStartInvoice - stepCheckStartInvoiceFail - stepCheckSimulationTrees - """) - sequence_list.play(self, quiet=quiet) - - def test_18_compareInvoiceAndPackingList(self, quiet=quiet): - """ - Checks that a Simple Invoice is created from a Packing List - """ - if not quiet: - self.logMessage('Simple Invoice') - sequence_list = SequenceList() - for base_sequence in (self.PACKING_LIST_DEFAULT_SEQUENCE, ) : - sequence_list.addSequenceString( - base_sequence + - """ - stepSetReadyPackingList - stepTic - stepStartPackingList - stepCheckInvoicingRule - stepTic - stepCheckInvoiceBuilding - stepCheckInvoicesConsistency - stepCheckPackingListInvoice - """) - sequence_list.play(self, quiet=quiet) - - def _adoptDivergenceOnPackingList(self, packing_list, divergence_list): - builder_list = packing_list.getBuilderList() - for builder in builder_list: - builder.solveDivergence(packing_list.getRelativeUrl(), - divergence_to_adopt_list=divergence_list) - - def test_accept_quantity_divergence_on_invoice_with_started_packing_list( - self, quiet=quiet): - # only applies to sale invoice, because purchase invoices are not built yet - # when the packing list is in started state - sequence_list = SequenceList() - sequence = sequence_list.addSequenceString(self.PACKING_LIST_DEFAULT_SEQUENCE) - sequence_list.play(self, quiet=quiet) - - packing_list = sequence.get('packing_list') - packing_list_line = packing_list.getMovementList()[0] - previous_quantity = packing_list_line.getQuantity() - - packing_list.setReady() - packing_list.start() - self.assertEquals('started', packing_list.getSimulationState()) - self.tic() - - invoice = packing_list.getCausalityRelatedValue( - portal_type=self.invoice_portal_type) - self.assertNotEquals(invoice, None) - invoice_line_list = invoice.getMovementList() - self.assertEquals(1, len(invoice_line_list)) - invoice_line = invoice_line_list[0] - - new_quantity = invoice_line.getQuantity() * 2 - invoice_line.setQuantity(new_quantity) - - self.tic() - - self.assertTrue(invoice.isDivergent()) - divergence_list = invoice.getDivergenceList() - self.assertEquals(1, len(divergence_list)) - - divergence = divergence_list[0] - self.assertEquals('quantity', divergence.tested_property) - - # accept decision - self._acceptDivergenceOnInvoice(invoice, divergence_list) - - self.tic() - self.assertEquals('solved', invoice.getCausalityState()) - - self.assertEquals([], invoice.getDivergenceList()) - self.assertEquals(new_quantity, invoice_line.getQuantity()) - self.assertEquals(new_quantity, - invoice_line.getDeliveryRelatedValue(portal_type='Simulation Movement' - ).getQuantity()) - - if invoice_line.getDeliveryRelatedValue().getParentValue().getSpecialiseId() == \ - 'new_invoice_simulation_rule': - # With new simulation solvers, changes on simulation movements will - # not backtrack. - pass - else: - # With legacy simulation solvers, changes on simulation movements - # will backtrack if simulation movements are not frozen. - # the packing list is divergent, because it is not frozen - self.assertEquals('diverged', packing_list.getCausalityState()) - divergence_list = packing_list.getDivergenceList() - self.assertEquals(1, len(divergence_list)) - divergence = divergence_list[0] - self.assertEquals('quantity', divergence.tested_property) - # if we adopt prevision on this packing list, both invoice and - # packing list will be solved - self._adoptDivergenceOnPackingList(packing_list, divergence_list) - self.tic() - self.assertEquals('solved', packing_list.getCausalityState()) - self.assertEquals('solved', invoice.getCausalityState()) - -class TestPurchaseInvoice(TestInvoice, ERP5TypeTestCase): - """Tests for purchase invoice. - """ - resource_portal_type = 'Product' - order_portal_type = 'Purchase Order' - order_line_portal_type = 'Purchase Order Line' - order_cell_portal_type = 'Purchase Order Cell' - packing_list_portal_type = 'Purchase Packing List' - packing_list_line_portal_type = 'Purchase Packing List Line' - packing_list_cell_portal_type = 'Purchase Packing List Cell' - invoice_portal_type = 'Purchase Invoice Transaction' - invoice_transaction_line_portal_type = 'Purchase Invoice Transaction Line' - invoice_line_portal_type = 'Invoice Line' - invoice_cell_portal_type = 'Invoice Cell' - - # default sequence for one line of not varianted resource. - PACKING_LIST_DEFAULT_SEQUENCE = """ - stepCreateEntities - stepCreateCurrency - stepCreateSaleInvoiceTransactionRule - stepCreateOrder - stepSetOrderProfile - stepSetOrderPriceCurrency - stepCreateNotVariatedResource - stepTic - stepCreateOrderLine - stepSetOrderLineResource - stepSetOrderLineDefaultValues - stepOrderOrder - stepTic - stepCheckDeliveryBuilding - stepConfirmOrder - stepTic - stepCheckOrderRule - stepCheckOrderSimulation - stepCheckDeliveryBuilding - stepTic - """ - -import unittest -def test_suite(): - suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(TestSaleInvoice)) - suite.addTest(unittest.makeSuite(TestPurchaseInvoice)) - return suite diff --git a/product/ERP5Legacy/tests/testLegacySimulationItem.py b/product/ERP5Legacy/tests/testLegacySimulationItem.py deleted file mode 100644 index 38e500fa5d..0000000000 --- a/product/ERP5Legacy/tests/testLegacySimulationItem.py +++ /dev/null @@ -1,41 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved. -# Julien Muchembled <jm@nexedi.com> -# -# 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. -# -############################################################################## - -# It has been decided to have fully duplicated tests in ERP5Legacy, rather that -# monkey-patching everywhere. -# But waiting that we really start fixing testItem for new simulation, -# this file can be a virtual copy of testItem.py - -import sys -from Products.ERP5Legacy.tests import testLegacySimulationInvoice -sys.modules['Products.ERP5.tests.testInvoice'] = testLegacySimulationInvoice - -from Products.ERP5Legacy.tests import Legacy_getBusinessTemplateList -from Products.ERP5.tests.testItem import * - -Legacy_getBusinessTemplateList(TestItemScripts) diff --git a/product/ERP5Legacy/tests/testLegacySimulationOrder.py b/product/ERP5Legacy/tests/testLegacySimulationOrder.py deleted file mode 100644 index f3b68b358e..0000000000 --- a/product/ERP5Legacy/tests/testLegacySimulationOrder.py +++ /dev/null @@ -1,32 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# 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 advised 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 Products.ERP5Legacy.tests import Legacy_getBusinessTemplateList -from Products.ERP5.tests.testOrder import * - -TestOrderMixin.business_process = None -Legacy_getBusinessTemplateList(TestOrderMixin) diff --git a/product/ERP5Legacy/tests/testLegacySimulationOrderBuilder.py b/product/ERP5Legacy/tests/testLegacySimulationOrderBuilder.py deleted file mode 100644 index 73e1048e7f..0000000000 --- a/product/ERP5Legacy/tests/testLegacySimulationOrderBuilder.py +++ /dev/null @@ -1,29 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# 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 advised 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 Products.ERP5Legacy.tests import testLegacySimulationOrder -from Products.ERP5.tests.testOrderBuilder import * diff --git a/product/ERP5Legacy/tests/testLegacySimulationPackingList.py b/product/ERP5Legacy/tests/testLegacySimulationPackingList.py deleted file mode 100644 index 9a9cd7aec1..0000000000 --- a/product/ERP5Legacy/tests/testLegacySimulationPackingList.py +++ /dev/null @@ -1,1971 +0,0 @@ -############################################################################## -# -# Copyright (c) 2004-2008 Nexedi SA and Contributors. All Rights Reserved. -# Sebastien Robin <seb@nexedi.com> -# -# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import sys -sys.modules['Products.ERP5.tests.testPackingList'] = sys.modules[__name__] - -import unittest - -from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase -from Products.ERP5Type.UnrestrictedMethod import UnrestrictedMethod -from Products.ERP5.Document.BusinessTemplate import getChainByType -from zLOG import LOG -from Products.ERP5Type.tests.Sequence import SequenceList -from Products.ERP5Legacy.tests.testLegacySimulationOrder import TestOrderMixin -from DateTime import DateTime -from Products.ERP5Type.Globals import PersistentMapping - -class TestPackingListMixin(TestOrderMixin): - """ - Test business template erp5_trade - """ - container_portal_type = 'Container' - container_line_portal_type = 'Container Line' - container_cell_portal_type = 'Container Cell' - default_order_sequence = """ - CreateOrganisation1 - CreateOrganisation2 - CreateOrganisation3 - CreateProject1 - CreateProject2 - CreateOrder - CreateCurrency - SetOrderPriceCurrency - SetOrderProfile - """ - default_sequence = default_order_sequence + """ - CreateNotVariatedResource - Tic - CreateOrderLine - SetOrderLineResource - SetOrderLineDefaultValues - OrderOrder - Tic - ConfirmOrder - Tic - CheckOrderSimulation - CheckDeliveryBuilding - CheckPackingListIsNotDivergent - CheckOrderPackingList - """ - confirmed_order_without_packing_list = default_order_sequence + """ - CreateNotVariatedResource - Tic - CreateOrderLine - SetOrderLineResource - SetOrderLineDefaultValues - OrderOrder - Tic - ConfirmOrder - Tic - """ - default_sequence_with_duplicated_lines = default_order_sequence + """ - CreateNotVariatedResource - Tic - CreateOrderLine - SetOrderLineResource - SetOrderLineDefaultValues - Tic - CreateOrderLine - SetOrderLineResource - SetOrderLineDefaultValues - OrderOrder - Tic - ConfirmOrder - Tic - CheckOrderSimulation - CheckDeliveryBuilding - CheckPackingListIsNotDivergent - CheckOrderPackingList - """ - default_sequence_with_two_lines = default_order_sequence + """ - CreateNotVariatedResource - Tic - CreateOrderLine - SetOrderLineResource - SetOrderLineDefaultValues - CreateNotVariatedResource - Tic - CreateOrderLine - SetOrderLineResource - SetOrderLineDefaultValues - OrderOrder - Tic - ConfirmOrder - Tic - CheckOrderSimulation - CheckDeliveryBuilding - CheckPackingListIsNotDivergent - CheckOrderPackingList - """ - variated_default_sequence = default_order_sequence + """ - CreateVariatedResource - Tic - CreateOrderLine - SetOrderLineResource - SetOrderLineDefaultValues - SetOrderLineFullVCL - CompleteOrderLineMatrix - OrderOrder - Tic - ConfirmOrder - Tic - CheckOrderSimulation - CheckDeliveryBuilding - CheckPackingListIsNotDivergent - CheckOrderPackingList - """ - - def getTitle(self): - return "Packing List" - - def enableLightInstall(self): - """ - You can override this. - Return if we should do a light install (1) or not (0) - """ - return 1 - - def enableActivityTool(self): - """ - You can override this. - Return if we should create (1) or not (0) an activity tool. - """ - return 1 - - def stepCheckOrderPackingList(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list is matching order - """ - packing_list = sequence.get('packing_list') - order = sequence.get('order') - self.assertEquals(packing_list.getCausalityValue(), order) - self.assertEquals(packing_list.getSource(), order.getSource()) - self.assertEquals(packing_list.getDestination(), order.getDestination()) - self.assertEquals(packing_list.getDestinationSection(), - order.getDestinationSection()) - self.assertEquals(packing_list.getSourceSection(), - order.getSourceSection()) - self.assertEquals(packing_list.getSourceDecision(), - order.getSourceDecision()) - self.assertEquals(packing_list.getDestinationAdministration(), - order.getDestinationAdministration()) - self.assertEquals(packing_list.getSourceAdministration(), - order.getSourceAdministration()) - self.assertEquals(packing_list.getPriceCurrency(), - order.getPriceCurrency()) - self.assertEquals(packing_list.getDestinationProject(), - order.getDestinationProject()) - self.assertEquals(packing_list.getSourceProject(), - order.getSourceProject()) - - def stepCheckPackingListIsDivergent(self, sequence=None, sequence_list=None, - packing_list=None,**kw): - """ - Test if packing list is divergent - """ - if packing_list is None: - packing_list = sequence.get('packing_list') - self.failIf('Site Error' in packing_list.view()) - self.assertTrue(packing_list.isDivergent()) - - def stepCheckNewPackingListIsDivergent(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list is divergent - """ - packing_list = sequence.get('new_packing_list') - self.stepCheckPackingListIsDivergent(packing_list=packing_list,sequence=sequence) - - def stepCheckPackingListIsCalculating(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list is calculating - """ - packing_list = sequence.get('packing_list') - self.assertEquals('calculating',packing_list.getCausalityState()) - - def stepCheckPackingListIsSolved(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list is solved - """ - packing_list = sequence.get('packing_list') - self.assertEquals('solved',packing_list.getCausalityState()) - - def stepCheckNewPackingListIsSolved(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('new_packing_list') - self.assertEquals('solved', packing_list.getCausalityState()) - - def stepCheckPackingListIsDiverged(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list is divergent - """ - packing_list = sequence.get('packing_list') - self.assertEquals('diverged', packing_list.getCausalityState()) - - def stepCheckPackingListIsNotDivergent(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list is not divergent - """ - packing_list = sequence.get('packing_list') - self.assertFalse(packing_list.isDivergent()) - - def stepChangeOrderLineResource(self, sequence=None, - sequence_list=None, **kw): - """ - Change the resource of the order. - """ - order = sequence.get('order') - resource = sequence.get('resource') - for order_line in order.objectValues( - portal_type=self.order_line_portal_type): - order_line.edit(resource_value=resource) - - def stepChangePackingListLineResource(self, sequence=None, - sequence_list=None, **kw): - """ - Change the resource of the packing list. - """ - packing_list = sequence.get('packing_list') - resource = sequence.get('resource') - for packing_list_line in packing_list.objectValues( - portal_type=self.packing_list_line_portal_type): - packing_list_line.edit(resource_value=resource) - - def stepDecreaseOrderLineQuantity(self, sequence=None, sequence_list=None, - **kw): - """ - Set a decreased quantity on order lines - """ - order = sequence.get('order') - quantity = sequence.get('line_quantity', default=self.default_quantity - 1) - sequence.edit(line_quantity=quantity) - for order_line in order.objectValues( - portal_type=self.order_line_portal_type): - order_line.edit(quantity=quantity) - - def stepDecreasePackingListLineQuantity(self, sequence=None, - sequence_list=None, **kw): - """ - Set a decreased quantity on packing list lines - """ - packing_list = sequence.get('packing_list') - quantity = sequence.get('line_quantity',default=self.default_quantity) - quantity = quantity - 1 - sequence.edit(line_quantity=quantity) - for packing_list_line in packing_list.objectValues( - portal_type=self.packing_list_line_portal_type): - packing_list_line.edit(quantity=quantity) - sequence.edit(last_delta = sequence.get('last_delta', 0.0) - 1.0) - - def stepIncreasePackingListLineQuantity(self, sequence=None, - sequence_list=None, **kw): - """ - Set a increased quantity on packing list lines - """ - packing_list = sequence.get('packing_list') - quantity = sequence.get('line_quantity',default=self.default_quantity) - quantity = quantity + 1 - sequence.edit(line_quantity=quantity) - for packing_list_line in packing_list.objectValues( - portal_type=self.packing_list_line_portal_type): - packing_list_line.edit(quantity=quantity) - sequence.edit(last_delta = sequence.get('last_delta', 0.0) + 1.0) - - def stepSplitAndDeferPackingList(self, sequence=None, sequence_list=None, **kw): - """ - Do the split and defer action - """ - packing_list = sequence.get('packing_list') - kw = {'listbox':[ - {'listbox_key':line.getRelativeUrl(), - 'choice':'SplitAndDefer'} for line in packing_list.getMovementList() - if line.isDivergent()]} - self.portal.portal_workflow.doActionFor( - packing_list, - 'split_and_defer_action', - start_date=self.datetime + 15, - stop_date=self.datetime + 25, - **kw) - - def stepSplitAndDeferDoNothingPackingList(self, sequence=None, sequence_list=None, **kw): - """ - Do the split and defer action, but choose "do nothing" for divergences - """ - packing_list = sequence.get('packing_list') - kw = {'listbox':[ - {'listbox_key':line.getRelativeUrl(), - 'choice':'ignore'} for line in packing_list.getMovementList() - if line.isDivergent()]} - self.portal.portal_workflow.doActionFor( - packing_list, - 'split_and_defer_action', - start_date=self.datetime + 15, - stop_date=self.datetime + 25, - **kw) - - def stepCheckPackingListSplitted(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list was splitted - """ - order = sequence.get('order') - packing_list_list = order.getCausalityRelatedValueList( - portal_type=self.packing_list_portal_type) - self.assertEquals(2,len(packing_list_list)) - packing_list1 = None - packing_list2 = None - for packing_list in packing_list_list: - if packing_list.getUid() == sequence.get('packing_list').getUid(): - packing_list1 = packing_list - else: - packing_list2 = packing_list - sequence.edit(new_packing_list=packing_list2) - for line in packing_list1.objectValues( - portal_type= self.packing_list_line_portal_type): - self.assertEquals(self.default_quantity-1,line.getQuantity()) - for line in packing_list2.objectValues( - portal_type= self.packing_list_line_portal_type): - self.assertEquals(1,line.getQuantity()) - - def stepCheckPackingListSplittedTwoTimes(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list is divergent - """ - order = sequence.get('order') - packing_list_list = order.getCausalityRelatedValueList( - portal_type=self.packing_list_portal_type) - self.assertEquals(2,len(packing_list_list)) - packing_list1 = None - packing_list2 = None - for packing_list in packing_list_list: - if packing_list.getUid() == sequence.get('packing_list').getUid(): - packing_list1 = packing_list - else: - packing_list2 = packing_list - for line in packing_list1.objectValues( - portal_type= self.packing_list_line_portal_type): - self.assertEquals(self.default_quantity-2,line.getQuantity()) - for line in packing_list2.objectValues( - portal_type= self.packing_list_line_portal_type): - self.assertEquals(2,line.getQuantity()) - - def stepCheckPackingListNotSplitted(self, sequence=None, sequence_list=None, **kw): - """ - Test if packing list is divergent - """ - order = sequence.get('order') - packing_list_list = order.getCausalityRelatedValueList( - portal_type=self.packing_list_portal_type) - self.assertEquals(1,len(packing_list_list)) - packing_list1 = sequence.get('packing_list') - last_delta = sequence.get('last_delta', 0.0) - for line in packing_list1.objectValues( - portal_type= self.packing_list_line_portal_type): - self.assertEquals(self.default_quantity + last_delta, - line.getQuantity()) - simulation_list = line.getDeliveryRelatedValueList( - portal_type='Simulation Movement') - self.assertEquals(len(simulation_list),1) - simulation_movement = simulation_list[0] - self.assertEquals(self.default_quantity + last_delta, - simulation_movement.getCorrectedQuantity()) - - def stepCheckPackingListNotSolved(self, sequence=None, sequence_list=None, **kw): - """ - This step is specific to test_10 : the incorrectly used solver didn't - solve anything. - """ - order = sequence.get('order') - packing_list_list = order.getCausalityRelatedValueList( - portal_type=self.packing_list_portal_type) - self.assertEquals(1,len(packing_list_list)) - packing_list1 = sequence.get('packing_list') - last_delta = sequence.get('last_delta', 0.0) - for line in packing_list1.objectValues( - portal_type= self.packing_list_line_portal_type): - self.assertEquals(self.default_quantity + last_delta, - line.getQuantity()) - simulation_list = line.getDeliveryRelatedValueList( - portal_type='Simulation Movement') - self.assertEquals(len(simulation_list),1) - simulation_movement = simulation_list[0] - - # Here we don't add last_delta, as the solver didn't do its work. - self.assertEquals(self.default_quantity, - simulation_movement.getCorrectedQuantity()) - - def stepChangePackingListDestination(self, sequence=None, - sequence_list=None, **kw): - """ - Test if packing list is divergent - """ - organisation3 = sequence.get('organisation3') - packing_list = sequence.get('packing_list') - packing_list.edit(destination_value=organisation3) - - def stepCreateOrganisation3(self,sequence=None, sequence_list=None, **kw): - """ - Create a empty organisation - """ - self.stepCreateOrganisation(sequence=sequence, sequence_list=sequence_list, - **kw) - organisation = sequence.get('organisation') - sequence.edit(organisation3=organisation) - - def stepCheckSimulationDestinationUpdated(self,sequence=None, sequence_list=None, **kw): - """ - Test if the destination of the simulation movement was changed - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - self.assertEquals(len(simulation_movement_list),1) - org3 = sequence.get('organisation3') - for simulation_movement in simulation_movement_list: - simulation_movement = simulation_movement.objectValues()[0].objectValues()[0] - self.assertEquals(simulation_movement.getDestinationValue(),org3) - - def stepChangePackingListStartDate(self, sequence=None, sequence_list=None, **kw): - """ - Change the start_date of the packing_list. - """ - packing_list = sequence.get('packing_list') - packing_list.edit(start_date=self.datetime + 15) - - def stepCheckSimulationStartDateUpdated(self,sequence=None, sequence_list=None, **kw): - """ - Test if the start_date of the simulation movement was changed - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - self.assertEquals(len(simulation_movement_list),1) - delivery_applied_rule = simulation_movement_list[0].objectValues()[0] - simulation_movement_list = delivery_applied_rule.objectValues() - self.assertEquals(len(simulation_movement_list),1) - for simulation_movement in simulation_movement_list: - self.assertEquals(simulation_movement.getStartDate(),self.datetime + 15) - - def stepCheckSimulationQuantityUpdated(self,sequence=None, sequence_list=None, **kw): - """ - Test if the quantity of the simulation movement was changed - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - self.assertEquals(len(simulation_movement_list),1) - for simulation_movement in simulation_movement_list: - simulation_movement = simulation_movement.objectValues()[0].objectValues()[0] - self.assertEquals(simulation_movement.getQuantity() + - simulation_movement.getDeliveryError(), - self.default_quantity) - - def stepCheckSimulationQuantityUpdatedForMergedLine(self,sequence=None, sequence_list=None, **kw): - """ - Test if the quantity of the simulation movement was changed - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - self.assertEquals(len(simulation_movement_list),2) - for simulation_movement in simulation_movement_list: - simulation_movement = simulation_movement.objectValues()[0].objectValues()[0] - self.assertEquals(simulation_movement.getQuantity() + - simulation_movement.getDeliveryError(), - self.default_quantity) - - def stepEditPackingListLine(self,sequence=None, sequence_list=None, **kw): - """ - Edits a Packing List Line - """ - packing_list_line = sequence.get('packing_list_line') - packing_list_line.edit(description='This line was edited!') - - def stepDeletePackingListLine(self,sequence=None, sequence_list=None, **kw): - """ - Deletes a Packing List Line - """ - packing_list = sequence.get('packing_list') - packing_list_line_id = sequence.get('packing_list_line').getId() - packing_list.manage_delObjects([packing_list_line_id]) - - def stepAddPackingListLine(self,sequence=None, sequence_list=None, **kw): - """ - Adds a Packing List Line - """ - packing_list = sequence.get('packing_list') - packing_list_line = packing_list.newContent( - portal_type=self.packing_list_line_portal_type) - self.stepCreateNotVariatedResource(sequence=sequence, - sequence_list=sequence_list, **kw) - resource = sequence.get('resource') - packing_list_line.setResourceValue(resource) - packing_list_line.edit(price=100, quantity=200) - - def stepCheckSimulationConnected(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are connected - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - self.assertEquals(len(simulation_movement_list),1) - order_line = sequence.get('order_line') - packing_list = sequence.get('packing_list') - packing_list_line = sequence.get('packing_list_line') - for simulation_movement in simulation_movement_list: - self.assertEquals(simulation_movement.getDeliveryValue(), order_line) - self.assertEquals(packing_list_line.getCausalityValue(), - order_line) - rule_list = simulation_movement.objectValues() - self.failUnless(len(rule_list), 1) - delivering_rule = rule_list[0] - self.failUnless(delivering_rule.getSpecialiseValue().getPortalType(), - 'Delivering Rule') - child_simulation_movement_list = delivering_rule.objectValues() - self.failUnless(len(child_simulation_movement_list), 1) - child_simulation_movement = child_simulation_movement_list[0] - self.assertEquals(child_simulation_movement.getDeliveryValue(), - packing_list_line) - - def stepCheckSimulationDisconnected(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - self.assertEquals(len(simulation_movement_list),1) - for simulation_movement in simulation_movement_list: - child_simulation_movement = simulation_movement.objectValues()[0].objectValues()[0] - self.assertEquals(child_simulation_movement.getDeliveryValue(),None) - - def stepModifySimulationLineQuantity(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() -# self.assertEquals(len(simulation_movement_list),1) - for simulation_movement in simulation_movement_list: - simulation_movement.edit(quantity=self.default_quantity-1) - simulation_movement.getDeliveryValue().edit(quantity=self.default_quantity-1) - simulation_movement.expand() - - def stepModifySimulationLineQuantityForMergedLine(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - self.assertEquals(len(simulation_movement_list),2) - for simulation_movement in simulation_movement_list: - simulation_movement.edit(quantity=self.default_quantity-1) - simulation_movement.getDeliveryValue().edit(quantity=self.default_quantity-1) - simulation_movement.expand() - - def stepModifySimulationLineStartDate(self,sequence=None, sequence_list=None, **kw): - """ - Modify simulation line start date - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - resource_list = sequence.get('resource_list') - for simulation_movement in simulation_movement_list: - simulation_movement.recordProperty('start_date') - simulation_movement.edit(start_date=self.datetime+15) - simulation_movement.expand() - - def stepModifyOneSimulationLineStartDate(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - resource_list = sequence.get('resource_list') - self.assertEquals(len(simulation_movement_list),len(resource_list)) - simulation_movement_list[-1].recordProperty('start_date') - simulation_movement_list[-1].edit(start_date=self.datetime+15) - simulation_movement_list[-1].expand() - - def stepModifySimulationLineResource(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - resource_list = sequence.get('resource_list') - for simulation_movement in simulation_movement_list: - simulation_movement.recordProperty('resource') - simulation_movement.edit(resource_value=resource_list[-1]) - simulation_movement.expand() - - def stepModifyOneSimulationLineResource(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - resource_list = sequence.get('resource_list') - simulation_movement_list[-1].recordProperty('resource') - simulation_movement_list[-1].edit(resource_value=resource_list[-1]) - simulation_movement_list[-1].expand() - - def stepNewPackingListAdoptPrevisionQuantity(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - packing_list = sequence.get('new_packing_list') - self._solveDivergence(packing_list, 'quantity', 'adopt') - - def stepUnifyDestinationWithDecision(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - packing_list = sequence.get('packing_list') - self._solveDeliveryGroupDivergence(packing_list, 'destination', - packing_list.getRelativeUrl()) - - def stepUnifyStartDateWithDecision(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - packing_list = sequence.get('packing_list') - self._solveDeliveryGroupDivergence(packing_list, 'start_date', - packing_list.getRelativeUrl()) - - def stepUnifyStartDateWithPrevision(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - packing_list = sequence.get('packing_list') - applied_rule = sequence.get('applied_rule') - simulation_movement_list = applied_rule.objectValues() - self._solveDeliveryGroupDivergence(packing_list, 'start_date', - simulation_movement_list[-1].getRelativeUrl()) - - def _solveDeliveryGroupDivergence(self, obj, property, target_url): - kw = {'delivery_group_listbox': - {property:{'choice':target_url}}} - self.portal.portal_workflow.doActionFor( - obj, - 'solve_divergence_action', - **kw) - - def stepAcceptDecisionResource(self,sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('packing_list') - self._solveDivergence(packing_list, 'resource', 'accept') - - def stepAcceptDecisionQuantity(self,sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('packing_list') - self._solveDivergence(packing_list, 'quantity', 'accept') - - def stepAdoptPrevisionResource(self,sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('packing_list') - self._solveDivergence(packing_list, 'resource', 'adopt') - - def stepAdoptPrevisionQuantity(self,sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('packing_list') - self._solveDivergence(packing_list, 'quantity', 'adopt') - - def _solveDivergence(self, obj, property, decision, group='line'): - """ - Solve divergences for a given property by taking decision. - FIXME: Only "line" level divergence are supported - """ - kw = {'%s_group_listbox' % group:{}} - for divergence in obj.getDivergenceList(): - if divergence.getProperty('tested_property') != property: - continue - sm_url = divergence.getProperty('simulation_movement').getRelativeUrl() - kw['line_group_listbox']['%s&%s' % (sm_url, property)] = { - 'choice':decision} - self.portal.portal_workflow.doActionFor( - obj, - 'solve_divergence_action', - **kw) - - def stepCheckPackingListLineWithNewQuantityPrevision(self,sequence=None, sequence_list=None, **kw): - """ - Look if the packing list has new previsions - """ - packing_list_line = sequence.get('packing_list_line') - self.assertEquals(packing_list_line.getQuantity(),self.default_quantity-1) - - def stepCheckPackingListLineWithNewQuantityPrevisionForMergedLine(self,sequence=None, sequence_list=None, **kw): - """ - Look if the packing list has new previsions - """ - packing_list_line = sequence.get('packing_list_line') - self.assertEquals(packing_list_line.getQuantity(),(self.default_quantity-1)*2) - - def stepCheckPackingListLineWithDifferentResource(self,sequence=None, sequence_list=None, **kw): - """ - Look if the packing list has new previsions - """ - packing_list_line = sequence.get('packing_list_line') - new_resource = sequence.get('resource') - self.assertEquals(packing_list_line.getQuantity(), self.default_quantity) - self.assertNotEquals(packing_list_line.getResourceValue(), new_resource) - simulation_movement_list = packing_list_line.getDeliveryRelatedValueList() - order_line_list = [x.getParentValue().getParentValue().getDelivery() - for x in simulation_movement_list] - self.assertEquals(sorted(packing_list_line.getCausalityList()), - sorted(order_line_list)) - new_packing_list_line = packing_list_line.aq_parent[str(int(packing_list_line.getId())+1)] - self.assertEquals(new_packing_list_line.getQuantity(), self.default_quantity) - self.assertEquals(new_packing_list_line.getResourceValue(), new_resource) - simulation_movement_list = new_packing_list_line.getDeliveryRelatedValueList() - order_line_list = [x.getParentValue().getParentValue().getDelivery() - for x in simulation_movement_list] - self.assertEquals(sorted(new_packing_list_line.getCausalityList()), - sorted(order_line_list)) - - def stepCheckPackingListLineWithSameResource(self,sequence=None, sequence_list=None, **kw): - """ - Look if the packing list has new previsions - """ - order_line = sequence.get('order_line') - packing_list_line = order_line.getCausalityRelatedValue() - old_packing_list_line = [x for x in - sequence.get('packing_list').objectValues() - if x != packing_list_line][0] - resource = sequence.get('resource') - self.assertEquals(old_packing_list_line.getQuantity(), 0) - self.assertNotEquals(old_packing_list_line.getResourceValue(), resource) - self.assertEquals(packing_list_line.getQuantity(), self.default_quantity * 2) - self.assertEquals(packing_list_line.getResourceValue(), resource) - simulation_movement_list = packing_list_line.getDeliveryRelatedValueList() - order_line_list = [x.getParentValue().getParentValue().getDelivery() - for x in simulation_movement_list] - self.assertEquals(sorted(packing_list_line.getCausalityList()), - sorted(order_line_list)) - - def stepCheckNewPackingListAfterStartDateAdopt(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - applied_rule = sequence.get('applied_rule') - packing_list_line = sequence.get('packing_list_line') - packing_list = sequence.get('packing_list') - LOG('CheckNewPackingList, self.datetime+15',0,self.datetime+15) - LOG('CheckNewPackingList, packing_list.getStartDate',0,packing_list.getStartDate()) - self.assertEquals(packing_list_line.getQuantity(),self.default_quantity) - self.assertEquals(packing_list.getStartDate(),self.datetime+15) - simulation_movement_list = applied_rule.objectValues() - resource_list = sequence.get('resource_list') - self.assertEquals(len(simulation_movement_list),len(resource_list)) - delivery_value_list = [] - for simulation_movement in simulation_movement_list: -# self.assertNotEquals(simulation_movement.getDeliveryValue(),None) - delivery_value = simulation_movement.getDeliveryValue() - if delivery_value not in delivery_value_list: - delivery_value_list.append(delivery_value_list) -# new_packing_list = delivery_value.getParent() -# self.assertNotEquals(new_packing_list.getUid(),packing_list.getUid()) - self.assertEquals(len(delivery_value_list),len(resource_list)) - - def stepCheckNewSplitPackingListAfterStartDateAdopt(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - applied_rule = sequence.get('applied_rule') - packing_list = sequence.get('packing_list') - packing_list_line = [x for x in packing_list.getMovementList() - if x.getQuantity()][0] - new_packing_list = self.portal.sale_packing_list_module[str(int(packing_list.getId())-1)] - new_packing_list_line = [x for x in new_packing_list.getMovementList() - if x.getQuantity()][0] - self.assertEquals(packing_list_line.getQuantity(),self.default_quantity) - self.assertEquals(packing_list.getStartDate(),self.datetime+10) - self.assertEquals(new_packing_list_line.getQuantity(),self.default_quantity) - self.assertEquals(new_packing_list.getStartDate(),self.datetime+15) - simulation_movement_list = applied_rule.objectValues() - resource_list = sequence.get('resource_list') - self.assertEquals(len(simulation_movement_list),len(resource_list)) - delivery_value_list = [] - for simulation_movement in simulation_movement_list: -# self.assertNotEquals(simulation_movement.getDeliveryValue(),None) - delivery_value = simulation_movement.getDeliveryValue() - if delivery_value not in delivery_value_list: - delivery_value_list.append(delivery_value_list) -# new_packing_list = delivery_value.getParent() -# self.assertNotEquals(new_packing_list.getUid(),packing_list.getUid()) - self.assertEquals(len(delivery_value_list),len(resource_list)) - - def stepAddPackingListContainer(self,sequence=None, - packing_list=None,sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - if packing_list is None: - packing_list = sequence.get('packing_list') - container = packing_list.newContent(portal_type=self.container_portal_type) - sequence.edit(container=container) - - def stepDefineNewPackingListContainer(self,sequence=None, sequence_list=None, **kw): - """ - Check if simulation movement are disconnected - """ - packing_list = sequence.get('new_packing_list') - self.stepAddPackingListContainer(sequence=sequence,packing_list=packing_list) - self.stepAddPackingListContainerLine(sequence=sequence) - self.stepSetContainerLineFullQuantity(quantity=1,sequence=sequence) - - def stepAddPackingListContainerLine(self,sequence=None, sequence_list=None, **kw): - """ - Add a container line in the packing list - """ - container = sequence.get('container') - container_line = container.newContent(portal_type=self.container_line_portal_type) - sequence.edit(container_line=container_line) - resource = sequence.get('resource') - container_line.edit(resource_value=resource) - - def stepSetContainerLineSmallQuantity(self,sequence=None, sequence_list=None, **kw): - """ - Set a small quantity on the container line, it should not be enough for - the packing list to be packed. - """ - container_line = sequence.get('container_line') - container_line.edit(quantity=self.default_quantity-1) - - def stepCheckContainerLineSmallQuantity(self, sequence=None, - sequence_list=None, **kw): - """ - Checks that quantity is set correctly on the container_line. - """ - container_line = sequence.get('container_line') - self.assertEquals(self.default_quantity - 1, container_line.getQuantity()) - self.assertEquals(self.default_quantity - 1, - container_line.getTotalQuantity()) - - def stepSetContainerLineFullQuantity(self,sequence=None, sequence_list=None, - quantity=None,**kw): - """ - Set the full quantity - """ - container_line = sequence.get('container_line') - if quantity is None: - quantity = sequence.get('line_quantity',self.default_quantity) - container_line.edit(quantity=quantity) - container_line.immediateReindexObject() - - def stepSetContainerFullQuantity(self,sequence=None, sequence_list=None, - quantity=None,**kw): - """ - Really fills the container - """ - packing_list = sequence.get('packing_list') - container = sequence.get('container') - #empty container - container.deleteContent(container.contentIds()) - for line in packing_list.objectValues( - portal_type=self.packing_list_line_portal_type): - resource = line.getResourceValue() - tmp_kw={'movement.resource_uid':resource.getUid()} - container_line = \ - container.newContent(portal_type=self.container_line_portal_type) - container_line.setResourceValue(resource) - # without variation - if not line.hasCellContent(): - quantity = line.getQuantity() - container_line.edit(quantity=quantity) - container_line.immediateReindexObject() - self.assertEquals(quantity, container_line.getQuantity()) - self.assertEquals(quantity, container_line.getTotalQuantity()) - # with variation - elif line.hasCellContent(): - vcl = line.getVariationCategoryList() - vcl.sort() - base_id = 'movement' - container_line.setVariationCategoryList(vcl) - cell_key_list = list(line.getCellKeyList(base_id=base_id)) - cell_key_list.sort() - for cell_key in cell_key_list: - if line.hasCell(base_id=base_id, *cell_key): - old_cell = line.getCell(base_id=base_id, *cell_key) - cell = container_line.newCell(base_id=base_id, - portal_type=self.container_cell_portal_type, *cell_key) - cell.edit(mapped_value_property_list=['price', 'quantity'], - price=old_cell.getPrice(), - quantity=old_cell.getQuantity(), - predicate_category_list=cell_key, - variation_category_list=cell_key) - cell.immediateReindexObject() - self.assertEquals(old_cell.getQuantity(), cell.getQuantity()) - self.assertEquals(old_cell.getTotalQuantity(), cell.getTotalQuantity()) - - self.assertEquals(line.getQuantity(), container_line.getQuantity()) - self.assertEquals(line.getTotalQuantity(), container_line.getTotalQuantity()) - - # quantity is 1 on the container itself - self.assertEquals(1, container.getQuantity()) - self.assertEquals(1, container.getTotalQuantity()) - - def stepCheckPackingListIsNotPacked(self,sequence=None, sequence_list=None, **kw): - """ - Check that the number of objects in containers are - not equals to the quantity of the packing list - """ - packing_list = sequence.get('packing_list') - self.assertEquals(0,packing_list.isPacked()) - self.assertEquals('missing',packing_list.getContainerState()) - - def stepCheckPackingListIsPacked(self,sequence=None, sequence_list=None, - packing_list=None,**kw): - """ - Check that the number of objects in containers are - equals to the quantity of the packing list - """ - if packing_list is None: - packing_list = sequence.get('packing_list') - self.commit() - self.assertEquals(1,packing_list.isPacked()) - self.assertEquals('packed',packing_list.getContainerState()) - - def stepCheckNewPackingListIsPacked(self,sequence=None, sequence_list=None, **kw): - """ - Check that the number of objects in containers are - equals to the quantity of the packing list - """ - packing_list = sequence.get('new_packing_list') - self.stepCheckPackingListIsPacked(sequence=sequence, - packing_list=packing_list) - - def stepCreateCurrency(self, sequence, **kw) : - """Create a default currency. """ - currency_module = self.getCurrencyModule() - if currency_module._getOb('EUR', None) is None: - currency = self.getCurrencyModule().newContent( - portal_type='Currency', - id="EUR", - base_unit_quantity=0.01, - ) - else: - currency = currency_module._getOb('EUR') - sequence.edit(currency=currency) - - def stepSetOrderPriceCurrency(self, sequence, **kw) : - """Set the price currency of the order. - - This step is not necessary. - TODO : - include a test without this step. - - include a test with this step late. - """ - currency = sequence.get('currency') - order = sequence.get('order') - order.setPriceCurrency(currency.getRelativeUrl()) - - def _checkRecordedProperty(self, movement_list, property_id, assertion): - for movement in movement_list: - for simulation_movement in movement.getDeliveryRelatedValueList(): - if assertion: - self.assertTrue(simulation_movement.isPropertyRecorded(property_id)) - else: - self.assertFalse(simulation_movement.isPropertyRecorded(property_id)) - - def stepCheckSimulationMovementHasRecordedQuantity(self, sequence=None, - sequence_list=None): - movement_list = sequence.get('order').objectValues( - portal_type=self.order_line_portal_type) - self._checkRecordedProperty(movement_list, 'quantity', True) - - def stepCheckSimulationMovementHasNoRecordedQuantity(self, sequence=None, - sequence_list=None): - movement_list = sequence.get('order').objectValues( - portal_type=self.order_line_portal_type) - self._checkRecordedProperty(movement_list, 'quantity', False) - - def stepCheckSimulationMovementHasRecordedResource(self, sequence=None, - sequence_list=None): - movement_list = sequence.get('order').objectValues( - portal_type=self.order_line_portal_type) - self._checkRecordedProperty(movement_list, 'resource', True) - - def stepCheckSimulationMovementHasNoRecordedResource(self, sequence=None, - sequence_list=None): - movement_list = sequence.get('order').objectValues( - portal_type=self.order_line_portal_type) - self._checkRecordedProperty(movement_list, 'resource', False) - -class TestPackingList(TestPackingListMixin, ERP5TypeTestCase) : - - run_all_test = 1 - quiet = 0 - - def test_01_PackingListDecreaseQuantity(self, quiet=quiet, run=run_all_test): - """ - Change the quantity on an delivery line, then - see if the packing list is divergent and then - split and defer the packing list - """ - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + """ - DecreasePackingListLineQuantity - CheckPackingListIsCalculating - Tic - CheckPackingListIsDiverged - SplitAndDeferPackingList - Tic - CheckPackingListIsSolved - CheckPackingListSplitted - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_02_PackingListChangeDestination(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + """ - ChangePackingListDestination - CheckPackingListIsCalculating - Tic - CheckPackingListIsDiverged - UnifyDestinationWithDecision - Tic - CheckPackingListIsSolved - CheckPackingListIsNotDivergent - CheckSimulationDestinationUpdated - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_03_PackingListChangeStartDate(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + """ - ChangePackingListStartDate - CheckPackingListIsCalculating - Tic - CheckPackingListIsDiverged - UnifyStartDateWithDecision - Tic - CheckPackingListIsSolved - CheckPackingListIsNotDivergent - CheckSimulationStartDateUpdated - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_04_PackingListDeleteLine(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + """ - CheckSimulationConnected - DeletePackingListLine - CheckPackingListIsNotDivergent - Tic - CheckSimulationDisconnected - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_05_SimulationChangeQuantity(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + """ - ModifySimulationLineQuantity - Tic - CheckPackingListIsDiverged - AdoptPrevisionQuantity - Tic - CheckPackingListIsNotDivergent - CheckPackingListIsSolved - CheckPackingListLineWithNewQuantityPrevision - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_05a_SimulationChangeQuantityAndAcceptDecision(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + """ - ModifySimulationLineQuantity - Tic - CheckPackingListIsDiverged - AcceptDecisionQuantity - Tic - CheckPackingListIsNotDivergent - CheckPackingListIsSolved - CheckSimulationQuantityUpdated - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_05b_SimulationChangeQuantityForMergedLine(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence_with_duplicated_lines + """ - ModifySimulationLineQuantityForMergedLine - Tic - CheckPackingListIsDiverged - AdoptPrevisionQuantity - Tic - CheckPackingListIsNotDivergent - CheckPackingListIsSolved - CheckPackingListLineWithNewQuantityPrevisionForMergedLine - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_05c_SimulationChangeQuantityAndAcceptDecisionForMergedLine(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence_with_duplicated_lines + """ - ModifySimulationLineQuantityForMergedLine - Tic - CheckPackingListIsDiverged - AcceptDecisionQuantity - Tic - CheckPackingListIsNotDivergent - CheckPackingListIsSolved - CheckSimulationQuantityUpdatedForMergedLine - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_05d_SimulationChangeResourceOnOneSimulationMovementForMergedLine(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence_with_duplicated_lines + """ - CreateNotVariatedResource - ModifyOneSimulationLineResource - Tic - CheckPackingListIsDiverged - AdoptPrevisionResource - Tic - CheckPackingListIsNotDivergent - CheckPackingListIsSolved - CheckPackingListLineWithDifferentResource - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_05e_SimulationUnifyResourceOnSimulationMovementsForNonMergedLines(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence_with_two_lines + """ - ModifySimulationLineResource - Tic - CheckPackingListIsDiverged - AdoptPrevisionResource - Tic - CheckPackingListIsNotDivergent - CheckPackingListIsSolved - CheckPackingListLineWithSameResource - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_05f_SimulationChangeAndPartialAcceptDecision(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence_with_duplicated_lines + """ - CreateNotVariatedResource - ModifySimulationLineQuantityForMergedLine - ModifyOneSimulationLineResource - ModifySimulationLineStartDate - Tic - CheckPackingListIsDiverged - AcceptDecisionQuantity - Tic - CheckPackingListIsDiverged - AcceptDecisionResource - Tic - CheckPackingListIsDiverged - UnifyStartDateWithDecision - Tic - CheckPackingListIsNotDivergent - CheckPackingListIsSolved - CheckSimulationQuantityUpdatedForMergedLine - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_06_SimulationChangeStartDate(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + """ - ModifySimulationLineStartDate - Tic - CheckPackingListIsDiverged - UnifyStartDateWithPrevision - Tic - CheckPackingListIsSolved - CheckNewPackingListAfterStartDateAdopt - """ - # XXX Check if there is a new packing list created - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_07_SimulationChangeStartDateWithTwoOrderLine(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence_with_two_lines + """ - ModifySimulationLineStartDate - Tic - CheckPackingListIsDiverged - CheckPackingListIsDivergent - UnifyStartDateWithPrevision - Tic - CheckPackingListIsNotDivergent - CheckPackingListIsSolved - CheckNewPackingListAfterStartDateAdopt - """ - # XXX Check if there is a new packing list created - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_07a_SimulationChangeStartDateWithTwoOrderLine(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence_with_two_lines + """ - ModifyOneSimulationLineStartDate - Tic - CheckPackingListIsDiverged - CheckPackingListIsDivergent - UnifyStartDateWithPrevision - Tic - CheckPackingListIsNotDivergent - CheckPackingListIsSolved - CheckNewPackingListAfterStartDateAdopt - """ - # XXX Check if there is a new packing list created - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_08_AddContainers(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + """ - AddPackingListContainer - AddPackingListContainerLine - SetContainerLineSmallQuantity - CheckContainerLineSmallQuantity - CheckPackingListIsNotPacked - SetContainerFullQuantity - Tic - CheckPackingListIsPacked - """ - # XXX Check if there is a new packing list created - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_09_AddContainersWithVariatedResources(self, quiet=quiet, run=run_all_test): - if not run: return - sequence_list = SequenceList() - - # Test with a order with cells - sequence_string = self.variated_default_sequence + """ - AddPackingListContainer - AddPackingListContainerLine - SetContainerLineSmallQuantity - CheckContainerLineSmallQuantity - CheckPackingListIsNotPacked - SetContainerFullQuantity - Tic - CheckPackingListIsPacked - ModifySimulationLineStartDate - Tic - CheckPackingListIsDiverged - CheckPackingListIsDivergent - UnifyStartDateWithPrevision - Tic - """ - # XXX Check if there is a new packing list created - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_10_PackingListIncreaseQuantity(self, quiet=quiet, run=run_all_test): - """ - - Increase the quantity on an delivery line - - check if the packing list is divergent - - Apply the "split and defer" solver to the packing list - - check that nothing was splitted and the packing list is still divergent - (reset the delta before, as we don't expect a modification) - - Basically, when we apply "split and defer" to a packing list, we don't - want it to modify lines which have been increased. - """ - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + """ - IncreasePackingListLineQuantity - CheckPackingListIsCalculating - Tic - CheckPackingListIsDiverged - SplitAndDeferPackingList - Tic - CheckPackingListIsDiverged - CheckPackingListIsDivergent - CheckPackingListNotSolved - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_11_PackingListDecreaseTwoTimesQuantityAndUpdateDelivery(self, - quiet=quiet, run=run_all_test): - """ - Change the quantity on an delivery line, then - see if the packing list is divergent and then - split and defer the packing list - """ - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + """ - DecreasePackingListLineQuantity - CheckPackingListIsCalculating - Tic - CheckPackingListIsDiverged - SplitAndDeferPackingList - Tic - CheckPackingListIsSolved - CheckPackingListSplitted - DecreasePackingListLineQuantity - CheckPackingListIsCalculating - Tic - CheckPackingListIsDiverged - SplitAndDeferPackingList - Tic - CheckNewPackingListIsDivergent - NewPackingListAdoptPrevisionQuantity - Tic - CheckPackingListIsSolved - CheckNewPackingListIsSolved - CheckPackingListSplittedTwoTimes - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_SplitAndDeferDoNothing(self, quiet=quiet, run=run_all_test): - """ - Use split & defer to solve a divergence, but choose do nothing for all - lines. - """ - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + """ - IncreasePackingListLineQuantity - CheckPackingListIsCalculating - Tic - CheckPackingListIsDiverged - SplitAndDeferDoNothingPackingList - Tic - CheckPackingListIsDiverged - CheckPackingListIsDivergent - CheckPackingListNotSolved - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - - def test_12_PackingListLineChangeResource(self, quiet=quiet, run=run_all_test): - """ - Test if delivery diverged when we change the resource. - """ - if not run: return - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + """ - CreateNotVariatedResource - ChangePackingListLineResource - CheckPackingListIsCalculating - Tic - CheckPackingListIsDivergent - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_14_PackingListHavePriceCurrencyCategory(self, quiet=quiet, - run=run_all_test): - """Deliveries must have a price currency category. #252 - """ - if not run: - return - pl = self.getPortal().getDefaultModule(self.packing_list_portal_type - ).newContent(portal_type=self.packing_list_portal_type) - self.failUnless(hasattr(pl, 'getPriceCurrency')) - - def test_PackingList_viewAsODT(self): - # tests packing list printout - resource = self.portal.getDefaultModule( - self.resource_portal_type).newContent( - portal_type=self.resource_portal_type, - title='Resource',) - client = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Client') - vendor = self.portal.organisation_module.newContent( - portal_type='Organisation', title='Vendor') - packing_list = self.portal.getDefaultModule(self.packing_list_portal_type).newContent( - portal_type=self.packing_list_portal_type, - title='Packing List', - source_value=vendor, - source_section_value=vendor, - destination_value=client, - destination_section_value=client) - line = packing_list.newContent( - portal_type=self.packing_list_line_portal_type, - resource_value=resource, - quantity=10, - price=3) - packing_list.confirm() - self.tic() - - odt = packing_list.PackingList_viewAsODT() - from Products.ERP5OOo.tests.utils import Validator - odf_validator = Validator() - err_list = odf_validator.validate(odt) - if err_list: - self.fail(''.join(err_list)) - - def test_15_CheckBuilderCanBeCalledTwiceSafely(self): - """ - Builder design should allows to call the build method as many times as we - want. Make sure that we will not have duplicated packing list if build is - called several times. - """ - delivery_builder = getattr(self.getPortalObject().portal_deliveries, - self.delivery_builder_id) - - def doNothing(self, *args, **kw): - pass - original_delivery_builder_build = delivery_builder.__class__.build - - try: - # We patch the delivery builder to make sure that it will not be - # called by activities - delivery_builder.__class__.build = doNothing - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.confirmed_order_without_packing_list - sequence_list.addSequenceString(sequence_string) - sequence_list.play(self) - - # Now restore the build method and make sure first call returns document - delivery_builder.__class__.build = original_delivery_builder_build - self.assertTrue(len(delivery_builder.build()) > 0) - # The second call should returns empty result even if tic not called - self.assertTrue(len(delivery_builder.build()) == 0) - finally: - delivery_builder.build = original_delivery_builder_build - - def test_16_simulation_reindexation_on_cancel(self): - self.organisation_portal_type = 'Organisation' - self.resource_portal_type = 'Product' - - packing_list_module = self.portal.getDefaultModule( - portal_type=self.packing_list_portal_type) - organisation_module = self.portal.getDefaultModule( - portal_type=self.organisation_portal_type) - resource_module = self.portal.getDefaultModule( - portal_type=self.resource_portal_type) - source = organisation_module.newContent( - portal_type=self.organisation_portal_type) - destination = organisation_module.newContent( - portal_type=self.organisation_portal_type) - resource = resource_module.newContent( - portal_type=self.resource_portal_type) - - packing_list = packing_list_module.newContent( - portal_type=self.packing_list_portal_type, - source_value=source, - destination_value=destination, - start_date=DateTime()) - packing_list_line = packing_list.newContent( - portal_type=self.packing_list_line_portal_type, - resource_value=resource, - quantity=1) - packing_list.confirm() - self.tic() - self.assertEqual('confirmed', packing_list.getSimulationState()) - simulation_movement = packing_list_line.getDeliveryRelatedValue( - portal_type='Simulation Movement') - self.assertEqual('confirmed', simulation_movement.getSimulationState()) - packing_list.cancel() - self.tic() - self.assertEqual('cancelled', packing_list.getSimulationState()) - self.assertEqual('cancelled', simulation_movement.getSimulationState()) - - def stepCreateSourceAccount(self, sequence=None, **kw): - organisation = self.stepCreateOrganisation(sequence, None, 'dummy_source') - sequence.edit(source_account = sequence.get('dummy_source')['bank']) - - def stepCreateDestinationAccount(self, sequence=None, **kw): - organisation = self.stepCreateOrganisation(sequence, None, - 'dummy_destination') - sequence.edit(destination_account = sequence.get('dummy_destination') - ['bank']) - - def stepSetOrderLineSourceAccount(self, sequence=None, **kw): - order_line = sequence.get('order_line') - account = sequence.get('source_account') - self.assertNotEqual(None, account) - order_line.setSourceAccountValue(account) - - def stepSetOrderLineDestinationAccount(self, sequence=None, **kw): - order_line = sequence.get('order_line') - account = sequence.get('destination_account') - self.assertNotEqual(None, account) - order_line.setDestinationAccountValue(account) - - def stepCheckPackingListLineSourceAccount(self, sequence=None, **kw): - packing_list = sequence.get('packing_list') - account = sequence.get('source_account') - for line in packing_list.getMovementList(): - self.assertEqual(line.getSourceAccountValue(), account) - - def stepCheckPackingListLineDestinationAccount(self, sequence=None, **kw): - packing_list = sequence.get('packing_list') - account = sequence.get('destination_account') - for line in packing_list.getMovementList(): - self.assertEqual(line.getDestinationAccountValue(), account) - - def test_17_PackingListOrderLineWithAccount(self, quiet=quiet): - """ - Check how packing list behaves if comes from order line which has - source/destination account set. - """ - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_order_sequence + """ - CreateNotVariatedResource - CreateSourceAccount - CreateDestinationAccount - Tic - CreateOrderLine - SetOrderLineResource - SetOrderLineDefaultValues - SetOrderLineSourceAccount - SetOrderLineDestinationAccount - OrderOrder - Tic - ConfirmOrder - Tic - CheckOrderSimulation - CheckDeliveryBuilding - CheckPackingListIsSolved - CheckOrderPackingList - CheckPackingListLineSourceAccount - CheckPackingListLineDestinationAccount - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_18_ChangeQuantityOnPackingListAndOrder(self, quiet=quiet): - """ - Change the quantity on a packing list line, and accept the - divergence, then change the quantity on an order line to the same - value and check if it does not cause divergence on a packing list - line and recorded properties are reset after re-expand. - """ - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + """ - DecreasePackingListLineQuantity - Tic - CheckPackingListIsDiverged - AcceptDecisionQuantity - Tic - CheckPackingListIsSolved - CheckSimulationMovementHasRecordedQuantity - DecreaseOrderLineQuantity - Tic - CheckPackingListIsSolved - CheckSimulationMovementHasNoRecordedQuantity - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_19_ChangeResourceOnPackingListAndOrder(self, quiet=quiet): - """ - Change the resource on a packing list line, and accept the - divergence, then change the resource on an order line to the same - value and check if it does not cause divergence on a packing list - line and recorded properties are reset after re-expand. - """ - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = self.default_sequence + """ - CreateNotVariatedResource - ChangePackingListLineResource - Tic - CheckPackingListIsDiverged - AcceptDecisionResource - Tic - CheckPackingListIsSolved - CheckSimulationMovementHasRecordedResource - ChangeOrderLineResource - Tic - CheckPackingListIsSolved - CheckSimulationMovementHasNoRecordedResource - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_subcontent_reindexing_packing_list_line_cell(self): - """Tests, that indexation of Packing List are propagated to subobjects - during reindxation""" - packing_list = self.portal.getDefaultModule( - self.packing_list_portal_type).newContent( - portal_type=self.packing_list_portal_type) - packing_list_line = packing_list.newContent( - portal_type=self.packing_list_line_portal_type) - packing_list_cell = packing_list_line.newContent( - portal_type=self.packing_list_cell_portal_type) - self._testSubContentReindexing(packing_list, [packing_list_line, - packing_list_cell]) - - def test_subcontent_reindexing_packing_list_container_line_cell(self): - """Tests, that indexation of Packing List are propagated to subobjects - during reindxation, for Container, Container Line and Container Cell""" - packing_list = self.portal.getDefaultModule( - self.packing_list_portal_type).newContent( - portal_type=self.packing_list_portal_type) - container = packing_list.newContent( - portal_type=self.container_portal_type) - container_line = container.newContent( - portal_type=self.container_line_portal_type) - container_cell = container_line.newContent( - portal_type=self.container_cell_portal_type) - self._testSubContentReindexing(packing_list, [container, container_line, - container_cell]) - - def test_PackingList_getMovementListSorting(self): - '''Test that is possible to sort getMovementList result passing it sort_on - parameter - ''' - packing_list = self.portal.getDefaultModule(self.packing_list_portal_type).newContent( - portal_type=self.packing_list_portal_type, - title='Packing List') - # create some packing list lines - line_bbb = packing_list.newContent( - portal_type=self.packing_list_line_portal_type, - reference='bbb', - int_index=1) - line_bbb_cell_bbb = line_bbb.newContent( - portal_type=self.packing_list_cell_portal_type, - reference='bbb', - int_index=2) - line_bbb_cell_aaa = line_bbb.newContent( - portal_type=self.packing_list_cell_portal_type, - reference='aaa', - int_index=1) - line_aaa = packing_list.newContent( - portal_type=self.packing_list_line_portal_type, - reference='aaa', - int_index=2) - line_ccc = packing_list.newContent( - portal_type=self.packing_list_line_portal_type, - reference='ccc', - int_index=4) - line_ddd = packing_list.newContent( - portal_type=self.packing_list_line_portal_type, - reference='ddd', - int_index=3) - self.tic() - # check it's possible to sort by reference - reference_result = packing_list.getMovementList(sort_on= - [('reference', 'descending')]) - self.assertEquals(reference_result, [line_ddd, line_ccc, - line_bbb_cell_bbb, line_bbb_cell_aaa, line_aaa]) - - # check it's possible to sort by int_index - int_index_result = packing_list.getMovementList(sort_on= - [('int_index', 'ascending')]) - self.assertEquals(int_index_result, [line_bbb_cell_aaa, line_bbb_cell_bbb, - line_aaa, line_ddd, line_ccc]) - - def test_subcontent_reindexing_container_line_cell(self): - """Tests, that indexation of Packing List are propagated to subobjects - during reindxation, for Container, Container Line and Container Cell""" - packing_list = self.portal.getDefaultModule( - self.packing_list_portal_type).newContent( - portal_type=self.packing_list_portal_type) - container = packing_list.newContent( - portal_type=self.container_portal_type) - container_line = container.newContent( - portal_type=self.container_line_portal_type) - container_cell = container_line.newContent( - portal_type=self.container_cell_portal_type) - self._testSubContentReindexing(container, [container_line, - container_cell]) - -class TestSolvingPackingList(TestPackingListMixin, ERP5TypeTestCase): - quiet = 0 - - def afterSetUp(self, quiet=1, run=1): - TestPackingListMixin.afterSetUp(self) - types_tool = self.portal.portal_types - solver_process_type_info = types_tool['Solver Process'] - self.original_allowed_content_types = solver_process_type_info.getTypeAllowedContentTypeList() - self.added_target_solver_list = [] - - def beforeTearDown(self, quiet=1, run=1): - self.portal.portal_rules.default_delivery_simulation_rule.default_quantity_tester.edit( - solver=()) - solver_process_type_info = self.portal.portal_types['Solver Process'] - solver_process_type_info.setTypeAllowedContentTypeList(self.original_allowed_content_types) - self.portal.portal_solvers.manage_delObjects(self.added_target_solver_list) - self.tic() - super(TestSolvingPackingList, self).beforeTearDown() - - @UnrestrictedMethod - def _setUpTargetSolver(self, solver_id, solver_class, tested_property_list): - solver_tool = self.portal.portal_solvers - solver = solver_tool.newContent( - portal_type='Solver Type', - id=solver_id, - tested_property_list=tested_property_list, - automatic_solver=1, - type_factory_method_id='add%s' % solver_class, - type_group_list=('target_solver',), - ) - solver.setCriterion(property='portal_type', - identity=['Simulation Movement',]) - solver.setCriterionProperty('portal_type') - solver_process_type_info = self.portal.portal_types['Solver Process'] - solver_process_type_info.setTypeAllowedContentTypeList( - solver_process_type_info.getTypeAllowedContentTypeList() + - [solver_id] - ) - (default_chain, chain_dict) = getChainByType(self.portal) - chain_dict['chain_%s' % solver_id] = 'solver_workflow' - self.portal.portal_workflow.manage_changeWorkflows(default_chain, - props=chain_dict) - self.portal.portal_caches.clearAllCache() - self.added_target_solver_list.append(solver_id) - - def stepSetUpAutomaticQuantityAcceptSolver(self, sequence=None, sequence_list=None): - self._setUpTargetSolver('Automatic Quantity Accept Solver', - 'AcceptSolver', ('quantity',)) - self.portal.portal_rules.default_delivery_simulation_rule.default_quantity_tester.edit( - solver=('portal_solvers/Automatic Quantity Accept Solver',)) - - def stepSetUpAutomaticQuantityAdoptSolver(self, sequence=None, sequence_list=None): - self._setUpTargetSolver('Automatic Quantity Adopt Solver', - 'AdoptSolver', ('quantity',)) - self.portal.portal_rules.default_delivery_simulation_rule.default_quantity_tester.edit( - solver=('portal_solvers/Automatic Quantity Adopt Solver',)) - - def stepSetUpMovementSplitSolver(self, sequence=None, sequence_list=None): - self._setUpTargetSolver('Movement Split Solver', - 'MovementSplitSolver', ()) - - def stepSplitMovementWithVariatedResources(self, sequence=None, - sequence_list=None): - packing_list = sequence.get('packing_list') - simulation_movement_list = sum( - [x.getDeliveryRelatedValueList() for x in - packing_list.getMovementList()[:10]], []) - solver_process = self.portal.portal_solver_processes.newContent( - portal_type='Solver Process') - target_solver = solver_process.newContent( - portal_type='Movement Split Solver', - delivery_value_list=simulation_movement_list) - target_solver.solve() - - def stepCheckSplitMovementWithVariatedResources(self, sequence=None, - sequence_list=None): - packing_list = sequence.get('packing_list') - order = packing_list.getCausalityValue() - new_packing_list = filter(lambda x:x != packing_list, - order.getCausalityRelatedValueList( - portal_type=packing_list.getPortalType()))[0] - self.assertEquals(len(packing_list.getMovementList()), - len(order.getMovementList()) - 10) - self.assertEquals(len(new_packing_list.getMovementList()), 10) - - def test_01_PackingListDecreaseQuantity(self, quiet=quiet): - """ - Change the quantity on an delivery line, then - see if the packing list is solved automatically - with accept solver. - """ - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = """ - SetUpAutomaticQuantityAcceptSolver - """ + self.default_sequence + """ - DecreasePackingListLineQuantity - CheckPackingListIsCalculating - Tic - CheckPackingListIsSolved - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_02_PackingListDecreaseQuantity(self, quiet=quiet): - """ - Change the quantity on an delivery line, then - see if the packing list is solved automatically - with adopt solver. - """ - sequence_list = SequenceList() - - # Test with a simply order without cell - sequence_string = """ - SetUpAutomaticQuantityAdoptSolver - """ + self.default_sequence + """ - DecreasePackingListLineQuantity - CheckPackingListIsCalculating - Tic - CheckPackingListIsSolved - """ - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - - def test_09_AddContainersWithVariatedResources(self, quiet=quiet): - sequence_list = SequenceList() - - # Test with a order with cells - sequence_string = """ - SetUpMovementSplitSolver - """ + self.variated_default_sequence + """ - AddPackingListContainer - AddPackingListContainerLine - SetContainerLineSmallQuantity - CheckContainerLineSmallQuantity - CheckPackingListIsNotPacked - SetContainerFullQuantity - Tic - CheckPackingListIsPacked - SplitMovementWithVariatedResources - Tic - CheckSplitMovementWithVariatedResources - """ - # XXX Check if there is a new packing list created - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self, quiet=quiet) - -class TestPurchasePackingListMixin(TestPackingListMixin): - """Mixing class with steps to test purchase packing lists. - """ - order_portal_type = 'Purchase Order' - order_line_portal_type = 'Purchase Order Line' - order_cell_portal_type = 'Purchase Order Cell' - packing_list_portal_type = 'Purchase Packing List' - packing_list_line_portal_type = 'Purchase Packing List Line' - packing_list_cell_portal_type = 'Purchase Packing List Cell' - delivery_builder_id = 'purchase_packing_list_builder' - container_portal_type = None - container_line_portal_type = None - container_cell_portal_type = None - - # all steps related to packing and container does not apply on purchase - def ignored_step(self, **kw): - return - stepAddPackingListContainer = ignored_step - stepDefineNewPackingListContainer = ignored_step - stepAddPackingListContainerLine = ignored_step - stepSetContainerLineSmallQuantity = ignored_step - stepCheckContainerLineSmallQuantity = ignored_step - stepSetContainerLineFullQuantity = ignored_step - stepSetContainerFullQuantity = ignored_step - stepCheckPackingListIsNotPacked = ignored_step - stepCheckPackingListIsPacked = ignored_step - stepCheckNewPackingListIsPacked = ignored_step - - def test_subcontent_reindexing_packing_list_container_line_cell(self): - """No need to check Containers in Purchase Packing List""" - pass - - def test_subcontent_reindexing_container_line_cell(self): - """No need to check Containers in Purchase Packing List""" - pass - -class TestPurchasePackingList(TestPurchasePackingListMixin, TestPackingList): - """Tests for purchase packing list. - """ -def test_suite(): - suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(TestPackingList)) - suite.addTest(unittest.makeSuite(TestSolvingPackingList)) - suite.addTest(unittest.makeSuite(TestPurchasePackingList)) - return suite diff --git a/product/ERP5Legacy/tests/testLegacySimulationProduction.py b/product/ERP5Legacy/tests/testLegacySimulationProduction.py deleted file mode 100644 index 34cc37ffc9..0000000000 --- a/product/ERP5Legacy/tests/testLegacySimulationProduction.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# 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 advised 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 Products.ERP5Legacy.tests import testLegacySimulationPackingList - -test_suite_list = [] -from Products.ERP5.tests.testProductionOrder import * -test_suite_list.append(test_suite) -from Products.ERP5.tests.testProductionPackingList import * -test_suite_list.append(test_suite) - -from Products.ERP5Legacy.tests import Legacy_getBusinessTemplateList -Legacy_getBusinessTemplateList(TestProductionOrderMixin) - -def test_suite(): - suite = test_suite_list[0]() - for test_suite in test_suite_list[1:]: - suite.addTests(test_suite()) - return suite diff --git a/product/ERP5Legacy/tests/testLegacySimulationProductionApparel.py b/product/ERP5Legacy/tests/testLegacySimulationProductionApparel.py deleted file mode 100644 index 9da6bdcfec..0000000000 --- a/product/ERP5Legacy/tests/testLegacySimulationProductionApparel.py +++ /dev/null @@ -1,47 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# 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 advised 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. -# -############################################################################## - -import sys -from Products.ERP5Legacy.tests import testLegacySimulationProduction -sys.modules['Products.ERP5.tests.testProductionOrder'] = \ -sys.modules['Products.ERP5.tests.testProductionPackingList'] = \ - testLegacySimulationProduction - -test_suite_list = [] -from Products.ERP5.tests.testProductionOrderApparel import * -test_suite_list.append(test_suite) -from Products.ERP5.tests.testProductionPackingListApparel import * -test_suite_list.append(test_suite) - -from Products.ERP5Legacy.tests import Legacy_getBusinessTemplateList -Legacy_getBusinessTemplateList(TestProductionOrderApparelMixin) - -def test_suite(): - suite = test_suite_list[0]() - for test_suite in test_suite_list[1:]: - suite.addTests(test_suite()) - return suite diff --git a/product/ERP5Legacy/tests/testLegacySimulationRule.py b/product/ERP5Legacy/tests/testLegacySimulationRule.py deleted file mode 100644 index 7f30e83d22..0000000000 --- a/product/ERP5Legacy/tests/testLegacySimulationRule.py +++ /dev/null @@ -1,38 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved. -# Julien Muchembled <jm@nexedi.com> -# -# 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 advised 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 Products.ERP5Legacy.tests import testLegacySimulationOrder -from Products.ERP5.tests.testRule import * - -from Products.ERP5Legacy.tests import Legacy_getBusinessTemplateList -Legacy_getBusinessTemplateList(TestRuleMixin) - -# They are testing new feature on new simulation. -TestRule.test_070_direct_criteria_specification = None -TestRule.test_071_empty_rule_category_matching = None -TestRule.test_072_search_with_extra_catalog_keywords = None diff --git a/product/ERP5Legacy/tests/testLegacyTradeModelLine.py b/product/ERP5Legacy/tests/testLegacyTradeModelLine.py deleted file mode 100644 index 54e5152cfa..0000000000 --- a/product/ERP5Legacy/tests/testLegacyTradeModelLine.py +++ /dev/null @@ -1,153 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved. -# Julien Muchembled <jm@nexedi.com> -# -# 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. -# -############################################################################## - -import sys -from Products.ERP5Legacy.tests import testLegacyBPMCore -sys.modules['Products.ERP5.tests.testBPMCore'] = testLegacyBPMCore -from Products.ERP5.tests.testTradeModelLine import * -from Products.ERP5.tests.testTradeModelLinePurchase import * -from Products.ERP5.tests.testComplexTradeModelLineUseCase import * - -def test_suite(): - suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(TestTradeModelLineSale)) - suite.addTest(unittest.makeSuite(TestTradeModelLinePurchase)) - suite.addTest(unittest.makeSuite(TestComplexTradeModelLineUseCaseSale)) - suite.addTest(unittest.makeSuite(TestComplexTradeModelLineUseCasePurchase)) - return suite - -### -## TestTradeModelLine -## - -TestTradeModelLine.trade_model_path_portal_type = None -TestTradeModelLineMixin.business_link_portal_type = None - -for name in list(TestTradeModelLine.__dict__): - if '_NewSimulation_' in name: - delattr(TestTradeModelLine, name) - -TestTradeModelLine.buildInvoices = TestTradeModelLine.buildPackingLists = \ - lambda self: None - -def createBusinessProcess(self, *args, **kw): - business_process = super(TestTradeModelLine, self) \ - .createBusinessProcess(*args, **kw) - taxed = self.createBusinessState(business_process, reference='taxed') - invoiced = self.createBusinessState(business_process, reference='invoiced') - self.createBusinessPath(business_process, trade_phase='default/discount', - predecessor_value=invoiced, successor_value=taxed) - self.createBusinessPath(business_process, trade_phase='default/tax', - predecessor_value=invoiced, successor_value=taxed) - return business_process -TestTradeModelLine.createBusinessProcess = createBusinessProcess - -def checkWithoutBPM(self, order): - self.commit()# clear transactional cache - order.getSpecialiseValue()._setSpecialise(None) - self.checkAggregatedAmountList(order) - applied_rule_id = order.getCausalityRelatedId(portal_type='Applied Rule') - order.expand(applied_rule_id=applied_rule_id) - for line in order.getMovementList(): - simulation_movement_list, = self.getTradeModelSimulationMovementList(line) - self.assertFalse(simulation_movement_list) - self.abort() -TestTradeModelLine.checkWithoutBPM = checkWithoutBPM - -def checkModelLineOnDelivery(self, delivery): - self.commit()# clear transactional cache - delivery.newContent(portal_type='Trade Model Line', - price=0.5, - base_application='base_amount/discount', - base_contribution='base_amount/total_discount', - trade_phase='default/discount', - resource_value=self['service/discount'], - reference='total_dicount_2', - int_index=10) - discount_price = (3*4) * 0.5 - tax_price = (1*2) * 0.2 - total_tax_price = tax_price * 2 * 0.12 - self.getAggregatedAmountDict(delivery, - service_tax=dict(total_price=tax_price), - total_dicount_2=dict(total_price=discount_price), - service_tax_2=dict(total_price=tax_price), - tax_3=dict(total_price=total_tax_price), - total_discount=dict(total_price=(total_tax_price+discount_price) * 0.8)) - self.abort() -TestTradeModelLine.checkModelLineOnDelivery = checkModelLineOnDelivery - -def checkComposition(self, movement, specialise_value_list, type_count_dict): - composed = movement.asComposedDocument() - self.assertTrue(movement in composed._effective_model_list) - self.assertSameSet(composed.getSpecialiseValueList(), - specialise_value_list) - count = 0 - for portal_type, n in type_count_dict.iteritems(): - if portal_type: - count += n - self.assertEqual(n, len(composed.objectValues(portal_type=portal_type))) - self.assertTrue(count, len(composed.objectValues())) -TestTradeModelLine.checkComposition = checkComposition - -def checkTradeModelRuleSimulationExpand(self, delivery): - expected_result_dict = self[delivery.getPath()] - price_currency = self['price_currency'] - - # There is no 'specialise' on the packing list, deleting entire branches - # of the simulation tree. See also SimulationMovement.asComposedDocument - no_expand = 'packing_list' in self and 'invoice' not in self - - for line in delivery.getMovementList(): - simulation_movement_list, = \ - self.getTradeModelSimulationMovementList(line) - if no_expand: - self.assertFalse(simulation_movement_list) - continue - result_dict = dict((sm.getResourceValue().getUse(), sm) - for sm in simulation_movement_list) - self.assertEqual(len(simulation_movement_list), - len(result_dict)) - for use in 'discount', 'tax': - total_price = expected_result_dict[use].get(line.getId()) - if total_price: - sm = result_dict.pop(use) - self.assertEqual(str(sm.getTotalPrice()), str(total_price)) - self.assertEqual(1, len(sm.getCausalityValueList())) - self.assertEqual(1, len(sm.getCausalityValueList( - portal_type='Business Path'))) - self.assertEqual(0, len(sm.getCausalityValueList( - portal_type='Trade Model Line'))) - self.assertEqual(sm.getBaseApplicationList(), - ['base_amount/' + use]) - self.assertEqual(sm.getBaseContributionList(), - dict(discount=['base_amount/tax'], tax=[])[use]) - # Ignore SM that were created from empty amounts - self.assertEqual({}, dict(x for x in result_dict.iteritems() - if x[1].getQuantity())) -TestTradeModelLine.checkTradeModelRuleSimulationExpand = \ - checkTradeModelRuleSimulationExpand diff --git a/product/ERP5Legacy/tests/testLegacyTransformation.py b/product/ERP5Legacy/tests/testLegacyTransformation.py deleted file mode 100644 index 4ae5c830f2..0000000000 --- a/product/ERP5Legacy/tests/testLegacyTransformation.py +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved. -# Julien Muchembled <jm@nexedi.com> -# -# 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. -# -############################################################################## - -import sys -from Products.ERP5Legacy.tests import testLegacyProductionOrder -sys.modules['Products.ERP5.tests.testProductionOrder'] = \ - testLegacyProductionOrder -from Products.ERP5.tests.testTransformation import * - -from Products.ERP5Legacy.tests import Legacy_getBusinessTemplateList -Legacy_getBusinessTemplateList(TestTransformation) diff --git a/product/ERP5Legacy/tests/test_data/images/erp5_logo.bmp b/product/ERP5Legacy/tests/test_data/images/erp5_logo.bmp deleted file mode 100644 index 42fbbdf1aacdef2f297ffda45e4432a54655713b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 320122 zcmeI5=aU@AdB#U&f3U?IM8$I1<$uKGueMw+mtEzeOyyuPh^A!85-H{+F^HfTBoJYd zK>!2+0w6#HA`m&}OaO-*2oN~~q~B-m-rc^w?wOvQ*_)la=jz^?urt%?*H4G(>Hf!W zKD_TQBm6xqcE8v^d?AXi$o31--$s8S+em)D{e~zu9CrSF9z~u1IQ(30ssDxScU>$` zz*A_912RAc$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF86X2>fDDiUGC&5%02v?y zWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF86X2>fDDiUGC&5%02v?y zWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF86X2>fDDiUGC&5%02v?y zWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF86X2>fDDiUGC&5%02v?y zWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF86X2>fDDiUGC&5%02v?y zWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF86X2>fDDiUGC&5%02v?y zWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF86X2>fDDiUGC&5%02v?y zWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF86X2>fDDiUGC&5%02v?y zWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF86X2>fDDj<{=>lM{9_C- z1{ebsiGiZariui+^4^qm`z)hfm+SM`HMze(S)RDUy}{{Ic^E4k07<9Mi?j+yMd4l# z$OCD4EL3l<id$Liid>(^F3bIW(elIz?#+@0xHdF>(>U>JZQ)S&u?I>TQ2#t>DskiE zDv8G=rjznVTHXuQn@i&FEOt?@&tn(l{;FG^@Z;Vr@r`Rk(lU*QB$kr2)yJ-rbx+pl zGp8jj`i=fcSdqqN`a`RH9J%=OaqHthDPN^&#(D8ulAV*^)9kEVlf}-+^?B^H++QWj z6IR@tC2rHwN`FsE^E76By!rU_@$6#Xl}}t{y_vtTU)R-k6ixA8pU}Uqct(04?U1fW zbMOM5lr0ypt~}t%!>8mqE;}jbZTnQtx$K0T_t|mz&1av;Z%KAceowQba!sfmk!xxG zI0%hLT$h$E_&q6Y@tcneocHnM;t%I+R&ng&+LZ@fdBv5dG{5QA)^y}ctp_8&YJK&y z-quKQyE6JGeyx`!UHi~GXdTKu#I-9ekY-3rq%qPOynq{J&Sn|;{&1ijlIv_cDCcZD zAm?1RU(Wk%pZw;tz4DvSI^?%B+auS6+HSeF2-_vkDbtDwLuj1gx{eg{rJtVnr9IC3 zm~k;?v#7^5w>S>r-Yyq4|ESJuzEaIbep8J_K16<0UBuSbM&xB^;`QFpLUHHwBCRMt zi=S+*v+LE+K9nQSJiA;%Jfo~bS|EMwbakb@eGV)sXJ8Ioc61r|Mt-vM^T%?|ww-d$ zWjo}&ZQJEsR@)}`B-vK^U2Ti(t8JEj(>BSmX&dF(wheO5w)Jw(W$Wa8h^>|DinI_n zagEE*IA@0s$96p6*o-SP9<i@+jIGAKZj;g~YuelV=&_48n@b$q{JP4B4!I5n{#AQb zXQ8EbzOnO~sh6si*dlL27f*|w6@wO<c3zH==UZAQl;^jN{voV}nR<6k&YOn%GVF@j z88O76+9}ybS%h@3)5bp5vJmNs^aT$lCpJgQmu_9WCh@JmX<jh5W}Y$kHE(HtGxMV6 zRpeVW&Hp}4StHk~t(JY$R>`s2O4&DUg&f<qT+Z3HOwRdisr*)!`TT_Qb{KGMht-S= z>}x#f){IAuUu=Eppy{OPhOMTjrm?2EGGJ?~a$<6%`^s9<*5+5a)~(IInK!U+>ZjIu zQD?C8S(+xEmV1zop@XW0$ls<0)U~0gIu@QIZWL<G_)Yv!51SQcm*%PNU6E^Hm&6cv z&^;K+luyNM{Zp;et(IZfA}!6d*7Vn{%}Ekd_)Qtqt#Ybc<yrYw-j#pk1<fDWnt8~~ zTbk!I4{9DY^RDJ?Gyj_!v_ziovc+=Vv_*1k+Cn)t?ISsM*#bGAX7lBmqAblV{O<B6 z&Y9uCz8PNZoAH5tSG?hz#;+OYnhs{#XnJY-X?mJzY^J?3p_-|@C_msy*;3YYt1Rj^ zjbW2{%?G+Q^NLFo_lrLciXHNp>fsUj9r+ddry6)c_L0ZUyx%e%6n9G1KXE^g_Fb0y z)u4fhOBnR;gc#x%>7aH%_SN>^a^qih{QWoX{P^#_cE^ryeEHT*-?;16jj*rZb?b(@ zed(6<U-#J8zI4kv)4qD=Eo&Qg^O~>TdGngD+<EiruiSC-s!qFU<(KccX+><e-?aS8 zVs~}38<*X6`;E)KblZ(f#g=s0V%aXf^VS;|b=nOJ@4WSfk6?G)dc%U)Zn<Ip9X)NH zoP*7U-G0j#KaB0>FV4BWVY6j__H8$Rah72-Wnb+B+3&QQzBuEyMEmRMx82mRTW|X7 z_Y-WI{1$3c<yxPGKEvr3)4z@Vgm7wHbZ#|{u&u`*;<L*d@!S>nnigH@g0$(LZe8iA z=_^~LwOD7`g9C$$rC_Dg8XSSC*o3pM+;P*&P80rwL-5#X4NgsdvF~HOo*%mMhUS%c zi@YQDH($AJ3-Xka$28x$bnp|o4)ql^<X_Zfu82YZd>UBSi)QLt_C4ZGsrm>1h#%@< zl6_O_wG7bsz!veNrrL*igCP!~eQKr#s_tQn@@fB5KmDhd2R(XsL}MI~fnpeV`ltW= z2gzGzUb8h2brR%Ht*b!)&WUNBHuJjXe^V1;t*~{h*<*3Hbp12^F8)z1G{da%pmC#d zg{`fD=s!^X!xkENRLo41SpSe#<h~g08IO!dFktDQY9F>}^P<jY>K@v>7sWI`YyQ^! zZfZcGx~G~WZnu^GslRk9{<HN^<3{5OTa7=}LX;;O&#HyT<ea8Qtc9w7!=L?8G<o2o zm9+N;J{IM&x8#0WjyQN+?k&*<iQ6UF6meH=#B)E2+fh&78`u9dpJ}@nc@Oze+q&4E z7el_)e60CeHLoRlr@EqBalftgPyK0b#m^y{h;jwxi^e(h5NUvN2<dY0nR~za3d$_# zUoH)CX;5xWDKSr#nV;Ll?I~|P5#_Q$a(_QE)xT%&`{pZM`3rdr?Jndw^Zf?eXV5+9 z9ki}jbk5Wdb6?!Aoc@{qxA!$ZyS6A>P!~j;!_Ys7v_N@u<hlF5IiOSje%On3zsJO_ z@~m*3cWHks&#_!7x4!8qpHPQDUV8q4e|c5%7IY8w4dgu->Uwc~&(5!9AB(^Gl>XWA zDd9sIgSsHztDAQ6_YeN-Yjyqm^KYZcxlG#6f3C1qwEf@cw<xbnL3!5S%N5nXmmm7K zHzl7z>&(1{{CCaHo9%Ec{_4~Er*SOdgbt!Uh(5wt4`2P|zYkRXoAjsOMlCVX)JY{; zK26VCCKPdhh07F_hyA2nQT_Ylul{48<S%F+@>tx?)jZgaTk&JR&_6rwCETA4eB?ie zHuUci(LY*v9JHvs2rY+7EK^XPv0Uk1E)9S7hjIHCc?x;U&Ts8{++Xz%=^@%zgZ>SB z<_FQcZ$3<uI0)B2mKCjut7?`js(;8+?W%Pye^LLs^zV(|MDMoJ-jwH;YSi~K%edBP zW&4yt)W6Plv`b^#^_*G%oA}1BqiWi3#NXvvOUsOq@~G4@1!Wq`6~qDBP-siB{@1Q* z*VA7O{ri6O&g=iz%_homxh8u2dWlxq@}Q`4th_P><yqCr73yDw>wiy+{=N3A3?^Fn zS`M?c*4Ey>d|Ymsf-<edG6in;(Q<|QS6%(9iT+La<1aJlUly(8wc%w;jxq)15zCd* z+AP$+>gyjgkXC#ggzF#6iq^zc>&um4&wQW#e=?S^N`Kn_hx*_6SN}J&O^|y^wLgmc zrCRY?$?_*WPFtgu&6PpJBoFcZM@9ATsqaPO2mGR8ugZSEw(Mm=Gv$Zxo>I#clxd}w zDR4hr1KZ_V)FG&U)z!ao1AZR0+Qy3;<(i@Krr!6~e!nhLP^R|Xa)tU=;r>6V|BZX) zp%P8B_mv#h3)<c4vLVm&%Pmt-rm<Y9J^ek_|Ek*m_tbZzxBu`zJ?#}am&+cK`<u6N zHMz|4peVO<lqo2WSgr)OS87s+VEebK?O*8MgBi@Bl`j3{xt?VT;v`p@g8Q2<Q*dvU z$`y=*o;Kv^_&byK@psR1h5A?B_V3UqzZ;Ex`DbDemTGT{`?)NWhG)_H-nzE`mMfS; zaPibyw0-sb=)~c@(WMJ#qwCkNqe4-)%NH+1Cywlk_HADqZCNoVS~+`MG<)oTMj2CL zxkCM`xc<E)`scG)8=;T1=Hh_mim!d~;kZ9W2R_~qefHUBb)7RcFJ%Ap@x#&Tx$ned zpWW`XzFetE9}?TY)olL`eeyfen3o<1wmn-`MW;_3iB5iUFfNZjIk-DIx_@VMxMN#% zaQEhD|IYQ%-fe55JzG{ryEZM0c5hxD?{{on6`x1>y?@90nEQjfHbsYaZ;9_cvTuhx z=i>;^JASA`p1n8v^yq=uom0a2=@UnzvnM}^&Yn6RojZLZvt7G-CAxg+LUihrL-O4H z(ec9_v0Li*L*jSj#eF;0i9c6Idp56#c5mwRJHoSH&L8-AW9;7}d$)J_bx&Mhfj{BL zGoK!fcCK6GFH6iaCZIg|aQtiWGx2=H3*s1lL|h^)S1w=dvP;p`E3nJag|nyXX#xKt zJRL@O;&j+9;gNKT<A2ZA=*Zq3(Xj)FdkK%!u}&V-@Ej9unOJz)H+$?War}qqTj(_i z|IYP`qZuP!=#_Si*;c7Z8;bf@Vf}mY{%A~~9TlAlWwJkB2VKchp7^fCydoFQoi07D zH!hwodj3EmhIiH5R?U_AUiY@G&B>L^m*R3}+p2ldidk<*bKZVc=GcEcnlb!$(Yy(7 zM62dZh|5}(Y4*K1hOT2Ch34w(+1okjL!$mwSN}%8a9<Q^s1sd0e>Rn27nfz9yLRnr zTt{k!KdwriJ%8rYXq)t5g_b40>!3HNW46MdA<sm6^orCk&z(9Et&o1UhCij9@M3c| z{?%VbXHFhV3=?$m;|)vV_Z_}+!90&~`s)@>iR;34xR4ezN55Q1S!BBD+D99T`d3x` z`?hG`y_s#yi}%Izd7v$`V%At`GaXE1+vd}CtZmeb=g&wV__+w0a{c<X+|O0F(B_5C zqpuV7gISV4md+RzxB2v%knPcZJEJA<kBB}P`C>fp0P;j=`4Mv6rlm83!;CiX#-%f& z#nXmG3nmSWR?Zn0oj-dr_<n>JeHDwQ4vnTu{c3{D1r&!z+5@8lt)Y)e?T82Bwz@BV z(f&sLF6>#|-NCnT=vT3yef`=siI4G3Ju{0xsDIUc|1so=Z%3nk|I^$yR^Gpc)LBq2 zZ&>txv}lUtw_(r6<7dZ+9*z3_y$N=o<jJ4K<D`*4C%*A;ypHCS!B55gJqzC(9Ic%{ zIoh#qVRTsfv(89Aq5b|4c>{fxE_d+m`;gpc=O5QG`p=Lznkh3v?tzB6+;yEppCiVH z*w4j0Q)fO+u50P@*36$&sCFmmyN{2P(kF{Cs7d#R{I+rF2hO;IzGLi9$TPZKBW3*P z0Hgj@T>pOe-_fW{CVKh1p0;@EFeiVS*RVafYjbX`4bkiOYtQ!RKZ7Rt?p-)#NUGoA zf7Ew<&&Yco>!qRHX~vgtAKLe}j8k^$InHfbHY@cxXm8@%8{adEKEK)FC)8hE8g6TP z=<(K-bDZJE`!%##LZ6d-UHASX>R+|>Z=`5n5jIigWB27(J&(TWBHRjj2I`pVF1F{- zob<YlZ|TizUHfRCqfO{@J6jpjz05(K5@X+7?%L<jFEC}$lRe8IqaKg3CH8&xG2F|m z*;(%YX!4*Qep>dy=tBK~`WyNu?6Bf^{i10pZY8xr{J)_M#r{7;d3F9Iz2f!Xkai=V z|4Ct%)?XLvUxDtW`5ohBBvoQVpJLMW7*C?ty0#eK;?uso=eMn%m*}?XAJkRT+`~GR z<~^?cj;*UxpOfZJmf!JC+w=$Gd!)1@(w>pETtR;z#sQgbVIO@Wvqt}+XSv~M%XDks z80Csf@2P(kuKzuLPc-7W9~WjAyI^x?9z*}??maK=w%9NxOx?$O%~A5Mr{U&LWWQnf z?m(|~ZSjuBygo@wv-~#y-9IO~Yx)H`8S-q*wQt_%+TShXGee$L<TV&OpngG{G)?=O z{e9j$Z`R#W_pn79V4Td^(Cl+v_fh|<tAB$<|As&Jqi!}rj+?bh2Hz%ky5FgP%|AcP zUkyE9B;Qr3+t{LBRM%fi_wjDVyw={wxNP6O&7Mb{2;X+uZn=&zJ{k3rRJWu|!TbfT zXPD>kzNk?a6j>HE$`rG_z&^%gs~_+koBcbEi_%++b62;_Eymv$<p!QZ{j0eC$@=wJ z!?XxP`D(Ie?;qH;F^4;%)6Zrztkq=tVfL6;yw6B`XNqq{hFfJtmSbDH(XKmwXiqo) znSM3*QLbQ(5BnLu<1sJYpZZ*kMfTnAKHn%;QZ?8rTlD(%3#Zoog?7B2Z^d@Oq_^sB znQ@7Il#7|&^t4rmJaG^E|0+8F)!@hfD_*}8Yq;dG;c`FB>~FJ~!!gQ#y|%tBNPB(y zZH~KLI(?+*pIhtkPSxdSJ%{hleD^kU9`zr6cG4E@cD#4a;s)AjNzcS@Tb9r6dS<pV zC2JXEUT?ma!TbgBZ#l}8;fZaPA4jK;A92P*XI;LScE}KEL-G9wqPaSM`u=0^W1@dD zf4A2%>SBog<<Z$@?%gfl@=D6Ywn4t<@;xI&|9tmmJwJEC>vcb=-+bG3A5H05W^|P| z^)kddM!U@SJU!pgKX-YMMQ=l|9XH^iy1zbpZ%`&p4|T)5Zq<hq>h5W{b&GK~=C#f4 zqYsJthiI<OpQ(SCzq=^I90d{!UPJv4Zh7^#1;3eXE@+|8?Ni4OdHszrq5kK)H_Lg9 zwYhxpe4<+#hv+XI_RJ5xn(fnF^rPuBeA~@Z|MT77%JZ1N0)E1`y{&Wy&z>^q32!{? zSo=}ta;0A07;OmZUxoYsr2dEb%Zjof{VUMD9{!fO$T1(eX{cwY24Ef)^EY!pUH`Uv z?`=FMxhxqb{g=lM?5g`m{pH$1C-B`%ma<887=2r=XPW0WFP~M2o~xUoTYQg!cN2I= z8+uRhb&mE5zNa+9t@{|OfboKPH5h$Jtp6d3tMjMzzd?_EE5iI0sU~xr4Gpk#{o5c~ z``uo(k<xGdu6z>)L*2{gKIX=f6!hBR4$;4y+P%s1jh5~1b(yPS+K^|Oc5j5}to=;; z7~f+AhsP>Y8hYQotO+}hG9v4J$>mB?8G$)F?6B+c(itOz%9kYlMIRFN4^dp5zwY|? z9nrsHEKUFR@7z$BTgCXfq5Y})C*KICmJ<nO3HtkmkRZdn3?b!>Ps>M0`z+0^&C6zb z%L3nXi$5<qn6petyC3hod~t#IAZhof{Z9R>Zu@u8qu+|hFJTN*5f-9<A?^$n|KzeJ z^gK-enky%;eg(ci@#RDFJnAcXwSBns8Jf>@?QatO%j=H+{zkcyr_5;jUZbrtXWXma zxWM;HHEA>3Wla{HA1rMs*8dR2)%mN}{~o<N!u$JRld(=1@8q+h^e;psi@qjJ|1d{P zGj0x*`VGbo3LUA2IchK_q#1Y2dxkyzgH*TB7SCM9G*PbjHL|&~B<u604tXjuF7Ulv z)@Pd6qYsJthbXSjpQ(T7zs+y=$TRMV=bn;S@bZTFk#Swo7OdY1TA!|eTf)l;!yU}` zl@urX8~Wohca^VfNj~4b{vN7-re^lleXPB%aqQY+9>_dlM;nUzS7H5=@(Xo%w~01N z|8A&Z?mZV{dM?(#49^R7*Lz(CZO1%x>QC49(4H-s%ZZtzUJPE}2k%3BmP5^z6?h-u z3WIqL^W~+LLq(J;r9MO2Di|YehTGo995nv2rF*&J(n;!HmHYqhma+@wS4Kmf-(ey8 z=ejS?IplSW5r$#Sppa*|v>t6wJ8ziBvHp3>iJs*L=CSvUy)d7PeT+r+YIqan1^Vo5 zH|*n$OGN*gcy@eGhH|B+rWeuP2!F=#=aTzE@f}WDIgs>wSKSYFz?#HyW&R@hX01r8 zOu)sXX8YGjKdr|%y*0lz6K8tlL412&q<eT4-YuwG+t(~;`uVB)Cu`NE`@ORqL4G;h z5w?cMF<JKx^@_L*a+E0{dTw8X{(OxS-*)4Y89`-*{p_S;SGm%==X$nPCcXJcVq9QM ze$(ZElph8YHHquW{1vHvcvhAEB+cUa|BSRV)3NFOGW5?J<G*#~hfVvv82v+i`tG<c zDm*0SJN%CMps*fE(dmHx`84-q{S&_y?RIOPm$7|fv}dq>TvA-1PbNvzQ-5p3VNKkr z%pdiyc=pTCKlEP<bg|)`X0!RPDE*r;;`c#)ewfz)*EZ|lr2G1w{x#1k*5^__Tw8nx zmlT&7eyhpzEAvPFYn~||6J_Y1Ij=gt_4WBJ?R*jXhwrH_o^yY1B^jezK3qNT-KPDT z78dGXgKf<7WyigFjCt|X;xq8~nmo5Mf7HJQBZ29g%1Igehcylby4cp_(3HIThkh=s zKc{|4+M>@XZdWzhPN{L5C5@<m4Yu*kcT!p`komW>#BIX0HF2jhf7HJQBME7miH$P! z4_YG7#Re^GHY|Dd&zxsQ{o~r6lQl^&KUK5-47rc`*U9z=(!bzJ1M?i}>>+U)a7|5~ zTbV!VU-k75-%4PeYk@8{jO7a8)Ok%F{R^GX5Azzl_ts-h_nY;%>%OY#AI8Yw`)I5K z><Uj)=cGP<{BZJ`dYFf%sb{<E?X}8?A2JNbzZ9AF@w3wEe^>*1f{e%ST<==eB9gJG z7^{Z1qnAVZ4dXd*E!L!+`1-Ho`O81vute6g>Aq&i;%USD&v7$bzrI=hoAjqgBCKPp z8l1FU^8WC;d*1M-_%r0by!wanIAdS_nP~Onu`Vr=x$5Ulcq3l3{@piz6R!hWWcyv) zsOM$fHatHhjA_^S)<81TCr^3laK9$cuFN0xulMVJ0*6;8P>;KE>0&%)81E3UZ`SRS z?$zHGzBjn(ywi;SVcp(yr@L#g`o-Sv+PJi7zd7<+;<NJTpV^;ahrv9?d=8k)4{K?R zfAtrM{z>!yzU^!4Twre4X+xjM^*pRonf5LEg>$FlvNz3d8Gf%x{8Z+T`qy6iC*aic zK(qUK`m(d?ALh+Gab#bRpRq0!uFsH{a$Vc3{$UPytdrYJ{Og>iXv<~|=h_ADb#oKt z-kSN7;_uS3J`3aFu~u_h7%(qZ)@P?&UlTVg^GE&bd-~U#^*?;eBCrP=>Kofu&yQxx zctz+_N?ywKd$an7b(Rn&lm!?Uhp{1;r+&rkw<C;~MxR5PwxADW@w8g}O<8Cd&2^E? zIEAK8AO3uD|43JV0p=)OJ$GW1wvIiXzkBoYT=DA(S52N>nLp}Z`{>_iQs+P)8roFo z1Hw8=s59X>v~Nwoi}LiZWv&0=n_aAl{)wz%34<=6?S^s9@Jo^*OdZm8)Hx44`KjqV z+N}PeUlwb}rTGVaxL8{#X--4T^N+e%+OzOGo~QAJ__OD11{0XCb^gRZMeo<1i?7G} zMM!UyDd<1EcJ)gA8Tu^OHeLfk`kX`jmGPRIxL27!>R<2cAI8UZzWcZ@UVjzypyONF z5YCXN(LO_-!uwXt-;Vl$09Us>{n=Ud&+BJ-Uo(EdFJeEU&UE5P$~(wo2ci!~z7P}# zUN^0GCe7+!==1eDyno01UOvr7AMX5#>ErA0{>v=qCd)eYc;^zTX(j_n`zUizPgMUG zyse4bmHDIo^}hZUJ^uk%zIOF$UH{4)|Cf}PCJ%g6>M8TO<#EX<b$??Y?;R$}8s|yR z3H`0N^iTaWYs?=K+nt!3N3Zp5&2^#Be#Uip7o4@9!H!oPU%qr9Zo~WBF6ews+^WnU z^{@K+2X4*$k>{JT!s>rkUChi|V_$wS!uR%)Nt}j$faNpCrfP-xOxJ#I>mU38jW_FX zb{O#;uFJ1_&iqcz{w8;l)CbXLm-KwwJshLY6-;34l)BTxZB5*)%pdiyZ|EQT<^{Ug zLh2bl{(D3J)a?cD4on=|6VFK}Z9=_1>$VL2gCEg9r)lBZCcU4+*iF3$b8)-EjB$w= z8-sVlyEiS14({F@zk|m&HRub$9F5RPFoAKIMUGK)`Nuj}6aQD{kNVd)^bccR1iIMr z%<0sd`iFdjHY2_VQNP<;jETe8a4U}m9haql@axCx7kk5m@L~;8SD2;_ZmiRR{zUXG zx~^;Eb2UlB%KTCP`iA~t4k>{yHoTK<Hh=WC{=uJV-_6<Wz|gRjsegDsl{AJBbv9Qx z@NP@f5!>m*o_Aj7y0=Zv)x_VG`J?{z4gEtOxj+{i#zHik7s}8-_;v5LHFf`MILs}+ zJIflTGW8FB-MMa2Q(-c{pUm?vD{FiebbU?ItulYqzrLY=qh!1q@(rv??O)Av_|DdR zhb<YXn|9#cW!8BC%GN&}M{S2ikC9dyeskNgbyYp=d$+B2USnS0X8Sb>UuFKNe|<y$ zipm3J)&JmsGv7-Fs%wDmXKe?Ut$*>nJn}AE{qNdN9@ujp9K5U5YcI%{=c3ZKm!4A- zzgOmu`bYgU^F^8Zhjr^D<9H3@KC+DAC|my!ulCq<JA4}#Pw$~`cD)gGV>6A~e7{y1 z@k3&8{;R^-GW&0A-f>*?_~#<?Lz()Axe;9PWuD9Oy?#6B-@#p*62pWsD|Y(f-H91y ztX*VZ)5ga&@q1<dsDG^gnR%&9{ewU7?XYAXui?8@)4xgk?Vx{{D<LU7_-({<KkgAG zbN&K+TbC5hHv6q6VXDj@^^f{z=AW|lFRi_Z_aLT!llI#||F*B0pQ?Wo9dn%?*}J2D z-{FpJ!C_8{k6!w%RvGaVk5d1re`dZYTmO#kYvg<2>9Wv1z;@6-yuWpY!8|u})Qdgz z4d1@#HR$(jW<EhPU3+oACjPF>AN8;A>L2Dsm@)i!bqmP@W$WMR6G!U#UNVt$|J^qq z?x7d1u(gB!9o@In83r?KuJ7S6?~8d&QS;%u;;G<sHSu?4{-}R_SO3ti5)kW#dA8D6 zFI)f2elOGS=03g=OA7~nZwLJgSqB;4zu4iynj>bIT^ecM(<a9?@ponZsDJ%O|FBL+ zS{^A=|HcjYdAB?-naFt@I-h9S`e%NV;|mMUyVm(YS!K>AnCF|Gv@|dH_nL&MGJn*+ z{-b~Iyp}$%UYYubd0Qppq*~~F2xaRZ=DG?A4|Lz9L1te7-V3>|X~T21%7`BlhvWYW z=gMA>(#`|DHU7_T|6;E6wEU8`uEn9<TT-8q=7#TgUH{RJFY_2{0{HH?&*MFbd9Q0f z&$oiMd*(5;7k+iQX`b_a1BYi}4lBJDb0W5I&gS4aHN)uHuZf>4^GE$FzW$fA9)y6= zYvZ47{aZA3Xe#Gv+TAMs3t6WYakpvd%+xSwz8v$?19knty)J8&{)N_MvF4ll*WO}n z5!27EcCvj>8ywff&z1S3{uQr(S1(`c#;w56?YOt<f0+BybbITnx!$~{`R3yJv)%47 z@5g>C^l$VF_x4!B-F8=x->*HJ8U_su=GfEweA`y&AKp)6%@3cOdLHv*Va+4;uf4?@ zd3r6jtLMHGA+FH>iL!0VpeN$_u`q`s=EuQ1lBF|7MyuwGkJiqg9Iwp;9mYKR3nsl4 z%^m-GJl`V51WX<BRD|_K&?kcDjeg<2qShv@iC-)8NBt{a|Ik(u0KC>)`e)avu(pJq z$L!;@xz&r-KdiHc_2ZJ_OMlBc4*0#d9!q_0(fWruYOqe5`Z;O4e&N)_^uTw&N%t51 z8|L5f^+np8BplboUzPcz{uQf#@4WV_RAzfa|FD)A=1UO}>xOm2&@bg<H{|_mk@`1f z@RQN0<A>}1GyQ7sW6os6t<UeS^C4}}BJ~gJ_g*}ICMZ03&y<uF8lJT80quCodyI8i z)a@p>HSt4b{-}S&>L1o(mBdf9R_PzcOrXt+_Ri@ON1c9{KI}O!-}abWS2&8$KeS7? zuKcju_zss_<~dypElZwEn|lDyFGBy&4o#c8%M8nzPmcx9Wr(#>&3k)efA-h`UPc1q zzb1aH%pdiyIQ>K0C!{`uGQDH#>S+C<X>p$o`n9236JP&zye<U#W6<_Np9~E3GW027 z-0uf6&pqY?!FnIiTI64p*&**51<J_R=7O6+ewXiWu`W0Im}ZW8DZ)DjZ=R4kD8?M3 zo`<$L?g{xG0{&FP7`R1KJJ*5qx+CvO?cXp@Oj<t#+`#)D%+rjzBIcUMJhJw)^cZV2 zBaP7qiT*UKKa{qvv4%spsP~Ny7>B8D;(d?a+gn@ANfR<wUj1loYvRw!{89gU<{c|N zyX6OrJ%c8p4uiQXp+{J=YxA<1()LMycOX#oI?J}3Cl2q8`@6B0BGwFnhN3Q(_RiXV zj(Lo>DcXG)J9GTdp6JNl?Q#7xX<Z}pe&0UEhCpL|>4EVe&{y=~Lt{}cK$Al1eLgpF z9{mJZGZN(i#^hiw0%$^rp8B4PxIo#HRaZU|o%KDlmFIosq%SRu^EL5TW&Wst+4S%D z;f_*x6rlQzyU@}#G6(X|r@rgeKIFI1_Y7sm9o{LRzU*7?&Cm^JSkWf%t)q1P+O>GT zFw|k8)nF54&;FeoqCHzy#`Rj1ZCG<2b=+MWm&NUL^uM5tz_rkK)M2sKCdwPcDcUD{ zHm`8{C(Xa|d#y6!2QWDPIa4}Q|BBaP)QwPggig$oF&{&oxF;x0+ExFcAJCVDGKWDC z>sMmEc#L-$Kj0T}+ZoRcjiUg)3X1Ct&!PTRqyRu!l_6bYPB0fG%F&(c7sc;ax5=0~ z%vFSb8q8&mcEj2QlVz;d#JIl;-$0>n3GGbuW8obG`tp}d9}%C&?^xptW4q9H!`kKO z7ev1v+SGV9#_gdD-@ax+v}4`Ecx_qCtBJL*QBI?*k4^UR%|L9TCHNf%|7zKfe!`>s zcgD}b+;pfPY+g1ib`S2tebl`$_7>}B!|&)zgP%M7J}f?7K66a8a`w2`-xzC#a3lPP z2lyHO#rx+@e=e{45x=dN^>#cK4et%&zA))0%$g3k9&YT~xHLU2G(6(29Ui0!(q`F= zQ4zv~FeB_pKZFbMfi&0jKzt!w&}yvli?v2EhI#qSv2ptw{iw}^r4QXh{p-W}*M~Um z@A;JBcf2<$fN$y_^^bY0HF=Bi+WzrM{iFUdpSFKKWg4|6ji`UrKjy90<SoW)`^PKw zkNU@a+Wz^JY1EoDqW)3;n73M!w-~SOAFtFu>L2rI`{z@pQESqO`bYg^-fB(WV!XD0 zyi)(Df6S-tpHG=atw|&5AN7xUt2KFx@!J0JO8uk$F`u@7K4luUCXJ|n)Ia8}*5ob5 zYx~D5^^f|;eA@o`lxftOG@|}d|CqO0leZYJ?H{kyKk6UzY5V6>rcrCsi26tUW8P{_ z-eSDAf4oxvsDI3-?VnGXMy*LB>L2xwd8;*fi}Bk2@k;%p{xP4ne?DazwI+?If7Czb zt=8l%#%ue>EA@~1$9&rU`IKqYnl$Ry`d9RNntWbV_!^~*Q^qM7AOmE843GgbKnBPF z86X2>fDDiUGC&5%02v?yWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF z86X2>fDDiUGC&5%02v?yWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF z86X2>fDDiUGC&5%02v?yWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF z86X2>fDDiUGC&5%02v?yWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF z86X2>fDDiUGC&5%02v?yWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF z86X2>fDDiUGC&5%02v?yWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF z86X2>fDDiUGC&5%02v?yWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF z86X2>fDDiUGC&5%02v?yWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF z86X2>fDDiUGC&5%02v?yWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF z86X2>fDDiUGC&5%02v?yWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF z86X2>fDDiUGC&5%02v?yWPl8i0Wv@a$N(8217v^<kO4A42FL&zAOmE843GgbKnBPF U86X2>fDDiUGC&5%K+z2RKTz1e$N&HU diff --git a/product/ERP5Legacy/tests/test_data/images/erp5_logo.png b/product/ERP5Legacy/tests/test_data/images/erp5_logo.png deleted file mode 100644 index 7b74c1c6a1570e8317d361ed9e7e3149baf5e5bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12588 zcmdUWRa6{Nw`Sw+?he7-9fAZBB*87XBm{SdU<q!4;1b+}YvYZ(y9EiZjWtZ={&(hK zUS_TPHjARyDY~n=s?I)pf3o?ep{9g|PL2)&fw0~vzkUw_!N~yQ2UKKWR9st?0qmf- zy?LjAGKWY>49|+D^cD&N(SqK*meulFKFRX*BUGS(1lBEZONKJO_94N=RgjUbWe<T7 zAtskq6Zz_D%<9%!bStKm<zIG&1O??^(@!U?C&tV8xO5ypLQ;;`PS#H5j1u=B???9? zY;3HHC9d8sWswEZqK44Y2e&+*OPsm7_Vpe5wbSzjUV7~jhz@iy`CtzhijWJI(0m^* zi~psW_r?G}QIKuX-XmG}NK;EEtfJm>SLjWD1cojGh`JeuPME6QZP}O)e2lH^=FS^- zx~SkZ&Yi&noG>~~#8{7!l-Id60#-bMsigRQ9<sgytMC7u7w@|0E<*EX?qQJORrvW9 z7qz!1+@3l$&2O+wDAU)}kBd_|xe=7XC4{v+@LbPNkMWN$#p)X|(X)(GgJU@o)OD#2 z=PfLPyhbJcV&>a!68BS{*$R*Aa-go=M@KjdkOh|@Ty&-YRe2K?$YQj&{plXRo#(Hj zQ*;=OY>M2eP|wl#Pm)#b%>-I1#U1ZsogGIN+xFgdtg<62o|<J-xFbjz)RVInQc^;C zqI2J$3au~fI8txoITy+WqZE%qqEnUR3pMVVp+c+%g3059$iw|XoI@5g9NRyoxjB@B z=zlSnUM$0!HoxJ3Z%~W!mxF#*M-zW}v)lbW4JiQ+j7NB3{af$i$wpeHP|J&$!3MK~ zn14WkJFu3~sY-dgzYAMbsXyUD!V$xuFPfJuh_P4`q#<UNA{r<P;;VjnYq}~c7PB^@ zmj&*5)B!1i#6W`W{Cv^1U3_}`#+A7JQU9hG*tR$9ux2x27oKt#S98mij9>OqXj)xq zzpIw#@~2M<NFvz{kq?SsTbC0l6l&M#eX;$K67H{rQR_UR3F;c8c*t*VM=v!HOt-Ny z{oC}}oTS?>YT+U4;6fNh#IfHx&X?bW9H~Ji7>}U1K-+=&!R<@bn$p$9#JBtdHR`aD zX5oDh$b?E7ktJ&Qd@cPXk)EUpRmyKa#p^by|6r1j#S(0UDv0$_Li)WM@|@K^Co*?* zE8Z1L9K<FnP^r5G{UFAgMjCG<SLV-Mhw!v0RKg{(IHL)yf65C2zf`tR*CAzw2DkjW zm)#0Xk@HhI)$0}=_5IR56XW{ujz{?JuBKe_2?G{RBP;FtbsbNajnK<;y*k$5<ycu$ znj~jq8TNAT>)0oMHVQ>$sra#bfkS+e@A}Sc6bruV2xs*>r*E9uVfY&LskE10$;J=H z^QYVeiR@n<{4#Gh(pqMXukqMF4e0r_@1c-ckZ12>$wsB|?xkOixUA3Qdr(gbzOcA5 zkKW{<onqi+P}GaYtQ`(mReL`FxRh`tB6gM`tGKEn9>c*$l*Rqe_S!slDU2lVEl1zg z%wMmqGr<_!0Z|rlk;J^gT+C=(@8oh2$P^;Ya<Q`v)~pn!*DsJ8S!Hg%Dl@T7{Bd0N zJUH~WA0=)B33L}Q_EGN=vH=QumR#QH7Dq<c4tsowfwh|L#`wd5FmxQce`EQAKnT9> zef~`*Tz^?6#nWmXN5hBg-(_ODT|9?qpS~~=35qxu&BAJ1*=75!v>k-2MiGK;+G0&% zRSXVIJ<#|O;S+b8T=pxF=}D}-UfWK598JpmSZNQ+K3&y$!Av&FlRqfIY4?{0Y1SsA zj6C8DNQEhaHA_@j4dt!KBN78aFA{Fz278wIn?~NsKP9&xq)6SCknS!a(&zi*y>R8{ z&BA+KwvCJq$l09Lx6NE!<vq~PjVL$5XAR4JQjbG8d50S*hCG3Pe&kL+4<Iy|4~!I? z|4|S0sR;h&OZ3Cps4_t`x=qV6GfuxXpeZh^=~1(KtZ#9_riF>+O(o{0(w-1{iyJ=> z$e^y;5LfEkt<GL_aRgY$I5MbE?$j*wY;XT9`O%IE=?^2WUYO$;63Fjny8|1l61IZq z(>XGlEiwQZw=y9UCk1I}RzkftCY-md6c!m0l-7+mJ)UlRn;7)VW1Gb!{u-4s9iId~ z&GLXxy|W>qP?G!hYuMdk8ytw+|CyldCN_ot19b}mc?v$k`o~w~Iw|9kO9YTm34Anh zgq-vTD(+e%xpww`*<b7a#>v`qrof%bk9XBj;DI+}YSQ*%c0<D|MtUlGE@=}kOmqs} z$%UR$swvh-(Jl77FT5k*8gkqg??Kx96>J=LYGG(S7toDIQH~&)aC)isoX=80RNR*v z`{}9ic-Mz$|2rE0PgwqEP|H%0<xjCqPXV$361BA9`yw={qg;1-JUKFD;770eo7d0Y z$fHM@0v$OUp1c9mkagQ|oyymV256NAhfk<RaMTiB)V3S#tR7V35#y$E4eO{;bK#bi z<gDaG?-OSyDaQVV?5pxJNxDB%ZB;H2)%<Cuje2>S?0MR(3BNSE9riCq1|+G=bN;?V zZk@Moe^~^_uP|bPcy<DhYIkyyfHT<sTtQr0$%&wNa7O@f7=tM=0@wbUfGl`^UaS^N z=hnZE7@cL55W4>4cX{pPIbpi{i|lT<ZG&>c<$<+&ey86~I#0z$#zPT3n>2v4s%6&? zBxCjlDf`}w7X%@bT(~(QFA>&+k{xW9mTt5W+^yUOuHOEc^EnptBX>;|zuhppJJJEk z#H>dGx5a|4s%cP)07}+A<T*TgY2lCJ4X^rgRdc472dQg3mJDahvVb(z{h9OHs-sy8 zxcohxkeU+PlZbA#(8Nw1;0b47X_M=%hAc9mVWbnbJ<XOWWoQC+H%(c8HMAC0fD%S| z+eUEe_EKFkZ!s|i&#}==G9q-`eT%?S@Wb1AqD!OfZ6|*Ma+3b<9O?WTxAN}#p0PT9 z5NK!PN%40Moa8bBh}r+<BS^+7CU46!cXrGMZgcy}5Dw%)Ek<Qvp7~iab~i_UU#G=u zZ|95vOhn88<eQjoM3Bay6{)j7&6{VglXYyI4R0$w&R@{jo{2SIguTkekXm`Js5eIx zGnh}8VZNqyOJ=ppxjL+J!$D)daV>3}?_md+%sFp0*>?5nPC)ba;+u^b54${;g)BQ) z`-+?0tXBlW2(T~Q)R75E)~4&9cP5(*4gDTqj`4h=gvyD1r;@kb^rHX-D1DP2z7TmX z5hu?=wURjj<b8`4f-8aS4=U#2NCG{u2GM=NeJh$KOicIgo00`<AEUNLESrjXSVmo- za|EyBrPqWFDlr1z0PT*Y!-uxJbPU^2XSe<(@l)p!nYck`Y=-m}6EaDgX+5P-{mNG@ z_;jhxq|gC-PZ1g^UM;r<F$nKO^o5UFPSuy!IcMm-mW_ADXf)Dj*KD$Zg-2OaAPK%z zLpe*npN8EwMa+42is+VnWWa9jx#jkjc#H}wNyFJp0~W}%=P~MOKD#wRhAg6pY$zWZ z`g7?l#G|BSUY>bpQh)&oG|ATVji0xQ?J#n>G@lRDwSu#;HRvQuzmm0}CE)inTK<fy zlGj5ya0<TjY<{HHzSm(Q8d@fqhkq-c5KUP5_%LG=u6p~qVTqPRImv0-Y&-SkrslD) z#chMeDn+dQZ>FEq#qeFXZF)Am_{0uS1zXw#&feXTNa>xkt7WnhVU^dvCz%&dsNt`% z^Z7md8?WQFZKwR+JUdq(QHR*Jn=@I!lRt_YVG1%PxVb{C0y9}DAEEb+Py4N^UTXl! zkE#vr3=L1gm{U1B?>jLK;+X)ts7B=h+oteyrpcV`%Hj;QJ|=`LU#609@MVKKku@(d zD)9~|Mo>FlCL$v=Gk8=pxra(TS*-w$(vU@vaa6H`Tn5?VEfNH7Oh?4yxF%vQ2G270 z{F=0~D+f8d_>J$`038Qt%aN8rA-T_E4L4f@Yc|{93(4Yz>{I&I;$`0-^)msfHm}#S zF?jag@X8yfjElD{dGoSTU4q<O3yzB6t$*Ig(NJWUOlI@`UwQEVwL8oHx=AH+&Vc~y zdNCtBa@Tl44qqrCOZ4CvH(!koj!_wehA$IRLa_S{_Zv_EDGdGymFki~XO_XWcTHf4 zV>wYHMRc8VEbf430`zh1$aTk`N#B~NJJ<Xxh0`?)`Eyll++NBET}rgkOH$Bn=T!Eq z;Um<t`jw(|W?tz<?=6v~T@F&M2gp-9kNJL~1esp%>I29w0O?QH1;3ZY{O?>d^teG+ zjBjJHKsh9IKZ9iwW!##dUXID;T=icuB;;%RE~3TtyI$NxLFLMI!i})o;&v^Dh1v1V z2|3hXpCr<R&8&r{D8KRx+8OM$-%mivJD;6B^G8(W+Bv`Y(95$0Q_xg>L2#V-D#z7( z{LNz3!(0FG?qDd->*=fGnukFHzK3|6uSu5dJ16?>>K}$*8Y6o+xyt3#tjiu--x#>e z?l{ygJMCWU*E=ShG=5GuF|?~XJrUu#{=@x4gN8?Q$)8c0c?&%Z2ekLbR;RbyvKCm{ z*q@L#r3lU}HCbaq2)^mGyvvs&#l5_aJd&s?<}``=lW{w+t8cur=WV3!6_^LP0g%MZ zE0HNuk1uCwp^vK_!nwYWd#6VVV2A#RBTvY#{z<xUKfonQ{pZWR+<6<H+>7rxl7T=# zjZy=3S@c#7Fc~l3kyV~`ZEtwQgA`Rb8qy61Pg~&D#08+W)zf4=Fz``G45hr<L~B-r zrdJg_0JX3Gt`1w6x>e<qtNUM5*?Vk!`^wJ!cNcr-#PNs4-+V!8=$s0Yl&^=#tO}9? z#Ue%%)-loiTX-~6(ixtO=GY&YHj{jwVI?)i%yt^30AG-Fl|N8YGp;8$gyx+4ZrC=O zu2Q&mrR~t_=1sDs;|euPZO%F_yjBod|9Mn;V$ybI4Q)3!CQ!Z$J#R0#C%)`D(G_rj zBNWHiAH91m5M-El|G3Gz%5SGwNwxpEFZTM%qi)|8?$p~o9O6fBfe9dUr5EaxwNp#D zXvbx`?bxW&`!A1haUz*qTvvgORnhY8aeUu>2`EqBKoTg=kC;B62f+1pJ!J=q-`*@8 zEY%`WQ+ULzoC1J!8~8OJJ*s<>l5M|qrjDSEpb0!QTCXdB-2AOXfzQ7A+;rtE>CbUW zu5qmFz{|kgyp<MlM)?mFc~Q=Dc%*eKnvHS&ySf3eD1=3=&V=mi3d-%J$cXWAyJsFT zjxZJQr<f6+dJIx^UjEC0&eMG`udBWW^g?Q^^4V4<7UO7kVcmE+Xy03DPwXVIW4*4( zc5d7YDWD68+}^M(gUyYmx!Zzp%!6P$1fR{|rhTLsRh7i$m*6J+=Ix%?yQ8i*L#NV# z4wffRe`e1BKJ|4E{FC=C8*M2FQA6d!LvwD6tMkYo$=XL{sqtj3u1|Ho0&my~;Xf7b zl*hFfksZvkp=25Up&z;b`}eI~VcU}Cpq27`iA2x%=XC5aVAX{d*+3KEC7w><{r23= zpGYR+UTfMhndG#Lin{1L-kku&WAFJl>#jrw&-EveOa!rLnur6>dghI)3{)Q34RYfT z;LAoDk>Dj&;dz~H+7s_~ocid;1)g`)iLcK(1ooKIICauEbRgAB=yh{{mn?k+RQWuU z*iwhOoS*sC3f=>F2_<R{xvn308yOgs&mo5y{o4xVunVuia&(Xk{#2x~N^H*G&MQPD z`2(f^J_rRc4yDZkU-(WKQ|!KeWsSj!#w$yWVac4l<Pk>yFa*$-%ipiri%2OvX}Uej zn<AL7Qv{LID(9R1u?RfjuJ6#9wq5559`E#joKHbxWV}<bnWGxE0%D1paeB;+wr}(^ zd)YTzQ46xK;q=$gRjE`d%8zi<q~Yvy3rq({DV~QH;*~^je$>DxYzl_F;bvJp@z6O# zj2CrlnjC~H$$Xh}8W&Z`4mWkzH@d*R>w8OUf!X>!QD8uiA0W~~AP*2S$U|xvAv7MD zuA=d47h*uiOF3vT6TX<Zb?DQ&npH#E>}EG8`=T9s<-HdT+SzhKppHhF5QT|2AYe+I zr8T>@Rl0NgF`rpLd<PcTvD+W1Cm45AnzHl;(2hyZzK80*YVV>tbAz;<)-HeUobTw3 zg_9ty>%BN?Ms{s8!}JJhS-t4-63H-97e`(%DX-$4*D{dIM$^k2I3;|$K0=%3G+<B2 zf%`UW1~n{*0F{x2zTW)8EMR*OzAr26703IVx4&8=ab~b+x&>*vxZ*#W^fe3Q8gGtc zca2`PcbL5E4PB~`&!0phASJetjVjW(oWj+T(nS9qtGM|8DsKNxRR6~x!y;m~9=h_I zr4caSzMcYEYyM!70<ww?FP_jI1&7koyICg2AVf4;S$JjK{|w?m_`m?z7x4R6G0{AY zk$_<Q7n1$Rb#oV=YYogA_233_lSgvTd0bxYQd&}?w7f<B8T~cdV$(Ya1t%M&>neW4 zN?CP2chd-I)Vf^UzHSaZ>fh1Gh5r@GDL^y>TmEhO4r%OOPOmgel+&FX?^6e3>)AXU zfOccO3@dmHjW3$I&D|xGxOP76aJxPY|KYRMLI=bXCZaijCleapQnA2Av-r0*#N6{Q z3r}FLob~TF-8NUvQ}AxV!gvhr9ojI&8)XcB3za#qx1Na<1+)#E!CI<gkszYvycuJ$ zY#n&oVhClQFiWP%%xaf%HQ91CS@U#Q0rU(E;(zIEb-wr|;ligmorTo#zdzq1ke58Z zR^$(OIifk1a3dG=A$Ut1VXejbM_GNIo>TwpH6f>uhkfwrNk)|93hV_2c@A4;wv$5Y zaM(9H7V#<*vLKzTwZa~E%!&v!_D`@ivf*9}(l*4o!;5v^6qz_)t2siQKaq%*RKi&G z;ET<3J+eNSE+TX2*p{2Bq4sx#8!o$+x&`JBr<_BD-97F6Sq=={x#tq06UdDRh>eto zl3GrGNQ$At8cB*y%S-iY`vmMIc%`~4D4WW(c3EN-Ebhp(9(c@!BhJg&d)3vQ)Gy-o zn^g7rjv~w8kLh+Z9kqiZPA4XSE$LqDTjE|6${Wq^Zu}*Vi(obLkgTzBi;Y^jV{x6x zvxTRy&b8%jfH+<{T@B6j^7>qI<kW|*{XwJki}{UqJ7DQy+oY`5;!T5meGJGL*pEbu z8vniw2iykAk>p?P4H#zd^s?0>5y#28#gk#RU-!jSC`|FX>RypJw&|2WhqjB&`1@<_ z{{RKi1Z)IjwZ+l`&v=$m@O_ei^1JCE-duq5syPBF(98{)pv(>VF9Nc>BcBpSkVo6v z(lJ$xK|7$3ikRqy2zl#wug!;koMahK&aeNC4CLd_#q1&zXi?9S;vi7KQVoh?9TK3q zl*BRa3PjIYM;Yi%aiyt)U&bI@Ec|njar;`u>rCi=^=0kRbkWbpK*#;ALEFaJBTc8T zStuM_<par%I=K}pBy&#v=}s{!csF-B9BenW1lZYqV%Lm8XrWW~-KPxq&ffFi_zRuA z$ETj^OkmUW_+0~v9Q9dlm3n(qyBJC^#-Nx`lrz!;XCPv>(j)-Y<l5I!X5tn!NxPmV zAOe>u?JaQ%c9$9L0hhS4#~pD8JTWj&kh#wkQZLL9SKpAqeW2ly<xMl^=gZ``tAN}9 z;tPZWEA_^fJB_HuqW6^H^r+~NmDk%)n`Drp2$WtxZZdOi>36-$18rCv-^tds>En0? z3i(MX*2j#)9cvg@giNC(H%4_d6=q>i)2nhfWC_@XIlw6KyOcH9b_bQG<Q(~WEpM|v z&XlG6LmUn*?KZOlrghAA&3lPg&hlUf>f5t%!*5v;YLJQz=pPJdbFp4DGsZxND5N*$ zXuaC-*5bC07g+THy{hk~H_J&*|556TtsZU0psnc^cP^<LA0*-^=EaQ>*gvhSqL8BC zmaEY-b-wv1J?aA5{h@?64bV0TU|hEQTh_O~WAqxVz;PQ=#w&mr`U2$~ls1grmwuco z7VX>_Hfe?po17j+O*n=@!i{4}qvioDiBK>E50u+V1GJwUK5L6g8-|hU*_|tp=W?c_ zeDaqskLsHjW(&03>}$ONkHG|b^`9sJfPqX3Cyq?(IBpOQgG@xW-fuyv^g2#JMUvt@ zUp(KW3Td$J@+jPe7ipqzp7!3S0YLH>^Km)J8J2HVRfS5#1o2C3#98~a%{kpXP84D- z4(YG+=a7#HDL*(K=Hlar$r03uQu3`F2%6S*12;nUrC`B|-L-NyZkSR6Y*veA_N)Gc zFPZ0ly|k&$US_i~XbFmKSvYKdTqbF^Nf7s|W6bpMZzu*0eDp8X6Gne$s{hWPN?adI zQX-<6YS8-|4?Ml~m++myiXRc-L4Gs9V#GXG6N$;fBZYM8o`bR7*^QP9j>acvrpN2% z8@D?BDS+^iTYtZKuP;WO*=x;)5&>tk;~xCboW*ZvKY6Fh?Kd80hDYW}9rY_kbOyq> z_wFl!OduJPz`Ck-T4cO3pBYAY@3ClN9D~WnTu^LvZi{KUvSkaFMP{lqIv)uG0b`~4 zg~KHLASol73eOms-3*~h-Syt6mDK6g?`db_94>mht<`X6BaL@Q^UY=gmG5KXlWbHd zJPAf|eTrH_xqn5I5S{|;hsW*-*K>xvLLdKg`svFA<%V4{#RI)|`K^yo=D>yY?6WTI z)dScufvY4Seb#fo60=N@LYHQ;S~1A-1n+GDe3vxKc<3ymFG)!jij?6~TO7DleT{Rv z!X+T1&M9NMo)8OA=aoIqd^(|@UnljGYk5&<6C86BSgw!h#wX-SS0?;1nsq(5bT);< zG$^42#5WSy<$VE5`1c3RSC)xwc-{3I+9dASs$bW=wNHHZ0I;b1iI=<?Ir)e4`pm1- zqLq&^Pz#67b`;R2Q$VfK%-@d)$kZvFk~S@I8<v&mz18487OXd)Qg)d|(sald%Pj`U z>un&!r~5iuN3~WP&O@AvI~1W_WGV0IstV<1L8%^&X92#OYzMQ9G3txxEu;F2-TPbA z{u7>>&@Pj#_|%lWJWT)tQ#UY+=$9jJdf{*s;=I}siQ{hi`1HgwMBb!%1J@tD=(E{g zblCh$m4dNUTZ*hGc_cplmm(nDE$>-vg?Fx<FHU}zAdbgai=%S+seV_0@^Ozh1d9>V zBO9Wt`h1OMv3*B32u#UjXSCU3Lx=yW(L%B6Ylfw*1*o%q8ew0@`A8m%^n=i*MBW*p zUi->xJo5(OXgRKol!}Wl>8Dh)I3%8SRCVOGjd}{wi-dsuV}7+>p!c*A8+1zDam40k z|C7KY6O$Puz@&-b$b(uoSF1e5rJaB4Beh4yEoFbtNB<_amPU0F%)_&Tf94wRVfjlq zW%aa*aql{XVg(NK4(WFlb~8S4Au5+IQkMJPgCY=Odp<H0QHU&8^;+z^)B2<#5imnD zVI_HCiWtPhUMItJMVNvVfzYMJ)mI4e!%-y+)8*%A6Q7rHK;xZfJAn8PGFMFM9oJ_o z^?{s+KAzH+198R#=AgDeQ|@&AlNwhN(#c&$g^&awvPp<O8PvN3EKLJyl+*?ex>73* zw?RyZD-oT}L94zEM_f}Y(MWR3h_DiOL4I=Fb2>xbiD6yfx8V#rR=;{DK~Szz1ab4< z?Qz@eEbQ1FQ=W9^b1h!%EVh9nNu@QsWc-)cw4LM{A`67IluWndAP&W;4Oamg-`G7> z2V;E6m+fje`O|~ni|BG8sQ}bbmytuG#hBf#5gXfo=$ujUUt=%AMy9)YBzXPfJaJSR zgaCyrwR;y?lp-hx=N28(GLSYAQ)Tx~1g?JNWb_8<ZHK+VQHzRo9-8FNPCYb2VxU3y zMCGwE?%f-e`90*yDUL0s%Ir9ULZoW5Xi+tTEpLk+3|d#^lu1y~{M=u7jTH{!7Vx(N zC%&?E;mU7WT>=1GP#j2u51R5GQ!?ZqE?{(e8~<gL)en^GL_TmOF+(<%|Cu8)^sDO+ z3qBA(hzukS`l`w=hDA>_951Dai%R{3nyqognuTWr%2iWKVkxv{`=S$tzWH-Uv}a%Z zxJ&#D4pU;{0)*g&Og-w1N|H7c(|azl16MU4qqI!=@$<y$1n$7XOdNxsnIHTS!`|VX zFguc(cQA_yE<Cr>2*&EA=_Xk_dS<ZanhgjiRffm98Y{KipR?X38u|@`Kq4vFCb}+_ zB&+NapAY1emAo?_-s7c;Cs%u_JNU7;W?7>Taq^}%OXYQ2>uSmCCm%={QX~rjS`tzT zF6yNO^A=e`7s@^N?Z~4uw>55;B%_r2-DlTNlC{3b#mu`|FY?ntns{9x_#x2@!<JOG zeZ=&5f<^g|_%Md#_f_(ERkrA+ub}t1RrfrI>p4#7F=MPwLfoFj+57VAAso!`q<bJH z$}xh&2Cd-l+E8hOkXPC>3iN53hZ}G3y3!^P#0a_~Sex_E_43h-C6K1})2mS)@0gEo z?dg9m@CYd||HlFS|MWE)kN*z{ggg7M7a&rv>zCNBcjr3eC%~*PfE&%<W{ND~wSL~c zs5^==x0u$VQ2L{S``RLmkX9D=7YHqcRv8X(731L<fxAai21pxvJm3cZdl!*a1~7)- z1B?py23yoB`0Ia5ka^LO^g0<-R@!2juQ<9NjFoDx&g~ZMZ*!jk{6J|pv>d7$w{AOd z(SvWl<cXO9rTjW>8~X}Kz(bQ|DFC<O(dXd#S;=Eik$4#yiCs^;_)Uc_LZ>nm*c1z8 z5*1@IM+pT+R3L>U^$NdrvL@}Mw6((Hh$|Hn6~6)btL5GFq=Yzve`}*`q9RcvJb&6K zPZ|ec=<pa;0Az-ipOef*|L$vqE79DY^%65cUR16-4N8Ol+h0=rc5TUNuxFhwA4Tc* zC4=PFl~acTlbQcoQ7OGbhk|b=F(Dxz2~t~gW!qoWap!!3oi?g7^o)G_H}uhg3fEH< zFbIW-pIZeftFc@-d01t>8ErJN138{MH)Ad0ir4D&dr7fUVKM_ZJJpGyrG*CAVQ~EI zjq}xf=AT91dYRdmxsD0QB3&wy-$3w=&G|ru6<+_<zw(s#QP{{^lVu2A#CJ)tV)?i9 zul;rr9}NwKX7d@7QR7b0{A-|4eC>v{?c|SF{$jno{PbjV%PnGPLN$BBZh=zZdbHX+ zA5|KqV{!CMu;o)chD*-RE`0WN%|tjRXvn@Fm=WN#H0plWR8lWyl@OQ((*6^hH0YnX zGD`e;bVuK*3ZDPDiJF0Btn2HCy}WZH1r6x}$5uiD2p0CC=tkudb*i7VTNx=0hh7+9 z<nI723kp^-Qs?nP3`l^}LFoC>^NozB{^5|bb^xGDtG|PB;s04M%@ggy<w+Yg!(k~H zI^5=qJCc5uBAksIw+(-f2i~rlCc7AAiJAf{`AT>}x`G_U8;1K!WMMq}sqYedxT>f7 zB_}3+=<eis5^olbaCMy@JtDe^HwStGYK>o;fsrQ8!BY3m!<ha^&C4BGnW;PI1|%=z z2(%2eV`slg{MCLG^3RIy9_Ex?GY0%JEqo%klyN;9?+*K3Y7T=2&XTqa?z3;J%%!qK zrq4?*?*o2;zD4@55Y3@cfvqTR0bd!>eSw*~++-IzapaL_5Q6XEYx04n4bZX@7}9!; z0iuY;gBAQuLquOI9C$1X<svy;TtGov3SP_PtQI~L%?u>&5Np7kK59ffhW+H!saSK4 zM@;t#dM&>X%sku~4L3*dxM`X2A@7@mDQYS0V+&9HxZBg0@+Rt%I+D-8N~Bl2Zp-DY z|5Ui~XdOl5IHqq>Jv~d$!oLaoLjlbnP|bs$PLqEs%=fr!3kwGeATq-zrvK^&&^IOs zP#=dP!C#_;fqC)TY-ESWBpCB@URJ*;gD$kGeioP*KlgnxQV;|TIZCIyww+DZWUblw zpd@%k_$lUUwDh845p-4Na$RR|y|1_g(2@~wR=wg)`tj*bsYB(1nl&5qs(Z@D<6|7j z_Lx5SZt?S+N*qpEU|}i^@EkYmKh5_QG-=WN(?Ll+T>}T7I8qIPfV1XY)2r4YY4LHw zSv>^{ivz~&1>ljsKD!|qg=Mjp_E9I`Ed1farZN=!@hCW=qV!!S3|RdJ4d}>8WOF_Y zWjBhH+#KE63`l^Yf++EhE)m|o1aLW4d23Q14Tg&u-DQC;9p}0JEayX{lcxat4yY|0 zaEselc%J_M%*!o6R`wa)K)d%|tIFL#MvnkjwSWOLfaiF5{a`(>B~*{G<;8fq5G&kd zW~IRFX`|KnZX>6yWI7(cLcG<}HugRV^0>HiB2ghk!J$I|yjBQ_1B%jr$)3#KVd0B5 zM78Fln<JBj@A%Uyb@p-9!YpIZ$y4YL#8m70zpp8w*L-<#wqJD>Fk5%Cw)yoh&S3Fk zK;8g^p>Ci9<KFn*wPKS}3ij*?bWS1pJDBLSK4!>d?@txF^GA0czK6nw$t4?)#e;!` ztYK0pub)B<I0yBkW3S6s-`0<Q2>~1)jluq6838sX;4UcSs}ExUsnyGW;C<S5&2<7H zEgf2{g@(&zWNLo@2RJT+2BM?^9N8o5ZfUiulKGv(IB?wOryjtd?@67ALxhAqU&sRs z<f+|3R}bA^W@34Z+X9os-64!A@F|97;rYb#s2nh*DMhy0<QQ4_i6-J&@s`L~^PiV@ zt<3h=3wRyxtvNR8Q`u-(yY8G1w0JvBeq-xoU|E;fL2TTgpu!vdq?wYkqJ(_drEkdH zKBatBt8|%aap$-EWs4-geMgkqZP|U51B(Py5kS9olKGRBo!@_*s<@T$QHbe!7`bCA z8Ze8{TB7BBz7vzFB_;j}p0bop84qI1!khC!7%soj%=p-r>+kBR?g+S4&c90pj%&V; zl%4lQY#<w3NCMjbrbsxj<~8~mkw|I&;a*iXxy#<Gpe6IKOXjZEMV~N5w2i_6;R_(> zr0xu@4dN4`nA!u9?;seeJbO1w&5y0BJk5d7Acr#m_6r-&Q~jrFV<421rF<+l@q2o+ zfB5AkiE2Le9#A?pDuuU}e5;^G)__!1;|$dVz<sI914Wi5F{4lhl=>>|sFWS3Hbiml zZL|mEi_CU!?zZm}{`K)_dGT5=Y|Y%ks=HJV9op+DtO!}V9#n%()jL`b;L!i|C<L=! zonN(XI#M_S2GK_;X?%UVA+1PRQ@k`urAvhHHF_3;XgYg&`AuY6qp8b2#=EG-$xJpj zclOLAg+lyZ8?!?Fzg(>wRqL_94R4O2I4Y<F6~HGpe0uBuiB!i?GDvhpNU?hE2d+Bv zl<{?Fk;9^E1??ux_0QbaJ_5)P;bpRBi(Q7x#m-u@Dl-pI@y=oCV8ks~v!Y-H!Be6+ zABm@Nc+9p&VPs<uS(&B<BNr*;Yx_9e;+Ny80xaPdrv9Ybnu+@o^<OM@A(%;5Ov3it z-V+6M<z2{?Acnt4p?T<Jzi#vCqdstiGh=SCMxV{wL;ik2IR{8GTC-uJN@<rN&RT5c zW2{B`!jI>?;+!|b48#Szl&Xl`9$3z<Fvnrjx|P}&uVCdC74_h;@d7$-VY@|18Rmv2 z+{*phnoiy*#6r2)Q7s4?T*g?q>sIHI<(4q<zbk)Om&5F66s|g35zJjt1;9x4cqNb3 zxC<qx2#GinDzl^{M;SedOB`z=1bVVOf7THOc0ig?Wz{8~yN-u{O9~^|FpDpMkZnly z#6PdC<rLem1X2Py)kd%3t<RaDjHA<yN5zr{sCwPgwTnc^g)Aa<U_I0yf_^d8qfMvF z!}<l&q9lp#Ts&_58_=lY*Y=4*=gS(+j7`JfP#=@=O60m>(-qJBvpXtBG%G<KX$^7} z9EBeak614)v-iOvr&Db}(tNSu7bHN~Ty!k7NhDO=P2dEArWS|zAIWugKf6L`Jy{mQ z`Pkvb4G7T4kFi9G4JfEQJOkTeMjihakz;#F{q)q8`BZ`=uVLUybe6=2@BcVnDV*&h zdCk@YoFdQ5R*Xs>ssXRX+7WK}`dLWhY2|Ow=4L59xR)x0&uMi|ML}y{6>Qi+1^)7a z!X4LwmJaHW9U!Hq@xW3e{IQwU!fsZ#^3^&hc_Mh0&HL>zy+)+2$?OmeY}j`7I`y~0 zXSegq#f*3cmxJklQq^tma!HDn{0m``8N19tPrzrkaK%d0^{DR!eVAmEy|9lqJX=QI zF&pa%iiN0&LRPaxiux(o>S{1-`RbFH;0`e)w-qsNjG1hT;GfdfkVe}51r^O8gA~3h ztAwBFyC$^=B8{CdTTNib>nyn_i%*H<+_BW5^_CM&V2?Jc4<wb{TQfHDs-6sY^VJvF z!FUh2i#bPto+m?WdHIb_>Pijht2rM8SG_LVBtY$$I)*L*&4t5fI%-_M`QJ~LYI9+K z%e26&T;IefKt|H;vxvBc<f?LawYlnc*%EI|?YdOEy7wO}l`_?{S*<qWUg?~FDukzz z6vaFnH3szA6ix4e6W!aMITFv?T4}#l(hp!5mc)e8(-KKk&GRfoGoSJA%w7ruvl<PS zDbT7W??Q_5lYbySUz-ld*8sG3@}9sR#BeE5=Lt15bB>nfN|NQ;4`I_T&E#O~2d+YH zz*%|vRYFR32!PU!0?Z(}`?{#2E)N_+C!*iCf3qcP&C56nD7lN5XP{hnxy!B-wgI^O z?xZ?U!^i+BssB4*G*lhUARP`F3{9*AY$D!La&|2N$7vs$^61MYTiMYVgZa1Az%ip! zA+CDud)&Jb&VRFXD*M(Jj6<@i480at>^+{EJy3v7U#GW6@Bgbc4EaBeW^H-ye&qG= zT7y<_x@=zjW(RY!aSryQ$5M%LhcCt?<huZgv|KIgZ-ixW;d1z2pm7Vf+Y?u04&W z$}PI+N`~yaYeVpXV%zdgzYv?e0UtQv-@Ful;dir5U}$~W=(Gq+1Do@^4cr}Ln`m1E z{UkJnX$7gYa5yo2-o2u6rjTO%glV1@<gqW<-xVd6XSmW{6OjOP%r4eEqBfpL(}^X= zDLw1XlA3zhS1r>LnIgPkhKC8T$UW3_9u@Slb_4Yp(EYce|Di0Q-IhP<6YM2S4r&zj zSZrC1=%MlC9g5aiw};kIb8~f<+yxa=Byg-<$``m*id7nV7IAQ&kMGqVs-15@N4BC` z1)3$%myIUuEX=j|3GfwQdVCe8LOOOV-O}Sy6lF;nd<pWZ_b7Fmlg)b|yJi&)oRr-n zI#!vz#Q+7{#jJ_9+H7+M`v#_p`0vnz@o}xMjZZn4zb5h)1zUV3r2vUfTnW7oy7=JM z!<Pi7fi?_rSBypn+3+0*s5Dr#5Jt`5rfJ4h%p81p5o%1s6cY?01X+WKZ2;FGw&q;I zu{7?mj34QhhV64e|1qH&Lw%C(%7qXG$(c&Gk}*xZV#&&r<LJpxXlzN)nstikQMyt5 znohAM>H`aL@m9z8ft^(K_(CgQ?I4qmMw#!Ni~fbWMn69s4)r}<Y?6TvqOB>%q)|d> z^QU`IkC@IXzE=6zdER2DsP&4c6zKno+0H5ph6c#B6Ir}nfLGNB3VwDSkKTP9-ohb6 z9=h-scU5Hwr}P;C7M_TccO8qzSh=+a7bWANH(PG%<#2~uy;UsCFvk^7!FuW~Z5E2} ziTLenvafY<eo~?|bFm?6a-M=5^=kz*=3{HrQDJNI1(k&LtfTBvJCQr;V=lXWPrR_* zGck?kyjS5)gtD)OMcy;f*gb6XM(!}UK_bi`5#HR>cs>F%n-ei>sx6lRgbpR%W}a-~ zZ8TOx2s~mpMx#EySk}U%#XY---=n-?arN(&<P&OnuF@3p{NywRuB&LpRD`Cf?HE<~ zmxp=Nzo(GAlFX}x_}i|eHT9wwkdUh?4CHGe=do2Qrx?p?{P4?!K@3<GRe705RU=z< zg0P<D4{$MZ)Pq786c%KX&E<9Z{>N_a|KPxz>=%SAtdDz=uALu%e}4eIQBZqbC1)D) FzW{rj3!wl2 diff --git a/product/ERP5Legacy/tests/test_data/images/erp5_logo_small.png b/product/ERP5Legacy/tests/test_data/images/erp5_logo_small.png deleted file mode 100644 index 6578c361dcffba3d0ae3fa06cb45ab9100292879..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4414 zcmbtYcQ_kd)Q?p$irOQnt+lCHw3MPPMF~o+6s1;c@0hJ!yGX4nd4mS2ipE~i3aUn9 z6^YrHuTAjf{qy_x`<{ExInTX+{O)<4d&ciM$>wH8R~h*k0RX^N6JrBQiY=o^6z~c~ zOZdH*r5LIJOCx>2=V8z~<#5IIp^*XL^1oHqR-Hq+VemJ$3jhF^IQ|nVKoN|Wa!DU( zVroc_2hy{OGk}8aJ^=u1?Is3#R-x0IAHw`W*3sCG?St8mqibKEPi1e@D1O!C#<@&7 zG&$y@pr#hRO$>_<;13#4;;n9ugP~SF%lK(;L}R@M<{^tKT=wfL+fHZO=kYwk`2OQu zH~U8Mhhm<Ug`=}`=l>cVfpo^i((gAPM_D1OGJkIebsTNZ-#%lw4vhPMZ-M|_G2*RI z#9~u8V8lFogwZjK_(>|FN>p@^Q`brdDs1s*m@ydeo}KFTgO{#aB2?_+cjIV{+5We7 z-GUS{sPA?Q&(jo)u^3vYRx?T?7!9q<5jU-<jA42Nki(^^Pe6aCCJkg-4FCkL2>>8F z=nY<G!~J?|I09OWFz4cGyxGb3MNxt!wRddsAv?VXbGb3-Jl18OHF06@&CYURFl~=g zkIL-VXgam|FIN!J^Pbf}xR<0*N%)oiP86ZR7&IEn-jl_v6;9R|8%;&dXqCe&oWI%0 zvBQF82n>7-cCl=6w6=^+%|Ra<XA@sHbEK}=eEiz2QodNKF`pjWsrVQ1qao5oP~6w| zIFaqG#PePP0~!{LuPa=#OAcH2F>K+JGa7N7c|)%RN~QsXpX<R|f2J!}3o@-(yP80J zy3R%kCZgPrD{#xu2~oabq|+2F0LX0Aa6Tr64_M%|;&`PKc3FoG+iVPc&tRvgon@dc zB36={WyNWWrmacr5jCl|6}OdOsWI&CXg^?R*B&#YriE^n3YqxL$g(>|o<_^UZ1Qxu zDUd;{y8FzuY#IF`HASDEr**lYx?ND6zNm_-3g+}CE?aY(WD-~|ZUW)9ak-%jWtuw& zK#M13`$}~hzq4JI#8>a^maDA&6)>;_|H2N=nT>;UU4|Oz(0leZ7VEF50OHAzv8I~( za0?p8iwQp^US?uo1glxIN77?q%$YrUHNWQSZtK`<=CjP^a!d@cv4XlNHmMnxIGv(g z`>cU2#Ib{4sDK8rAQwQOKblQw8su5<m^r+j732q~hnH)$4e`d$d5t>q9}TQWm1BgB zMuOkb-4YX#(U_d}WOKfi-@7=r;`dTKUr~HRFDl}IaD}`nJQr^)8=G1{|0|m1LpxA} zmUr+Gt=8}Lp1#5JFc<nB3)&uwFF^+`M?6wH8~2(Qi>!y%_YNi;wa*vslaCLM{{8Hu zIb9^x`DC+Tbd)sGkkn}|9anBnTUQW?KR?R}-O4gWzy3~6GjteDkUR43ocwUc+~*f% z+V_6U1{mvfIqy-$okt7j$mquk_Ag(E0PaSNK+An|jc*!@yWxE%l@fW9C3Y12qSJUv z+gXPW_y$q#o?`j8CJB)?rCpci(w4uXC|;76(ph)^MX{EZPZ#T6Y`z2&&d;TOt_#ot zWZ^Xly?iXCURar#I}^2~LyQ<xR2+A*n8?eKBFZZR%GoA#yOn7MmQ~;#V{tAwa_m|W zi4RzmfXwHttd$Nu%Td_NaB8bn+P0Oo2$#gNn~+x^5bZRjS^o*be)N+zu>P0eQ?_IY zMc$M$kL%FGK^l#j(bOCsdE%^uFePu+_<)_lKrznbA?e*ATPm~XFNbkO8B%2AaL@{u zllAgRp1d`j_-$LvL#u45ReFlM!30_HCFm3`;4aC|jNR!eZC4fPYbnntvSMSzQa;~Z z7Ex<<d`|J?INoI(>>f@legmRVM5+-<=sekqW?y(@z(w75u~3=dgW|`So+e33mAnx3 z#2?XjCyAm5)e~&BHEZ^g@9Xy)Ct~TU=iH@-SxZY`@|3L8L7ve95N*Eb55X|fzeA_{ zumEa@35U`x*av3cr>ODzn6+`k{i{imdTYah9Us9snf1?bE1A|hR3@#)7#>Y2BYtQv z%WnCQ+pjMBgVxVG{W&|P4^Aq3n-&qDlG=Y9>0a_%w4qI#pflgxI{>Q=g7w|R1np~c z8ZC?Yn!DuuA?X0mK7zA!Tnrh>$_6x&(w6rt<T&zmDE_m(#p-M{`NHB!lq$i5??ZUC z8iaZ1!1}$DeXMddjfq{-9p0|Oj1oR4BiIw_r8E~4h@4ggy_D>u>bVsA-*VWVW+$d* zN2%M<pP7)G-d%UWADt_9(4gZ*NJtlH^63;!tjm8P%{KD4<0S&w-M1BOE5|*HS$r@X z)svS54r4U5*ge@*BX5`Vtg$lZ03Hr=Hq&JKwO=!_i<Om`MpneBT&b~+n-DGkMeI(g z3Zr04ggl>*JW$4Oa%*^lL+4m-sgFDNb!*{$z(5iIsy6!D_8A1*m#fE5N4XggZ0ozu zb#6Xg={EBHJs}QnypWT~W9yevj&m0`l9E)wlfF%5?Ff)=3{XL55AgTqAO(TPsbn2G z=yES0ifhF>FJ9@22>~56_qx`;f$fq!j~NaBZbU6hSJ0zY75>ap-V{m#%l4Yu2ng^s zRxHeiZ1t6oojj?35G_=F_0CDE(de>({;d+|jHeOA$1NO;OWcZXMIG_7l(a%;b@vkY zZg%nZObqhx?v{@oV}7%^XjCHu9IZ7=(A)X@p^ez(PA8pU^^29&nMKwl6DUN2|8d!} zu}pSK_Sd+^if++YQ7Ksoh}Y_1wcj77Nmo`sHPt!J{fYBJa+_(ziZiI@l`wD!1DF#l zLP;NcUce74x`_sgAna6zW8mqPSA@vs^&OX#lcv0PTy)6Rxwv!e%%k)D)A-{zmyyB> zx<Pk}4)|1rnrT?0B6PmC{}++qxE>`k*6%3u?_&b<<sq3^|KJmYIhd0iI3v_b#?h?1 zvH`X*L2^$OPW+c}y$45a9hao+&o4E@xuu3f(w|=Da&gV*YC~6>y@vxu>YgPzbzovF z`8~(4(%iM68xA>KHr)Z`;3@TIV@N0Im2E$7Nz|HJPd)yNh<PA!wI<*hTANLAT)5!Y zB(64z=s-$hxL-kJzg{-P8oBo|J_+JmEf{lge!E}r&}wW<SaHK957VSN%Gl!f1;8Xh zE%WEY_TS$txWW>TB9&CA8wkR@9d!}pn1u<AzWOyXB>qtF!L?!8hSav;3J2t!Tn~Ls zTRrtv5){^uP3A1t5RQJOOzargf6lxh86DFA@pFvYIV6G04=fc9qk=v=@6>jxDE2#h z3!6qKrNTU2+Ai2M6hKJC+ZG=xO^=USDl%?c1(_S~TLy<hhn_B-rS`HPpZG=78>+e! zSldHXibx2?>1$Adq|rt?_>A71XH}t6fVwZ!0N)Rk7Cez{O@KK)`!Jvd=q~-<d@6%W z&LQnDj73IU9<ykB;lssJQ#V+k&NS`Yw9sPY_h!a(aJTe;xs}qh!v0WG<LbE6?BLGu z8rjF#`BBmvSs6*>qm@k42I`aXzes<5H;e<R%Qjj+{kXubuOuRrBYI!zh+ppd;NwL7 z$!wJj*60{&><FLHoxe40p@cv7``bBTrxEjCRGOfDc>wpV?aO^VSugmNvAz$R?}(OI zK^B>O+{l-3`wW<BTgfXZSE%Nyqgbza`Rfm!E9(r_X%mCPnMp;A`>a<5GL&*oKbh$A zlP_QY_Ta^x{9K!!7($bhWN=KbC@)%~1lOlLAs&82+w=|*?z-&!%^nq~7tS3do7Eee z!!x#u109d6->bq?ci*DGPrV^dCFhcG-3zdfRo(GkNC65%yEkY4<A#tNyKs{(U$R7f z5Y`c{DZ{1Ry8cww4>8CQ*H?*=Z2Hx0`|L+bn8V>U`}#tD_)0r!@kiinDM%~bKwk~^ z7*ku|Gi-ksmGC2I5_V%7Ctl9X{i8RQs)pP1o>zQVeR*}CC|^(WQ@OAp4V92~3@heP zXozFt39ENPGtP6T__mMmPf3wnOR~JzPg?xA`Ln=#8`Bg5K#~tUBF>Fu@J!eipHVM; zv@h1mx%MXOX_Nb~Tk~QD$%Y0%FrkCJQtY>|-Wn!7nj{bngKlkI5X8+K(cb9xZelmb z(Hu3?>N=sh9ihF==Ov>fVb^K6*R(r3Gl_)uxC=IkfNhq$grh@f06w7e0*r1vR2p%r zJmI!8en``pb@LmuoBZv3wMo~xl*A;Jyk&XqqXEg|EBD^^aTxz#<g|W~bM2Rz{aIx< zQ9r$zS=CX!_H<glv7*yA&wM$kco@-gkz%M3wW~ZGK?WKTdF!M$4npo=o%~K%ZlZLt z4pR=9t3quwm_tEBOYm-+{p8BC5Yo5hwKcxGHl=Dz{n{0gbd^;LzilFRk5>eC`|0W5 zN$<?Pf;^)u3HKMHP~*sW5%0Mco_k$DjZh^E(?NVs?hc*_Sx1Bk{^O7Ncla6V8-u-? zpJHUNMwT?<slQ%DYlf|e|3BEwm~hC^+Y3rJ-z|vo_xOHP3#YD@4<t?q%89vCdw}LU zNa3?+cav$S>!7|8nri>=>cG-Fz|>v~r_Daqnj-)6zkLg^#eu1Z_^)TFN+WNDm<`L| zuIB;@I$?psc6aNpWyg?T#{m2;x8AnH3X2>gjk%^PpXASY47~sIa{%N)ci&b#`JRQ9 zcy?p^^P-;x<{WJL&+{W5Dh&3sJsda@Q_#c|gr6VxWpG>NVY1%2;bpneAJh~T;riDV zL8AqQ98dtd_t#?eH(&iMJp2ik7V0A`NMW9v|K&%0qo+`-uawYqplQjxfn^tul)?fE zQn$8$^;3;JWaQI70#_RzHFdd3G7toqO@9=)5d|Cg(ouqKPrwX*r2X=`u{SBoJlrEl zy&ywA2NnT#6Fy4UW~S|4+Y;7)beWI-`BqBcll1d|HkN@DS@IMdi+$f6PzmNp>-FDo zSbb}F=<Uj%;;bvS)LCW!*xR?24OI&iYT?r6*yJu=<kQ$%f{YcjjwuSJj{M~*96Giy zl~BM1s_JVLi!k&_itOQ!TZiS>anqvjC-3p+R1HbGKdQ)rrPevKK(XB-saSi9@wBxY zChLAh@38N*8jJ_1?^2h!X5Xfh%OT@}&-FsfkTp1B9q$2G@qR_Jsm0dtuYx2h-orBo z0O;E>J7B3$_AY80fxZAZWcK8z8Tw2&v*#4DqOgR*rq3P;T^@I3mA&Z~sNT^!)0F|< zk~)4S-l%#4oi&L3=REiLee@m}@Cew&-WV4U;B1O%$uPIhzuB@+ez<mKGM5axhIn!? zTn}1Y_I()MFbKdm(hW;6g`fw0^sOxiQ<bUeaS`IS(b{n&q(D4i?7Z?qxIj0|_{Cyn zCR4lwcbGy7V2m(%U&rvz3toYHKG!3hIPpT8t<JJ-v}pt4>0gJ^3gtTA4}8_14wLNs zC2G9sG3-VdWVxfNEb$tdYLo;)hz@EV6|$FBFe(4$Px*(ftdQ##D$;@Hy88F=jh1S~ z6S@1e-khULr!I8l&ffVKGY~atI)fW2$3t9oydpSP;&+{@B3qTdB`rfFQ&j@r$gcXP z>Yv;xv%)R!hKAbnWOly(>-mL$HYFcuNcKwyTNv1OKerz`HT99P<Ms#NYQgi$JyLRo zK+=%oXRsGp$qemgxzYocJ+Kx*pbA{(CBh)lliRByKj;5618@!AxikjN_7|uwCs2kP O024zqgU|ZTasLAZOL_hP -- 2.30.9 From 275799fee81638c365e07303f7465421d7669cef Mon Sep 17 00:00:00 2001 From: Julien Muchembled <jm@nexedi.com> Date: Tue, 10 Apr 2012 15:13:19 +0200 Subject: [PATCH 06/10] CMFActivity: try to reserve older messages first (ORDER BY priority, date) This reverts commit 2a84df59cb18550a6b6502d80623d0bb04f20562 partially. With a good index, requests should be fast enough to avoid locks. Use following requests to update activity tables: ALTER TABLE message DROP KEY processing_node_date, ADD KEY processing_node_priority_date (processing_node, priority, date); ALTER TABLE message_queue DROP KEY processing_node_date, ADD KEY processing_node_priority_date (processing_node, priority, date); --- .../activity/SQLBase_reserveMessageList.zsql | 25 +++++++++++++------ .../activity/SQLDict_createMessageTable.zsql | 2 +- .../activity/SQLQueue_createMessageTable.zsql | 2 +- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/product/CMFActivity/skins/activity/SQLBase_reserveMessageList.zsql b/product/CMFActivity/skins/activity/SQLBase_reserveMessageList.zsql index 246921d333..1eadf9b804 100644 --- a/product/CMFActivity/skins/activity/SQLBase_reserveMessageList.zsql +++ b/product/CMFActivity/skins/activity/SQLBase_reserveMessageList.zsql @@ -25,15 +25,24 @@ WHERE </dtml-if> ORDER BY <dtml-comment> - Explanation of the order by: - - priority must be respected (it is a feature) - - when multiple nodes simultaneously try to fetch activities, they should not - be given the same set of lines as it would cause all minus one to wait for - a write lock (and be ultimately aborted), effectively serializing their - action (so breaking paralellism). - So we must force MySQL to update lines in a random order. + During normal operation, sorting by date (as 2nd criteria) is fairer + for users and reduce the probability to do the same work several times + (think of an object that is modified several times in a short period of time). + However, current implementation is not optimal when reindexing a whole site + with several mount points (to different ZEO servers), because modules may not + be processed in parallel. If you want to speed up ERP5Site_reindexAll, + consider: + - ordering by 'priority, RAND()' temporarily; + - or better, hack ERP5Site_reindexAll so that all reindex messages have + identical/random dates (hint: add optional parameter to Folder_reindexAll + and Folder_reindexObjectList in order to forward a date from + ERP5Site_reindexAll, e.g. current date would work if MySQL + shuffles enough lines with same priority/date). + - or even better, use NEO <http://www.neoppod.org/> + For higher concurrency than 10 or 20 nodes of activity, it might be required + to add a random start point to reduce the risk of MySQL locks. </dtml-comment> - priority, RAND() + priority, date LIMIT <dtml-sqlvar count type="int"> <dtml-var sql_delimiter> COMMIT diff --git a/product/CMFActivity/skins/activity/SQLDict_createMessageTable.zsql b/product/CMFActivity/skins/activity/SQLDict_createMessageTable.zsql index e3b973016b..3f65cb8129 100644 --- a/product/CMFActivity/skins/activity/SQLDict_createMessageTable.zsql +++ b/product/CMFActivity/skins/activity/SQLDict_createMessageTable.zsql @@ -29,7 +29,7 @@ CREATE TABLE `message` ( KEY (`active_process_uid`), KEY (`method_id`), KEY `processing_node_processing` (`processing_node`, `processing`), - KEY `processing_node_date` (`processing_node`, `date`), + KEY `processing_node_priority_date` (`processing_node`, `priority`, `date`), KEY `serialization_tag_processing_node` (`serialization_tag`, `processing_node`), KEY (`priority`), KEY (`tag`), diff --git a/product/CMFActivity/skins/activity/SQLQueue_createMessageTable.zsql b/product/CMFActivity/skins/activity/SQLQueue_createMessageTable.zsql index 3a9152ab1e..c359f76780 100644 --- a/product/CMFActivity/skins/activity/SQLQueue_createMessageTable.zsql +++ b/product/CMFActivity/skins/activity/SQLQueue_createMessageTable.zsql @@ -28,7 +28,7 @@ CREATE TABLE `message_queue` ( KEY (`active_process_uid`), KEY (`method_id`), KEY `processing_node_processing` (`processing_node`, `processing`), - KEY `processing_node_date` (`processing_node`, `date`), + KEY `processing_node_priority_date` (`processing_node`, `priority`, `date`), KEY `serialization_tag_processing_node` (`serialization_tag`, `processing_node`), KEY (`priority`), KEY (`tag`) -- 2.30.9 From a7d796a5732278738e1e76181034fd1c7c3a1a00 Mon Sep 17 00:00:00 2001 From: Julien Muchembled <jm@nexedi.com> Date: Fri, 27 Apr 2012 16:32:32 +0200 Subject: [PATCH 07/10] CMFActivity: new 'merge_parent=<path>' SQLDict parameter If specified, <path> must be the path of an ancestor and SQLDict will merge all similar messages under this path and process only the root message. This will be used in ERP5 simulation to drop 'expand' activities that are children of other 'expand' activities. Because it can be used with grouped messages, it may be interesting to used it for recursiveImmediateReindexObject. --- product/CMFActivity/Activity/SQLDict.py | 53 ++++++++++++--- .../SQLDict_selectChildMessageList.zsql | 22 +++++++ .../activity/SQLDict_selectParentMessage.zsql | 25 +++++++ product/CMFActivity/tests/testCMFActivity.py | 65 +++++++++++++++++++ 4 files changed, 157 insertions(+), 8 deletions(-) create mode 100644 product/CMFActivity/skins/activity/SQLDict_selectChildMessageList.zsql create mode 100644 product/CMFActivity/skins/activity/SQLDict_selectParentMessage.zsql diff --git a/product/CMFActivity/Activity/SQLDict.py b/product/CMFActivity/Activity/SQLDict.py index 807c5b6a75..3e2a56079e 100644 --- a/product/CMFActivity/Activity/SQLDict.py +++ b/product/CMFActivity/Activity/SQLDict.py @@ -132,16 +132,51 @@ class SQLDict(SQLBase): original_uid = path_and_method_id_dict.get(key) if original_uid is None: m = self.loadMessage(line.message, uid=uid, line=line) + merge_parent = m.activity_kw.get('merge_parent') try: - result = activity_tool.SQLDict_selectDuplicatedLineList( - path=path, - method_id=method_id, - group_method_id=line.group_method_id, - ) - uid_list = [x.uid for x in result] - if uid_list: + if merge_parent: + path_list = [] + while merge_parent != path: + path = path.rsplit('/', 1)[0] + assert path + original_uid = path_and_method_id_dict.get((path, method_id)) + if original_uid is not None: + return None, original_uid, [uid] + path_list.append(path) + uid_list = [] + if path_list: + result = activity_tool.SQLDict_selectParentMessage( + path=path_list, + method_id=method_id, + group_method_id=line.group_method_id, + processing_node=processing_node) + if result: # found a parent + # mark child as duplicate + uid_list.append(uid) + # switch to parent + line = result[0] + key = line.path, method_id + uid = line.uid + m = self.loadMessage(line.message, uid=uid, line=line) + # return unreserved similar children + result = activity_tool.SQLDict_selectChildMessageList( + path=line.path, + method_id=method_id, + group_method_id=line.group_method_id) + reserve_uid_list = [x.uid for x in result] + uid_list += reserve_uid_list + if not line.processing_node: + # reserve found parent + reserve_uid_list.append(uid) + else: + result = activity_tool.SQLDict_selectDuplicatedLineList( + path=path, + method_id=method_id, + group_method_id=line.group_method_id) + reserve_uid_list = uid_list = [x.uid for x in result] + if reserve_uid_list: activity_tool.SQLDict_reserveDuplicatedLineList( - processing_node=processing_node, uid=uid_list) + processing_node=processing_node, uid=reserve_uid_list) else: activity_tool.SQLDict_commit() # release locks except: @@ -152,6 +187,8 @@ class SQLDict(SQLBase): self._log(TRACE, 'Reserved duplicate messages: %r' % uid_list) path_and_method_id_dict[key] = uid return m, uid, uid_list + # We know that original_uid != uid because caller skips lines we returned + # earlier. return None, original_uid, [uid] return load diff --git a/product/CMFActivity/skins/activity/SQLDict_selectChildMessageList.zsql b/product/CMFActivity/skins/activity/SQLDict_selectChildMessageList.zsql new file mode 100644 index 0000000000..09d587e4e4 --- /dev/null +++ b/product/CMFActivity/skins/activity/SQLDict_selectChildMessageList.zsql @@ -0,0 +1,22 @@ +<dtml-comment> +title: +connection_id:cmf_activity_sql_connection +max_rows:0 +max_cache:0 +cache_time:0 +class_name: +class_file: +</dtml-comment> +<params> +path +method_id +group_method_id +</params> +SELECT uid FROM + message +WHERE + processing_node = 0 + AND path LIKE <dtml-sqlvar type="string" expr="path + '/%'"> + AND method_id = <dtml-sqlvar method_id type="string"> + AND group_method_id = <dtml-sqlvar group_method_id type="string"> +FOR UPDATE diff --git a/product/CMFActivity/skins/activity/SQLDict_selectParentMessage.zsql b/product/CMFActivity/skins/activity/SQLDict_selectParentMessage.zsql new file mode 100644 index 0000000000..a6a3b663bf --- /dev/null +++ b/product/CMFActivity/skins/activity/SQLDict_selectParentMessage.zsql @@ -0,0 +1,25 @@ +<dtml-comment> +title: +connection_id:cmf_activity_sql_connection +max_rows:0 +max_cache:0 +cache_time:0 +class_name: +class_file: +</dtml-comment> +<params> +path +method_id +group_method_id +processing_node +</params> +SELECT * FROM + message +WHERE + processing_node IN (0, <dtml-sqlvar processing_node type="int">) + AND <dtml-sqltest path type="string" multiple> + AND method_id = <dtml-sqlvar method_id type="string"> + AND group_method_id = <dtml-sqlvar group_method_id type="string"> +ORDER BY path +LIMIT 1 +FOR UPDATE diff --git a/product/CMFActivity/tests/testCMFActivity.py b/product/CMFActivity/tests/testCMFActivity.py index d3182c9a16..08343215a0 100644 --- a/product/CMFActivity/tests/testCMFActivity.py +++ b/product/CMFActivity/tests/testCMFActivity.py @@ -35,6 +35,7 @@ from Testing import ZopeTestCase from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase from Products.ERP5Type.tests.utils import DummyMailHost from Products.ERP5Type.TransactionalVariable import getTransactionalVariable +from Products.ERP5Type.Base import Base from Products.CMFActivity.ActiveObject import INVOKE_ERROR_STATE,\ VALIDATE_ERROR_STATE from Products.CMFActivity.Activity.Queue import VALIDATION_ERROR_DELAY @@ -3586,6 +3587,70 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor): activity_tool.__class__.invokeGroup = ActivityTool_invokeGroup self.assertEqual(invoked, [1]) + def test_mergeParent(self): + category_tool = self.portal.portal_categories + # Test data: c0 + # / \ + # c1 c2 + # / \ | + # c3 c4 c5 + c = [category_tool.newContent()] + for i in xrange(5): + c.append(c[i//2].newContent()) + transaction.commit() + self.tic() + def activate(i, priority=1, **kw): + kw.setdefault('merge_parent', c[0].getPath()) + c[i].activate(priority=priority, **kw).doSomething() + def check(*expected): + transaction.commit() + self.tic() + self.assertEquals(tuple(invoked), expected) + del invoked[:] + invoked = [] + def doSomething(self): + invoked.append(c.index(self)) + Base.doSomething = doSomething + try: + for t in (0, 1), (0, 4, 2), (1, 0, 5), (3, 2, 0): + for p, i in enumerate(t): + activate(i, p) + check(0) + activate(1, 0); activate(5, 1); check(1, 5) + activate(3, 0); activate(1, 1); check(1) + activate(2, 0); activate(1, 1); activate(4, 2); check(2, 1) + activate(4, 0); activate(5, 1); activate(3, 2); check(4, 5, 3) + activate(3, 0, merge_parent=c[1].getPath()); activate(0, 1); check(3, 0) + # Following test shows that a child can be merged with a parent even if + # 'merge_parent' is not specified. This can't be avoided without loading + # all found duplicates, which would be bad for performance. + activate(0, 0); activate(4, 1, merge_parent=None); check(0) + finally: + del Base.doSomething + def activate(i, priority=1, **kw): + c[i].activate(group_method_id='portal_categories/invokeGroup', + merge_parent=c[(i-1)//2 or i].getPath(), + priority=priority, **kw).doSomething() + def invokeGroup(self, message_list): + invoked.append([c.index(m[0]) for m in message_list]) + category_tool.__class__.invokeGroup = invokeGroup + try: + activate(5, 0); activate(1, 1); check([5, 1]) + activate(4, 0); activate(1, 1); activate(2, 0); check([1, 2]) + activate(1, 0); activate(5, 0); activate(3, 1); check([1, 5]) + for p, i in enumerate((5, 3, 2, 1, 4)): + activate(i, p, group_id=str(2 != i != 5)) + check([2], [1]) + for cost in 0.3, 0.1: + activate(2, 0, group_method_cost=cost) + activate(3, 1); activate(4, 2); activate(1, 3) + check([2, 1]) + finally: + del category_tool.__class__.invokeGroup + category_tool._delObject(c[0].getId()) + transaction.commit() + self.tic() + def test_suite(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(TestCMFActivity)) -- 2.30.9 From c18a351f37dafe392c124ed2fac31e1ed1b240ef Mon Sep 17 00:00:00 2001 From: Julien Muchembled <jm@nexedi.com> Date: Wed, 9 May 2012 14:08:21 +0200 Subject: [PATCH 08/10] Zope: monkey-patch 'transaction' to provide start time of transaction --- product/ERP5Type/ZopePatch.py | 1 + product/ERP5Type/patches/_transaction.py | 25 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 product/ERP5Type/patches/_transaction.py diff --git a/product/ERP5Type/ZopePatch.py b/product/ERP5Type/ZopePatch.py index 10dab86868..6ea50e2c65 100644 --- a/product/ERP5Type/ZopePatch.py +++ b/product/ERP5Type/ZopePatch.py @@ -71,6 +71,7 @@ from Products.ERP5Type.patches import ExternalMethod from Products.ERP5Type.patches import User from Products.ERP5Type.patches import zopecontenttype from Products.ERP5Type.patches import OFSImage +from Products.ERP5Type.patches import _transaction from Products.ERP5Type.patches import default_zpublisher_encoding # These symbols are required for backward compatibility diff --git a/product/ERP5Type/patches/_transaction.py b/product/ERP5Type/patches/_transaction.py new file mode 100644 index 0000000000..243f0961ea --- /dev/null +++ b/product/ERP5Type/patches/_transaction.py @@ -0,0 +1,25 @@ +############################################################################ +# +# Copyright (c) 2012 Nexedi SA and Contributors. +# +# This software is subject to the provisions of the Zope Public License, +# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED +# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS +# FOR A PARTICULAR PURPOSE. +# +############################################################################ + +# XXX: This file starts with an underscore because by default, on Python 2.6, +# imports are relative. + +from time import time +from transaction import _manager + +def _new_transaction(txn, synchs): + txn.start_time = time() + if synchs: + synchs.map(lambda s: s.newTransaction(txn)) + +_manager._new_transaction = _new_transaction -- 2.30.9 From 5c09e2e272003a32c584e7d2df9aa62d270ee2e6 Mon Sep 17 00:00:00 2001 From: Julien Muchembled <jm@nexedi.com> Date: Mon, 1 Oct 2012 18:06:02 +0200 Subject: [PATCH 09/10] Simulation: splitted expand, performance improvements and bugfixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All interactions and activity tags are reviewed to fix bugs like duplicated root applied rules, and also reduces the amount of duplicated/useless work, e.g: - Simulation trees are not expanded anymore when simulated objects are modified. - 'expand' activities are merged (i.e. dropped) with any other 'expand' activity for an ancestor. New implementation exposes new API that hides much complexity to the developper about activity dependencies. By default, expand() now automatically defers any work if the current transaction takes too long time. This method also gains a parameter to explicitely choose when to expand, which is often important in unit tests or solvers. In particular, when postponing work, it takes care of setting proper activity dependencies. - If you have any code requiring to expand everything immediately, you'll have to replace 'expand()' by 'expand(expand_policy="immediate")'. - On the contrary, you should replace any 'activate().expand()' by 'expand(expand_policy="deferred")'. expand() still accepts activity parameters for any extra needs. In causality workflow, 'building' state is clarified and now means « delivery may diverge but we can't know now ». A delivery remains in draft as long as it does not contain any movement built from simulation. After init/clone/builder/etc. scripts used to call 'startBuilding' & 'updateCausalityState': this calls must be removed since only SimulatedDeliveryBuilder should take care of move to 'building' state and workflows now triggers 'updateCausalityState'. Disguised interactions have been unhardcoded and either deleted, or moved to appropriate interaction workflows, which have been reorganized. Those that triggers update of portal_workflow can be easily customized or disabled. New API: - updateSimulation() on deliveries and subscription items. It takes care of creating root applied rule, expanding and reindexing parts of simulation trees. It somehow replaces: - Delivery_updateSimulation - Delivery_updateAppliedRule - Delivery.applyToDeliveryRelatedMovement - Delivery.updateAppliedRule - Delivery.expand - Delivery.expandRuleRelatedToMovement - SubscriptionItem.expand - SubscriptionItem.updateAppliedRule - Delivery.localBuild() is the new way to do local building and replaces Delivery_expandAndBuild. Private method Delivery._localBuild replaces Delivery_buildOnComposedDocument. - Simulation Movements that are being built by a builder are reindexed with the following tag: 'built:<delivery_path>'. Any after_path_and_method_id dependency against 'related_simulation_movement_path_list' and reindexing methods should be replaced by this after_tag. After builder scripts used to confirm the delivery in a separate activity, which was useless. --- .../AccountingTransaction_afterClone.xml | 5 - ...ccountingTransaction_getRuleReference.xml} | 2 +- ...ountingTransaction_initFromPreferences.xml | 14 +- ...rence.xml => Invoice_getRuleReference.xml} | 2 +- .../PaymentTransaction_postGeneration.xml | 7 - ...aseInvoiceTransaction_getRuleReference.xml | 67 --- .../scripts/Delivery_Build.xml | 68 --- .../scripts/Delivery_localBuild.xml} | 4 +- .../transitions/confirm.xml | 2 +- .../accounting_workflow/transitions/plan.xml | 6 +- .../accounting_workflow/transitions/start.xml | 6 +- .../category_movement_group_on_delivery.xml | 1 + .../category_movement_group_on_delivery.xml | 1 + .../Alarm_buildInvoice.xml | 4 +- .../SaleInvoice_postGeneration.xml | 32 +- .../scripts/Delivery_Build.xml | 56 +- .../invoice_workflow/transitions/plan.xml | 6 +- .../erp5_base/Delivery_calculate.xml | 2 +- .../erp5_base/Delivery_updateAppliedRule.xml | 113 ---- .../erp5_base/Delivery_updateSimulation.xml | 91 --- .../interactions/calculate_causality.xml | 2 +- ...salityState.xml => Delivery_calculate.xml} | 2 +- .../scripts/Delivery_afterEdit.xml | 78 --- .../Delivery_callSplitAndDeferTransition.xml | 2 - .../scripts/Delivery_solveDivergence.xml | 4 - .../scripts/Delivery_splitAndDefer.xml | 3 - .../Workflow_solveDivergenceAutomatically.xml | 9 +- .../transitions/calculate.xml | 6 +- .../transitions/start_building.xml | 4 + .../interactions/calculate_causality.xml | 5 +- ...ate.xml => DeliveryMovement_calculate.xml} | 2 +- .../interactions/update_simulation.xml | 2 +- .../DeliveryMovement_unlinkSimulation.xml | 2 + .../DeliveryMovement_updateSimulation.xml | 10 +- .../interactions/expand_root.xml} | 4 +- ...dex_simulation.xml => reindex_related.xml} | 9 +- .../interactions/update_causality.xml} | 7 +- .../interactions/update_simulation.xml | 94 --- ...ivery_reindexRelatedSimulationMovement.xml | 23 +- .../Delivery_updateCausalityState.xml} | 4 +- .../scripts/Delivery_updateSimulation.xml | 2 +- ...vement_simulation_interaction_workflow.xml | 46 -- .../interactions.xml | 28 - .../interactions/unlink_simulation.xml | 94 --- .../scripts.xml | 28 - .../OrderMovement_expandAppliedRule.xml | 69 --- .../OrderMovement_unlinkSimulation.xml | 77 --- .../variables.xml | 22 - .../worklists.xml | 22 - .../order_simulation_interaction_workflow.xml | 46 -- .../interactions.xml | 28 - .../interactions/reindex_simulation.xml | 104 ---- .../scripts.xml | 28 - .../scripts/Order_expandAppliedRule.xml | 69 --- .../scripts/Order_reindexAppliedRule.xml | 71 --- .../variables.xml | 22 - .../worklists.xml | 22 - .../interactions/calculate_causality.xml | 2 +- ...lationMovement_calculateCausalityState.xml | 25 +- bt5/erp5_base/bt/template_workflow_id_list | 2 - ...Alarm_buildConfiguratorStandardInvoice.xml | 4 +- ...m_buildConfiguratorStandardPackingList.xml | 4 +- ...nvoice_transaction_trade_model_builder.xml | 10 - ...nvoice_transaction_trade_model_builder.xml | 10 - .../DocumentTemplateItem/DummyDelivery.py | 3 + ...AmortisationTransaction_doSolveActions.xml | 113 ---- .../InvoiceTransaction_postGeneration.xml | 25 +- ...nsaction_postTransactionLineGeneration.xml | 31 +- .../Invoice_reindexRelatedSimulation.xml | 68 --- .../Order_appliedToRelatedMovement.xml | 69 --- .../scripts/Order_buildPackingList.xml | 42 +- .../scripts/Order_createOrderRule.xml | 82 --- .../states/closed.xml | 103 ---- .../production_order_workflow/states/open.xml | 106 ---- .../transitions/cancel.xml | 6 +- .../transitions/close.xml | 58 -- .../transitions/close_action.xml | 58 -- .../transitions/informDeliveryList.xml | 58 -- .../transitions/open.xml | 58 -- .../transitions/open_action.xml | 58 -- .../transitions/order.xml | 6 +- .../transitions/plan.xml | 6 +- .../scripts/PackingList_updateAppliedRule.xml | 98 ---- .../transitions/confirm.xml | 6 +- .../transitions/deliver.xml | 6 +- .../OpenOrder_getRuleReference.xml} | 2 +- .../OpenOrder_updateSimulation.xml | 23 +- .../OpenPurchaseOrder_getRuleReference.xml | 67 --- .../OpenSaleOrder_getRuleReference.xml | 67 --- .../InteractionWorkflow_updateSimulation.xml | 13 +- .../PaySheetModel_getRuleReference.xml | 67 --- ...t_copyOrderPropertiesAndNotifyAssignee.xml | 13 +- .../scripts/PackingList_buildInvoice.xml | 73 --- .../scripts/PackingList_updateAppliedRule.xml | 98 ---- ...eportWorkflow_notifyFinishedTaskReport.xml | 2 - .../transitions/confirm.xml | 6 +- .../transitions/start.xml | 6 +- .../scripts/Task_appliedToRelatedMovement.xml | 69 --- .../scripts/Task_buildTaskReport.xml | 12 +- .../scripts/Task_createOrderRule.xml | 74 --- .../task_workflow/transitions/cancel.xml | 6 +- .../task_workflow/transitions/order.xml | 6 +- .../task_workflow/transitions/plan.xml | 6 +- .../Delivery_buildOnComposedDocument.xml | 67 --- .../Delivery_expandAndBuild.xml | 94 --- .../erp5_simulation/Rule_testFalse.xml | 4 +- .../test_sale_invoice_trade_model_builder.xml | 4 - .../scripts/activateBuilder.xml | 2 +- .../Alarm_buildInvoice.xml | 4 +- .../Alarm_buildPackingList.xml | 4 +- .../erp5_trade/Delivery_confirm.xml | 15 +- .../InternalOrder_getRuleReference.xml | 67 --- .../InternalPackingList_getRuleReference.xml | 67 --- .../erp5_trade/Order_getRuleReference.xml} | 2 +- .../erp5_trade/PackingList_doSolveActions.xml | 110 ---- .../PackingList_getRuleReference.xml} | 2 +- .../PurchaseOrder_getRuleReference.xml | 67 --- ...urchasePackingList_copyOrderProperties.xml | 24 +- .../PurchasePackingList_getRuleReference.xml | 67 --- ...edPurchasePackingList_getRuleReference.xml | 67 --- ...turnedSalePackingList_getRuleReference.xml | 67 --- .../SalePackingList_copyOrderProperties.xml | 26 +- .../SalePackingList_getRuleReference.xml | 67 --- .../Order_appliedToRelatedMovement.xml | 69 --- .../scripts/Order_createOrderRule.xml | 68 --- .../order_workflow/transitions/cancel.xml | 6 +- .../order_workflow/transitions/confirm.xml | 2 +- .../transitions/informDeliveryList.xml | 58 -- .../order_workflow/transitions/order.xml | 6 +- .../order_workflow/transitions/plan.xml | 6 +- .../scripts/PackingList_updateAppliedRule.xml | 75 --- .../transitions/confirm.xml | 6 +- .../transitions/deliver.xml | 6 +- .../transitions/start.xml | 2 +- .../transitions/stop.xml | 2 +- ...delLine_updateParentDeliverySimulation.xml | 2 +- product/ERP5/Document/AmortisationRule.py | 4 +- product/ERP5/Document/AppliedRule.py | 163 +----- product/ERP5/Document/Delivery.py | 216 ++----- product/ERP5/Document/ImmobilisableItem.py | 15 +- product/ERP5/Document/Movement.py | 19 + product/ERP5/Document/OpenOrder.py | 27 +- product/ERP5/Document/Order.py | 72 +-- product/ERP5/Document/PackingList.py | 15 - product/ERP5/Document/QuantitySplitSolver.py | 5 +- .../ERP5/Document/SimulatedDeliveryBuilder.py | 56 +- product/ERP5/Document/SimulationMovement.py | 166 ++---- product/ERP5/Document/SolverProcess.py | 5 +- product/ERP5/Document/SubscriptionItem.py | 171 +----- product/ERP5/Document/TradeModelSolver.py | 2 +- product/ERP5/Document/UnifySolver.py | 3 +- product/ERP5/ExpandPolicy.py | 142 +++++ product/ERP5/MovementGroup.py | 61 +- product/ERP5/TargetSolver/Copy.py | 4 +- product/ERP5/TargetSolver/CopyAndPropagate.py | 4 +- product/ERP5/TargetSolver/SplitAndDefer.py | 4 +- product/ERP5/Tool/RuleTool.py | 12 + .../erp5_core/Delivery_afterClone.xml | 5 - .../erp5_core/ERP5Site_reindexSimulation.xml | 103 ---- product/ERP5/doc/SimulatedDeliveryBuilder.svg | 549 ++++++++++++++++++ product/ERP5/interfaces/expandable.py | 31 +- product/ERP5/interfaces/expandable_item.py | 45 -- product/ERP5/interfaces/rule.py | 22 +- product/ERP5/mixin/rule.py | 158 ++++- product/ERP5/tests/testAccountingRules.py | 14 +- product/ERP5/tests/testAdvancedInvoicing.py | 2 +- product/ERP5/tests/testICal.py | 2 - product/ERP5/tests/testInvoice.py | 73 +-- product/ERP5/tests/testOrder.py | 18 +- product/ERP5/tests/testProject.py | 2 - product/ERP5/tests/testRule.py | 200 ++----- product/ERP5/tests/testTask.py | 6 +- product/ERP5/tests/testTradeModelLine.py | 4 +- 173 files changed, 1449 insertions(+), 5352 deletions(-) rename bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/{AccountingRuleCell_getRuleReference.xml => AccountingTransaction_getRuleReference.xml} (96%) rename bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/{SaleInvoiceTransaction_getRuleReference.xml => Invoice_getRuleReference.xml} (96%) delete mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_getRuleReference.xml delete mode 100644 bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_Build.xml rename bt5/{erp5_advanced_invoicing/WorkflowTemplateItem/portal_workflow/invoice_workflow/scripts/Delivery_createRule.xml => erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_localBuild.xml} (94%) delete mode 100644 bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_updateAppliedRule.xml delete mode 100644 bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_updateSimulation.xml rename bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_interaction_workflow/scripts/{Delivery_calculateCausalityState.xml => Delivery_calculate.xml} (96%) delete mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_afterEdit.xml rename bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_causality_interaction_workflow/scripts/{DeliveryMovement_calculateCausalityState.xml => DeliveryMovement_calculate.xml} (96%) rename bt5/erp5_base/WorkflowTemplateItem/portal_workflow/{order_simulation_interaction_workflow/interactions/expand_simulation.xml => delivery_simulation_interaction_workflow/interactions/expand_root.xml} (95%) rename bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/interactions/{reindex_simulation.xml => reindex_related.xml} (91%) rename bt5/erp5_base/WorkflowTemplateItem/portal_workflow/{order_movement_simulation_interaction_workflow/interactions/expand_simulation.xml => delivery_simulation_interaction_workflow/interactions/update_causality.xml} (92%) delete mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/interactions/update_simulation.xml rename bt5/{erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_updateSimulation.xml => erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/scripts/Delivery_updateCausalityState.xml} (93%) delete mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow.xml delete mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/interactions.xml delete mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/interactions/unlink_simulation.xml delete mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/scripts.xml delete mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/scripts/OrderMovement_expandAppliedRule.xml delete mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/scripts/OrderMovement_unlinkSimulation.xml delete mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/variables.xml delete mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/worklists.xml delete mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow.xml delete mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/interactions.xml delete mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/interactions/reindex_simulation.xml delete mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/scripts.xml delete mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/scripts/Order_expandAppliedRule.xml delete mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/scripts/Order_reindexAppliedRule.xml delete mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/variables.xml delete mode 100644 bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/worklists.xml delete mode 100644 bt5/erp5_immobilisation/SkinTemplateItem/portal_skins/erp5_immobilisation/AmortisationTransaction_doSolveActions.xml delete mode 100644 bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/Invoice_reindexRelatedSimulation.xml delete mode 100644 bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/scripts/Order_appliedToRelatedMovement.xml delete mode 100644 bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/scripts/Order_createOrderRule.xml delete mode 100644 bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/states/closed.xml delete mode 100644 bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/states/open.xml delete mode 100644 bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/close.xml delete mode 100644 bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/close_action.xml delete mode 100644 bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/informDeliveryList.xml delete mode 100644 bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/open.xml delete mode 100644 bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/open_action.xml delete mode 100644 bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_packing_list_workflow/scripts/PackingList_updateAppliedRule.xml rename bt5/{erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_getRuleReference.xml => erp5_open_trade/SkinTemplateItem/portal_skins/erp5_open_trade/OpenOrder_getRuleReference.xml} (97%) delete mode 100644 bt5/erp5_open_trade/SkinTemplateItem/portal_skins/erp5_open_trade/OpenPurchaseOrder_getRuleReference.xml delete mode 100644 bt5/erp5_open_trade/SkinTemplateItem/portal_skins/erp5_open_trade/OpenSaleOrder_getRuleReference.xml delete mode 100644 bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetModel_getRuleReference.xml delete mode 100644 bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/scripts/PackingList_buildInvoice.xml delete mode 100644 bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/scripts/PackingList_updateAppliedRule.xml delete mode 100644 bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/scripts/Task_appliedToRelatedMovement.xml delete mode 100644 bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/scripts/Task_createOrderRule.xml delete mode 100644 bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Delivery_buildOnComposedDocument.xml delete mode 100644 bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Delivery_expandAndBuild.xml delete mode 100644 bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalOrder_getRuleReference.xml delete mode 100644 bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalPackingList_getRuleReference.xml rename bt5/{erp5_project/SkinTemplateItem/portal_skins/erp5_project/Task_getRuleReference.xml => erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Order_getRuleReference.xml} (97%) delete mode 100644 bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PackingList_doSolveActions.xml rename bt5/{erp5_project/SkinTemplateItem/portal_skins/erp5_project/TaskReport_getRuleReference.xml => erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PackingList_getRuleReference.xml} (96%) delete mode 100644 bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchaseOrder_getRuleReference.xml delete mode 100644 bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchasePackingList_getRuleReference.xml delete mode 100644 bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/ReturnedPurchasePackingList_getRuleReference.xml delete mode 100644 bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/ReturnedSalePackingList_getRuleReference.xml delete mode 100644 bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SalePackingList_getRuleReference.xml delete mode 100644 bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_appliedToRelatedMovement.xml delete mode 100644 bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_createOrderRule.xml delete mode 100644 bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/informDeliveryList.xml delete mode 100644 bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/PackingList_updateAppliedRule.xml create mode 100644 product/ERP5/ExpandPolicy.py delete mode 100644 product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_reindexSimulation.xml create mode 100644 product/ERP5/doc/SimulatedDeliveryBuilder.svg delete mode 100644 product/ERP5/interfaces/expandable_item.py diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_afterClone.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_afterClone.xml index df39f61026..789600f989 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_afterClone.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_afterClone.xml @@ -56,11 +56,6 @@ context.setSourceReference(None)\n context.setReference(None)\n context.setDestinationReference(None)\n context.setSolver(None)\n -\n -# Initialize Causality Workflow\n -if hasattr(context, \'startBuilding\'):\n - context.startBuilding()\n - context.updateCausalityState()\n </string> </value> </item> <item> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_getRuleReference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_getRuleReference.xml similarity index 96% rename from bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_getRuleReference.xml rename to bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_getRuleReference.xml index 394e4f2d8a..a77b65778c 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingRuleCell_getRuleReference.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_getRuleReference.xml @@ -59,7 +59,7 @@ </item> <item> <key> <string>id</string> </key> - <value> <string>AccountingRuleCell_getRuleReference</string> </value> + <value> <string>AccountingTransaction_getRuleReference</string> </value> </item> </dictionary> </pickle> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_initFromPreferences.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_initFromPreferences.xml index b390a50ebe..0d7463b8f5 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_initFromPreferences.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_initFromPreferences.xml @@ -50,23 +50,15 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>from Products.CMFCore.utils import getToolByName\n -\n -transaction = context\n -preference_tool = getToolByName(context, \'portal_preferences\')\n -\n -transaction.edit (\n + <value> <string>preference_tool = context.getPortalObject().portal_preferences\n +context.edit(\n source_section = preference_tool.getPreferredAccountingTransactionSourceSection(),\n resource = preference_tool.getPreferredAccountingTransactionCurrency())\n -\n -if hasattr(transaction, \'startBuilding\') :\n - transaction.startBuilding()\n - transaction.updateCausalityState()\n </string> </value> </item> <item> <key> <string>_params</string> </key> - <value> <string>*args, **kw</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>id</string> </key> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_getRuleReference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Invoice_getRuleReference.xml similarity index 96% rename from bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_getRuleReference.xml rename to bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Invoice_getRuleReference.xml index bdf28b69ac..6f47c9eca4 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SaleInvoiceTransaction_getRuleReference.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Invoice_getRuleReference.xml @@ -59,7 +59,7 @@ </item> <item> <key> <string>id</string> </key> - <value> <string>SaleInvoiceTransaction_getRuleReference</string> </value> + <value> <string>Invoice_getRuleReference</string> </value> </item> </dictionary> </pickle> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_postGeneration.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_postGeneration.xml index 2dd758a547..1dc6e0f524 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_postGeneration.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_postGeneration.xml @@ -57,13 +57,6 @@ payment_transaction = context\n # initialize accounting_workflow to planned state\n if payment_transaction.getSimulationState() == "draft":\n payment_transaction.plan(comment=translateString("Initialised by Delivery Builder."))\n -\n -# First set the payment transaction in the building state on the causality workflow\n -payment_transaction.startBuilding()\n -\n -# Then an activity should put the causality state in diverged or solved\n -payment_transaction.activate(after_path_and_method_id=(related_simulation_movement_path_list,\n - (\'immediateReindexObject\',\'recursiveImmediateReindexObject\'))).updateCausalityState()\n </string> </value> </item> <item> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_getRuleReference.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_getRuleReference.xml deleted file mode 100644 index 44793b16c6..0000000000 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PurchaseInvoiceTransaction_getRuleReference.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return \'default_invoice_rule\'\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>PurchaseInvoiceTransaction_getRuleReference</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_Build.xml b/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_Build.xml deleted file mode 100644 index 747e80a75d..0000000000 --- a/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_Build.xml +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>delivery = state_change[\'object\']\n -delivery.Delivery_expandAndBuild()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Delivery_Build</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_advanced_invoicing/WorkflowTemplateItem/portal_workflow/invoice_workflow/scripts/Delivery_createRule.xml b/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_localBuild.xml similarity index 94% rename from bt5/erp5_advanced_invoicing/WorkflowTemplateItem/portal_workflow/invoice_workflow/scripts/Delivery_createRule.xml rename to bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_localBuild.xml index fc4563e2ae..07b97d4162 100644 --- a/bt5/erp5_advanced_invoicing/WorkflowTemplateItem/portal_workflow/invoice_workflow/scripts/Delivery_createRule.xml +++ b/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_localBuild.xml @@ -50,7 +50,7 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>state_change[\'object\'].Delivery_updateSimulation()\n + <value> <string>state_change[\'object\'].localBuild()\n </string> </value> </item> <item> @@ -59,7 +59,7 @@ </item> <item> <key> <string>id</string> </key> - <value> <string>Delivery_createRule</string> </value> + <value> <string>Delivery_localBuild</string> </value> </item> </dictionary> </pickle> diff --git a/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/confirm.xml b/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/confirm.xml index f599451ffb..5898f34f55 100644 --- a/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/confirm.xml +++ b/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/confirm.xml @@ -24,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>Delivery_Build</string> </value> + <value> <string>Delivery_localBuild</string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/plan.xml b/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/plan.xml index e6f34a560a..1aee3bf42d 100644 --- a/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/plan.xml +++ b/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/plan.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string></string> </value> @@ -20,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>Delivery_updateSimulation</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/start.xml b/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/start.xml index f750d2946e..f157f70d6b 100644 --- a/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/start.xml +++ b/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/transitions/start.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string></string> </value> @@ -20,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>Delivery_Build</string> </value> + <value> <string>Delivery_localBuild</string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_advanced_invoicing/PathTemplateItem/portal_deliveries/advanced_purchase_invoice_transaction_builder/category_movement_group_on_delivery.xml b/bt5/erp5_advanced_invoicing/PathTemplateItem/portal_deliveries/advanced_purchase_invoice_transaction_builder/category_movement_group_on_delivery.xml index ecdbb5f304..6156389877 100644 --- a/bt5/erp5_advanced_invoicing/PathTemplateItem/portal_deliveries/advanced_purchase_invoice_transaction_builder/category_movement_group_on_delivery.xml +++ b/bt5/erp5_advanced_invoicing/PathTemplateItem/portal_deliveries/advanced_purchase_invoice_transaction_builder/category_movement_group_on_delivery.xml @@ -37,6 +37,7 @@ <key> <string>tested_property</string> </key> <value> <tuple> + <string>specialise</string> <string>source_section</string> <string>destination_section</string> <string>source_payment</string> diff --git a/bt5/erp5_advanced_invoicing/PathTemplateItem/portal_deliveries/advanced_sale_invoice_transaction_builder/category_movement_group_on_delivery.xml b/bt5/erp5_advanced_invoicing/PathTemplateItem/portal_deliveries/advanced_sale_invoice_transaction_builder/category_movement_group_on_delivery.xml index ecdbb5f304..6156389877 100644 --- a/bt5/erp5_advanced_invoicing/PathTemplateItem/portal_deliveries/advanced_sale_invoice_transaction_builder/category_movement_group_on_delivery.xml +++ b/bt5/erp5_advanced_invoicing/PathTemplateItem/portal_deliveries/advanced_sale_invoice_transaction_builder/category_movement_group_on_delivery.xml @@ -37,6 +37,7 @@ <key> <string>tested_property</string> </key> <value> <tuple> + <string>specialise</string> <string>source_section</string> <string>destination_section</string> <string>source_payment</string> diff --git a/bt5/erp5_advanced_invoicing/SkinTemplateItem/portal_skins/erp5_advanced_invoicing/Alarm_buildInvoice.xml b/bt5/erp5_advanced_invoicing/SkinTemplateItem/portal_skins/erp5_advanced_invoicing/Alarm_buildInvoice.xml index 3a0382f804..60dd445be0 100644 --- a/bt5/erp5_advanced_invoicing/SkinTemplateItem/portal_skins/erp5_advanced_invoicing/Alarm_buildInvoice.xml +++ b/bt5/erp5_advanced_invoicing/SkinTemplateItem/portal_skins/erp5_advanced_invoicing/Alarm_buildInvoice.xml @@ -71,9 +71,11 @@ for builder_id in builder_id_list:\n serialization_tag = \'build:%s\' % delivery_portal_type\n index_tag = \'index:%s\' % delivery_portal_type\n after_tag = index_tag\n + # depend on reindexing so that select methods\n + # do not return movements that are already built\n after_method_id = (\'recursiveImmediateReindexObject\',\n \'immediateReindexObject\',\n - \'Delivery_updateAppliedRule\')\n + \'_updateSimulation\')\n activate_kw = dict(tag=index_tag)\n builder.activate(\n serialization_tag=serialization_tag,\n diff --git a/bt5/erp5_advanced_invoicing/SkinTemplateItem/portal_skins/erp5_advanced_invoicing/SaleInvoice_postGeneration.xml b/bt5/erp5_advanced_invoicing/SkinTemplateItem/portal_skins/erp5_advanced_invoicing/SaleInvoice_postGeneration.xml index 4decaee925..a8d278fd91 100644 --- a/bt5/erp5_advanced_invoicing/SkinTemplateItem/portal_skins/erp5_advanced_invoicing/SaleInvoice_postGeneration.xml +++ b/bt5/erp5_advanced_invoicing/SkinTemplateItem/portal_skins/erp5_advanced_invoicing/SaleInvoice_postGeneration.xml @@ -54,14 +54,6 @@ the new Invoice.\n """\n from Products.ERP5Type.Message import translateString\n -try:\n - from Products.CMFCore.WorkflowCore import WorkflowException\n -except ImportError:\n - # WorkflowException has not always been allowed in restricted\n - # environment, in this case, make sure WorkflowException is \n - # defined \n - class WorkflowException(Exception):\n - pass\n \n if related_simulation_movement_path_list is None:\n raise RuntimeError, \'related_simulation_movement_path_list is missing. Update ERP5 Product.\'\n @@ -80,26 +72,10 @@ if not invoice.hasTitle() and related_packing_list.hasTitle():\n \n # initialize accounting_workflow to confirmed state\n if invoice.getSimulationState() == \'draft\':\n - try :\n - context.getPortalObject().portal_workflow.doActionFor(\n - invoice, \'confirm_action\',\n - comment=translateString(\'Initialised by Delivery Builder.\'),\n - skip_period_validation=1)\n - except WorkflowException, e:\n - # The user cannot pass the transition, it\'s OK\n - pass\n -\n - if invoice.getSimulationState() == \'draft\':\n - # call the workflow method, if the user cannot perform this operation.\n - invoice.confirm(comment=translateString(\'Initialised by Delivery Builder.\'),)\n -\n -\n -# First set the invoice in the building state on the causality workflow\n -invoice.startBuilding()\n -\n -# Then an activity should put the causality state in diverged or solved\n -invoice.activate(after_path_and_method_id=(related_simulation_movement_path_list,\n - (\'immediateReindexObject\',\'recursiveImmediateReindexObject\'))).updateCausalityState()\n + invoice.Delivery_confirm()\n +else:\n + # call builder just same as after script of \'confirm\' transition\n + invoice.localBuild()\n </string> </value> </item> <item> diff --git a/bt5/erp5_advanced_invoicing/WorkflowTemplateItem/portal_workflow/invoice_workflow/scripts/Delivery_Build.xml b/bt5/erp5_advanced_invoicing/WorkflowTemplateItem/portal_workflow/invoice_workflow/scripts/Delivery_Build.xml index 3d0b18f856..a1b1e9ad19 100644 --- a/bt5/erp5_advanced_invoicing/WorkflowTemplateItem/portal_workflow/invoice_workflow/scripts/Delivery_Build.xml +++ b/bt5/erp5_advanced_invoicing/WorkflowTemplateItem/portal_workflow/invoice_workflow/scripts/Delivery_Build.xml @@ -50,64 +50,12 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>"""\n - Builds the delivery.\n -"""\n -from Products.ERP5Type.Log import log\n -delivery = sci[\'object\']\n -delivery_portal_type = delivery.getPortalType()\n -portal_deliveries = sci.getPortal().portal_deliveries\n -\n -builder_by_ptype = {\n - \'Sale Invoice\' : \'advanced_sale_invoice_transaction_builder\',\n - \'Purchase Invoice\' : \'advanced_purchase_invoice_transaction_builder\',\n -}\n -\n -if builder_by_ptype.has_key(delivery_portal_type) :\n - builder = getattr(portal_deliveries, builder_by_ptype[delivery_portal_type], None)\n - if builder is None :\n - log(\'erp5_advanced_invoicing\',\n - \'unable to build : no builder in %s\' % builder_by_ptype[delivery_portal_type])\n - return\n -\n - # build accounting lines\n - method_id_list = (\'expand\', \'edit\', \'updateAppliedRule\', \'Delivery_updateAppliedRule\',\n - \'immediateReindexObject\', \'recursiveImmediateReindexObject\')\n -\n - explanation_uid_list = [delivery.getUid(), ]\n - packing_list = delivery.getCausalityValue(\n - portal_type=(\'Sale Packing List\',\n - \'Purchase Packing List\'))\n - if packing_list is not None:\n - explanation_uid_list.append(packing_list.getUid())\n - order = packing_list.getCausalityValue(\n - portal_type=(\'Sale Order\',\n - \'Purchase Order\'))\n - if order is not None:\n - explanation_uid_list.append(order.getUid())\n -\n -\n - tag = \'invoice_transaction_build_%s\' % delivery.getRelativeUrl()\n - builder.activate(\n - activity=\'SQLQueue\',\n - after_method_id=method_id_list,\n - tag=tag,\n - activate_kw=dict(tag=tag)).build(activate_kw=dict(tag=tag),\n - explanation_uid=explanation_uid_list)\n -\n - # build related payment transactions\n - portal_deliveries.payment_transaction_builder.activate(\n - activity=\'SQLQueue\',\n - after_method_id=method_id_list).build(explanation_uid=explanation_uid_list)\n -\n - # set the object in building state.\n - delivery.startBuilding()\n - delivery.activate(after_tag=tag).updateCausalityState()\n + <value> <string>state_change[\'object\'].localBuild()\n </string> </value> </item> <item> <key> <string>_params</string> </key> - <value> <string>sci</string> </value> + <value> <string>state_change</string> </value> </item> <item> <key> <string>id</string> </key> diff --git a/bt5/erp5_advanced_invoicing/WorkflowTemplateItem/portal_workflow/invoice_workflow/transitions/plan.xml b/bt5/erp5_advanced_invoicing/WorkflowTemplateItem/portal_workflow/invoice_workflow/transitions/plan.xml index 4c51df2c26..53f85f479c 100644 --- a/bt5/erp5_advanced_invoicing/WorkflowTemplateItem/portal_workflow/invoice_workflow/transitions/plan.xml +++ b/bt5/erp5_advanced_invoicing/WorkflowTemplateItem/portal_workflow/invoice_workflow/transitions/plan.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string></string> </value> @@ -20,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>Delivery_createRule</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_calculate.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_calculate.xml index a064eba1f0..b9b1e74530 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_calculate.xml +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_calculate.xml @@ -56,7 +56,7 @@ if portal.portal_workflow.isTransitionPossible(context, \'calculate\'):\n else:\n # Make sure no other node is moving the delivery\n # to \'diverged\' or \'solved\' state.\n - context.serialize()\n + context.serializeCausalityState()\n </string> </value> </item> <item> diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_updateAppliedRule.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_updateAppliedRule.xml deleted file mode 100644 index 3574def7c8..0000000000 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_updateAppliedRule.xml +++ /dev/null @@ -1,113 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>from Products.ERP5Type.Errors import SimulationError\n -\n -delivery = context\n -delivery_type = context.getPortalType()\n -\n -# XXX The following dict is only for backward compatibility.\n -applied_rule_dict = {\n - \'Pay Sheet Transaction\': \'default_invoice_rule\',\n - \'Payment Transaction\': \'default_invoice_rule\',\n -\n - \'Purchase Packing List\': \'default_delivery_rule\',\n - \'Purchase Invoice Transaction\': \'default_invoice_rule\',\n -\n - \'Sale Order\': \'default_order_rule\',\n - \'Sale Packing List\': \'default_delivery_rule\',\n - \'Sale Invoice Transaction\': \'default_invoice_rule\',\n -\n - \'Internal Packing List\': None,\n - \'Returned Sale Packing List\': None,\n -\n - \'Accounting Rule Cell\': None,\n - \'Accounting Transaction\': None,\n - \'Production Packing List\': None,\n - \'Production Report\': None,\n - \'Pay Sheet Model\': None,\n - \n - \'Amortisation Transaction\' : None,\n - \'Task Report\': \'default_delivery_rule\',\n - }\n -\n -try:\n - applied_rule = delivery.getRuleReference()\n -except SimulationError:\n - marker = []\n - applied_rule = applied_rule_dict.get(delivery_type, marker)\n - if applied_rule is marker:\n - raise\n -\n -if applied_rule is None:\n - # No need to add a rule, but still we need to expand the delivery\n - # if at least one of its movements is simulated.\n - for m in delivery.getMovementList():\n - if m.isSimulated():\n - delivery.activate(activate_kw=activate_kw).expand(**kw)\n - return\n -elif applied_rule:\n - delivery.updateAppliedRule(rule_reference=applied_rule, activate_kw=activate_kw, **kw)\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>activate_kw=None, **kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Delivery_updateAppliedRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_updateSimulation.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_updateSimulation.xml deleted file mode 100644 index 2e79c03025..0000000000 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Delivery_updateSimulation.xml +++ /dev/null @@ -1,91 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>delivery = context\n -delivery_path = delivery.getPath()\n -expand_tag = delivery_path + \'_expand\'\n -tag = delivery_path + \'_updateAppliedRule\'\n -\n -priority = 3\n -\n -# These parameters are passed to activate for expand and reindexObject,\n -# so Delivery_updateAppliedRule will wait for the creation and indexing of\n -# Applied Rules and Simulation Movements by another Delivery_updateAppliedRule.\n -# This is required for finding an existing Applied Rule by the catalog, and\n -# avoiding needless conflicts.\n -activate_kw = { \n - \'tag\': expand_tag,\n - \'priority\': priority,\n -}\n -\n -# Serialization is required for avoiding parallel executions of updateAppliedRule\n -# which may generate multiple Root Applied Rules.\n -delivery.activate(\n - after_tag=expand_tag,\n - tag=tag,\n - priority=priority,\n - serialization_tag=tag,\n - ).Delivery_updateAppliedRule(activate_kw=activate_kw)\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Delivery_updateSimulation</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_interaction_workflow/interactions/calculate_causality.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_interaction_workflow/interactions/calculate_causality.xml index dbb9426a75..636551148d 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_interaction_workflow/interactions/calculate_causality.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_interaction_workflow/interactions/calculate_causality.xml @@ -28,7 +28,7 @@ <key> <string>after_script_name</string> </key> <value> <list> - <string>Delivery_calculateCausalityState</string> + <string>Delivery_calculate</string> </list> </value> </item> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_interaction_workflow/scripts/Delivery_calculateCausalityState.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_interaction_workflow/scripts/Delivery_calculate.xml similarity index 96% rename from bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_interaction_workflow/scripts/Delivery_calculateCausalityState.xml rename to bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_interaction_workflow/scripts/Delivery_calculate.xml index 4fcfd3c11d..d86445e53a 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_interaction_workflow/scripts/Delivery_calculateCausalityState.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_interaction_workflow/scripts/Delivery_calculate.xml @@ -59,7 +59,7 @@ </item> <item> <key> <string>id</string> </key> - <value> <string>Delivery_calculateCausalityState</string> </value> + <value> <string>Delivery_calculate</string> </value> </item> </dictionary> </pickle> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_afterEdit.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_afterEdit.xml deleted file mode 100644 index d8e872635f..0000000000 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_afterEdit.xml +++ /dev/null @@ -1,78 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>delivery = state_change[\'object\']\n -activate_kw = state_change[\'kwargs\'].get(\'activate_kw\') or {}\n -tag = delivery.getPath() + \'_calculate\'\n -delivery.activate(after_tag=tag, **activate_kw).updateCausalityState()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change</string> </value> - </item> - <item> - <key> <string>_proxy_roles</string> </key> - <value> - <tuple> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Delivery_afterEdit</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_callSplitAndDeferTransition.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_callSplitAndDeferTransition.xml index 641d103846..b1ff97ec72 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_callSplitAndDeferTransition.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_callSplitAndDeferTransition.xml @@ -60,8 +60,6 @@ split_and_defer = 0\n listbox = state_change[\'kwargs\'].get(\'listbox\')\n split_movement_list = []\n if listbox is not None:\n - # Create Delivery Applied Rule (if required)\n - delivery.Delivery_updateAppliedRule()\n for line in listbox:\n url = line[\'listbox_key\']\n choice = line[\'choice\']\n diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_solveDivergence.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_solveDivergence.xml index 88573d1c87..be14675f1b 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_solveDivergence.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_solveDivergence.xml @@ -57,7 +57,6 @@ divergence_to_adopt_list = state_change[\'kwargs\'].get(\'divergence_to_adopt_li \n if len(delivery_solve_property_dict) or len(divergence_to_accept_list) \\\n or len(divergence_to_adopt_list):\n - delivery.Delivery_updateAppliedRule()\n delivery_relative_url = delivery.getRelativeUrl()\n delivery_builder_list = delivery.getBuilderList()\n if len(delivery_solve_property_dict):\n @@ -68,9 +67,6 @@ if len(delivery_solve_property_dict) or len(divergence_to_accept_list) \\\n delivery_builder.solveDivergence(delivery_relative_url,\n divergence_to_accept_list=divergence_to_accept_list,\n divergence_to_adopt_list=divergence_to_adopt_list)\n -# There could be a pending \'Delivery_calculate\' activity if we solved from\n -# \'calculating\' state, so wait that it is gone before updating causality state.\n -delivery.activate(after_tag=delivery.getPath() + \'_calculate\').updateCausalityState()\n </string> </value> </item> <item> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_splitAndDefer.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_splitAndDefer.xml index 84ff9a6d91..66a12ec4bc 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_splitAndDefer.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Delivery_splitAndDefer.xml @@ -62,9 +62,6 @@ if not len(split_movement_list):\n \n tag = delivery.getPath() + \'_split\'\n \n -# Create Delivery Applied Rule (if required)\n -delivery.Delivery_updateAppliedRule()\n -\n for movement in split_movement_list:\n delivery.getPortalObject().portal_simulation.solveMovement(\n movement, None, \'SplitAndDefer\', start_date=start_date,\n diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Workflow_solveDivergenceAutomatically.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Workflow_solveDivergenceAutomatically.xml index b2da66ed36..183ab5f6e5 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Workflow_solveDivergenceAutomatically.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/scripts/Workflow_solveDivergenceAutomatically.xml @@ -53,12 +53,11 @@ <value> <string>delivery = state_change[\'object\']\n \n portal = delivery.getPortalObject()\n -solver_tool = getattr(portal, \'portal_solvers\', None)\n -solver_process_tool = getattr(portal, \'portal_solver_processes\', None)\n -\n -if solver_tool is None or solver_process_tool is None:\n +try:\n + portal.portal_solvers\n + portal.portal_solver_processes\n +except AttributeError:\n delivery.diverge()\n - return\n else:\n solver_tag = \'%s_solve\' % delivery.getPath()\n delivery.activate(tag=solver_tag).Delivery_solveDivergenceAutomatically()\n diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/transitions/calculate.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/transitions/calculate.xml index 7685ba1390..e71988a644 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/transitions/calculate.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/transitions/calculate.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string></string> </value> @@ -20,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>Delivery_afterEdit</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/transitions/start_building.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/transitions/start_building.xml index 015ad738d2..8296999262 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/transitions/start_building.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_causality_workflow/transitions/start_building.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string></string> </value> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_causality_interaction_workflow/interactions/calculate_causality.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_causality_interaction_workflow/interactions/calculate_causality.xml index 5b3c9ab3de..56196b6e8b 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_causality_interaction_workflow/interactions/calculate_causality.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_causality_interaction_workflow/interactions/calculate_causality.xml @@ -28,7 +28,7 @@ <key> <string>after_script_name</string> </key> <value> <list> - <string>DeliveryMovement_calculateCausalityState</string> + <string>DeliveryMovement_calculate</string> </list> </value> </item> @@ -56,7 +56,8 @@ <key> <string>method_id</string> </key> <value> <list> - <string>_set.*</string> + <string>_set(?!LastId$|Ob$|Object$)</string> + <string>manage_afterAdd</string> </list> </value> </item> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_causality_interaction_workflow/scripts/DeliveryMovement_calculateCausalityState.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_causality_interaction_workflow/scripts/DeliveryMovement_calculate.xml similarity index 96% rename from bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_causality_interaction_workflow/scripts/DeliveryMovement_calculateCausalityState.xml rename to bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_causality_interaction_workflow/scripts/DeliveryMovement_calculate.xml index 4cafb14f59..a814cb0f71 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_causality_interaction_workflow/scripts/DeliveryMovement_calculateCausalityState.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_causality_interaction_workflow/scripts/DeliveryMovement_calculate.xml @@ -59,7 +59,7 @@ </item> <item> <key> <string>id</string> </key> - <value> <string>DeliveryMovement_calculateCausalityState</string> </value> + <value> <string>DeliveryMovement_calculate</string> </value> </item> </dictionary> </pickle> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_simulation_interaction_workflow/interactions/update_simulation.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_simulation_interaction_workflow/interactions/update_simulation.xml index 9cd6fb8801..8f6ee2bbd6 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_simulation_interaction_workflow/interactions/update_simulation.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_simulation_interaction_workflow/interactions/update_simulation.xml @@ -40,7 +40,7 @@ </item> <item> <key> <string>description</string> </key> - <value> <string>call updateAppliedRule after a modification</string> </value> + <value> <string>Reexpand root applied rule if the setter involves a movement that should be linked to a root simulation movement.</string> </value> </item> <item> <key> <string>guard</string> </key> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_simulation_interaction_workflow/scripts/DeliveryMovement_unlinkSimulation.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_simulation_interaction_workflow/scripts/DeliveryMovement_unlinkSimulation.xml index a1aa90f820..30c8cd845c 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_simulation_interaction_workflow/scripts/DeliveryMovement_unlinkSimulation.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_simulation_interaction_workflow/scripts/DeliveryMovement_unlinkSimulation.xml @@ -69,6 +69,8 @@ for simulation_movement in simulation_movement_list:\n # \'order\' category is deprecated. it is kept for compatibility.\n if simulation_movement.getOrder() == delivery_movement.getRelativeUrl():\n simulation_movement.setOrder(None)\n +\n +context.DeliveryMovement_updateSimulation(state_change)\n </string> </value> </item> <item> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_simulation_interaction_workflow/scripts/DeliveryMovement_updateSimulation.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_simulation_interaction_workflow/scripts/DeliveryMovement_updateSimulation.xml index fcbefaf98d..aa9c53cd66 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_simulation_interaction_workflow/scripts/DeliveryMovement_updateSimulation.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_movement_simulation_interaction_workflow/scripts/DeliveryMovement_updateSimulation.xml @@ -50,7 +50,15 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>state_change[\'object\'].getRootDeliveryValue().Delivery_updateSimulation()\n + <value> <string>movement = state_change[\'object\']\n +if not movement.isGeneratedBySimulation():\n + # A setter was called on a movement that should be linked to\n + # a root simulation movement, which usually copies the movement.\n + # If there\'s a new movement in the delivery (e.g. _setObject),\n + # the root applied rule must be reexpanded in order to generate\n + # the missing simulation movement.\n + # XXX: Otherwise, it should be enough to reexpand the related SM.\n + movement.getRootDeliveryValue().updateSimulation(expand_root=1)\n </string> </value> </item> <item> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/interactions/expand_simulation.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/interactions/expand_root.xml similarity index 95% rename from bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/interactions/expand_simulation.xml rename to bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/interactions/expand_root.xml index a6c3d2c740..8c3ebd6ed9 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/interactions/expand_simulation.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/interactions/expand_root.xml @@ -28,7 +28,7 @@ <key> <string>after_script_name</string> </key> <value> <list> - <string>Order_expandAppliedRule</string> + <string>Delivery_updateSimulation</string> </list> </value> </item> @@ -50,7 +50,7 @@ </item> <item> <key> <string>id</string> </key> - <value> <string>expand_simulation</string> </value> + <value> <string>expand_root</string> </value> </item> <item> <key> <string>method_id</string> </key> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/interactions/reindex_simulation.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/interactions/reindex_related.xml similarity index 91% rename from bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/interactions/reindex_simulation.xml rename to bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/interactions/reindex_related.xml index dc344ad819..8e8587c9e4 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/interactions/reindex_simulation.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/interactions/reindex_related.xml @@ -40,7 +40,9 @@ </item> <item> <key> <string>description</string> </key> - <value> <string>reindex simulation after workflow state change, to keep consistency</string> </value> + <value> <string>reindex simulation after workflow state change, to keep consistency\r\n +\r\n +XXX: Something more reliable than a hardcoded list of methods from simulation workflows should be implemented.</string> </value> </item> <item> <key> <string>guard</string> </key> @@ -50,7 +52,7 @@ </item> <item> <key> <string>id</string> </key> - <value> <string>reindex_simulation</string> </value> + <value> <string>reindex_related</string> </value> </item> <item> <key> <string>method_id</string> </key> @@ -60,7 +62,6 @@ <string>close</string> <string>confirm</string> <string>deliver</string> - <string>open</string> <string>order</string> <string>plan</string> <string>setReady</string> @@ -72,7 +73,7 @@ </item> <item> <key> <string>once_per_transaction</string> </key> - <value> <int>0</int> </value> + <value> <int>1</int> </value> </item> <item> <key> <string>portal_type_filter</string> </key> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/interactions/expand_simulation.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/interactions/update_causality.xml similarity index 92% rename from bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/interactions/expand_simulation.xml rename to bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/interactions/update_causality.xml index bbfa698862..c6db48d758 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/interactions/expand_simulation.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/interactions/update_causality.xml @@ -28,7 +28,7 @@ <key> <string>after_script_name</string> </key> <value> <list> - <string>OrderMovement_expandAppliedRule</string> + <string>Delivery_updateCausalityState</string> </list> </value> </item> @@ -50,13 +50,14 @@ </item> <item> <key> <string>id</string> </key> - <value> <string>expand_simulation</string> </value> + <value> <string>update_causality</string> </value> </item> <item> <key> <string>method_id</string> </key> <value> <list> - <string>_set.*</string> + <string>calculate</string> + <string>startBuilding</string> </list> </value> </item> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/interactions/update_simulation.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/interactions/update_simulation.xml deleted file mode 100644 index 295b24061c..0000000000 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/interactions/update_simulation.xml +++ /dev/null @@ -1,94 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="InteractionDefinition" module="Products.ERP5.Interaction"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>activate_script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> - <list> - <string>Delivery_updateSimulation</string> - </list> - </value> - </item> - <item> - <key> <string>before_commit_script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>call updateAppliedRule after a modification</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>update_simulation</string> </value> - </item> - <item> - <key> <string>method_id</string> </key> - <value> - <list> - <string>_set(?!LastId$|Ob$|Object$)</string> - </list> - </value> - </item> - <item> - <key> <string>once_per_transaction</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type_filter</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>temporary_document_disallowed</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/scripts/Delivery_reindexRelatedSimulationMovement.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/scripts/Delivery_reindexRelatedSimulationMovement.xml index dee1c8626d..a129515987 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/scripts/Delivery_reindexRelatedSimulationMovement.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/scripts/Delivery_reindexRelatedSimulationMovement.xml @@ -50,28 +50,7 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>"""\n - +-----+ +--------+\n - |Order| |Delivery| \n - +-----+ +--------+\n - | /\n - [AR] / \n - `--[SM] (1) \n - | \n - [AR] \n - `--[SM] (2)\n - | \n - ...\n -\n - This script reindex simulation movements in (1), so that delivery builder select movement in (2)\n -with an up to date simulation state. We reindex simulation movements with the tag _updateAppliedRule,\n -because that delivery builder builds after that tag.\n -"""\n -\n -delivery = state_change[\'object\']\n -tag = \'%s_expand\' % delivery.getPath()\n -delivery.applyToDeliveryRelatedMovement(method_id=\'recursiveReindexObject\',\n - activate_kw=dict(tag=tag))\n + <value> <string>state_change[\'object\'].updateSimulation(create_root=1, index_related=1)\n </string> </value> </item> <item> diff --git a/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_updateSimulation.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/scripts/Delivery_updateCausalityState.xml similarity index 93% rename from bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_updateSimulation.xml rename to bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/scripts/Delivery_updateCausalityState.xml index 2d1572ffec..444f37dd46 100644 --- a/bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/scripts/Delivery_updateSimulation.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/scripts/Delivery_updateCausalityState.xml @@ -50,7 +50,7 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>state_change[\'object\'].Delivery_updateSimulation()\n + <value> <string>state_change[\'object\'].updateSimulation(calculate=1)\n </string> </value> </item> <item> @@ -59,7 +59,7 @@ </item> <item> <key> <string>id</string> </key> - <value> <string>Delivery_updateSimulation</string> </value> + <value> <string>Delivery_updateCausalityState</string> </value> </item> </dictionary> </pickle> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/scripts/Delivery_updateSimulation.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/scripts/Delivery_updateSimulation.xml index 2d1572ffec..e1e1b17152 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/scripts/Delivery_updateSimulation.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/delivery_simulation_interaction_workflow/scripts/Delivery_updateSimulation.xml @@ -50,7 +50,7 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>state_change[\'object\'].Delivery_updateSimulation()\n + <value> <string>state_change[\'object\'].updateSimulation(expand_root=1)\n </string> </value> </item> <item> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow.xml deleted file mode 100644 index 90414f133f..0000000000 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow.xml +++ /dev/null @@ -1,46 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="InteractionWorkflowDefinition" module="Products.ERP5.InteractionWorkflow"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>creation_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>This workflow manage the expand of the simulation related to an order movement</string> </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>order_movement_simulation_interaction_workflow</string> </value> - </item> - <item> - <key> <string>manager_bypass</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Order Movement Interaction Workflow</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/interactions.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/interactions.xml deleted file mode 100644 index e18bf8cbf7..0000000000 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/interactions.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Interaction" module="Products.ERP5.Interaction"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>interactions</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/interactions/unlink_simulation.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/interactions/unlink_simulation.xml deleted file mode 100644 index 4662c4d4da..0000000000 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/interactions/unlink_simulation.xml +++ /dev/null @@ -1,94 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="InteractionDefinition" module="Products.ERP5.Interaction"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>activate_script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> - <list> - <string>OrderMovement_expandAppliedRule</string> - </list> - </value> - </item> - <item> - <key> <string>before_commit_script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>unlink_simulation</string> </value> - </item> - <item> - <key> <string>method_id</string> </key> - <value> - <list> - <string>manage_beforeDelete</string> - </list> - </value> - </item> - <item> - <key> <string>once_per_transaction</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>portal_type_filter</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>temporary_document_disallowed</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/scripts.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/scripts.xml deleted file mode 100644 index 072c8f6540..0000000000 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/scripts.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Scripts" module="Products.DCWorkflow.Scripts"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>scripts</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/scripts/OrderMovement_expandAppliedRule.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/scripts/OrderMovement_expandAppliedRule.xml deleted file mode 100644 index 38cff47d25..0000000000 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/scripts/OrderMovement_expandAppliedRule.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>order_movement = state_change[\'object\']\n -\n -order_movement.getExplanationValue().expandAppliedRuleRelatedToOrder()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>OrderMovement_expandAppliedRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/scripts/OrderMovement_unlinkSimulation.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/scripts/OrderMovement_unlinkSimulation.xml deleted file mode 100644 index bb01bd5833..0000000000 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/scripts/OrderMovement_unlinkSimulation.xml +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>order_movement = state_change[\'object\']\n -\n -# Clean simulation\n -simulation_movement_list = order_movement.getOrderRelatedValueList(\n - portal_type="Simulation Movement")\n -for simulation_movement in simulation_movement_list:\n - if simulation_movement.getDelivery() == order_movement.getRelativeUrl():\n - simulation_movement.setDelivery(None)\n - # \'order\' category is deprecated. it is kept for compatibility.\n - if simulation_movement.getOrder() == order_movement.getRelativeUrl():\n - simulation_movement.setOrder(None)\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>OrderMovement_unlinkSimulation</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/variables.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/variables.xml deleted file mode 100644 index 6ae03699d1..0000000000 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/variables.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Variables" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>variables</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/worklists.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/worklists.xml deleted file mode 100644 index c3432aa051..0000000000 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_movement_simulation_interaction_workflow/worklists.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Worklists" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>worklists</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow.xml deleted file mode 100644 index c36dc3ad42..0000000000 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow.xml +++ /dev/null @@ -1,46 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="InteractionWorkflowDefinition" module="Products.ERP5.InteractionWorkflow"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>creation_guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>This workflow manage the expand of the simulation related to an order</string> </value> - </item> - <item> - <key> <string>groups</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>order_simulation_interaction_workflow</string> </value> - </item> - <item> - <key> <string>manager_bypass</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Order Interaction Workflow</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/interactions.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/interactions.xml deleted file mode 100644 index e18bf8cbf7..0000000000 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/interactions.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Interaction" module="Products.ERP5.Interaction"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>interactions</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/interactions/reindex_simulation.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/interactions/reindex_simulation.xml deleted file mode 100644 index 4c909d12b9..0000000000 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/interactions/reindex_simulation.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="InteractionDefinition" module="Products.ERP5.Interaction"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>activate_script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> - <list> - <string>Order_reindexAppliedRule</string> - </list> - </value> - </item> - <item> - <key> <string>before_commit_script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string>XXX \r\n -The purpose of this interaction is to reindex the simulation movement related to an order when the simulation state is changed.\r\n -Currently, method ids are hardcoded, and it could be better to use a generic trigger method if possible.</string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>reindex_simulation</string> </value> - </item> - <item> - <key> <string>method_id</string> </key> - <value> - <list> - <string>cancel</string> - <string>close</string> - <string>confirm</string> - <string>deliver</string> - <string>open</string> - <string>order</string> - <string>plan</string> - <string>start</string> - <string>submit</string> - </list> - </value> - </item> - <item> - <key> <string>once_per_transaction</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>portal_type_filter</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>temporary_document_disallowed</string> </key> - <value> <int>1</int> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/scripts.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/scripts.xml deleted file mode 100644 index 072c8f6540..0000000000 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/scripts.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Scripts" module="Products.DCWorkflow.Scripts"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>_objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>scripts</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/scripts/Order_expandAppliedRule.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/scripts/Order_expandAppliedRule.xml deleted file mode 100644 index dcdac2ddb2..0000000000 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/scripts/Order_expandAppliedRule.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>order = state_change[\'object\']\n -\n -order.expandAppliedRuleRelatedToOrder()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Order_expandAppliedRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/scripts/Order_reindexAppliedRule.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/scripts/Order_reindexAppliedRule.xml deleted file mode 100644 index cd52e7214e..0000000000 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/scripts/Order_reindexAppliedRule.xml +++ /dev/null @@ -1,71 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>order = state_change[\'object\']\n -\n -applied_rule = order.getCausalityRelatedValue(portal_type=\'Applied Rule\')\n -if applied_rule is not None:\n - applied_rule.recursiveReindexObject()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Order_reindexAppliedRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/variables.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/variables.xml deleted file mode 100644 index 6ae03699d1..0000000000 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/variables.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Variables" module="Products.DCWorkflow.Variables"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>variables</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/worklists.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/worklists.xml deleted file mode 100644 index c3432aa051..0000000000 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/order_simulation_interaction_workflow/worklists.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="Worklists" module="Products.DCWorkflow.Worklists"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_mapping</string> </key> - <value> - <dictionary/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>worklists</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/simulation_movement_causality_interaction_workflow/interactions/calculate_causality.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/simulation_movement_causality_interaction_workflow/interactions/calculate_causality.xml index a0c905ccb2..156221ba5b 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/simulation_movement_causality_interaction_workflow/interactions/calculate_causality.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/simulation_movement_causality_interaction_workflow/interactions/calculate_causality.xml @@ -56,7 +56,7 @@ <key> <string>method_id</string> </key> <value> <list> - <string>_set.*</string> + <string>_set(?!LastId$|Ob$|Object$|Delivery$|DeliveryValue$)</string> </list> </value> </item> diff --git a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/simulation_movement_causality_interaction_workflow/scripts/SimulationMovement_calculateCausalityState.xml b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/simulation_movement_causality_interaction_workflow/scripts/SimulationMovement_calculateCausalityState.xml index ff7bbe038b..74e6f080ca 100644 --- a/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/simulation_movement_causality_interaction_workflow/scripts/SimulationMovement_calculateCausalityState.xml +++ b/bt5/erp5_base/WorkflowTemplateItem/portal_workflow/simulation_movement_causality_interaction_workflow/scripts/SimulationMovement_calculateCausalityState.xml @@ -50,31 +50,18 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>state_change[\'object\'].calculate()\n + <value> <string>delivery = state_change[\'object\'].getExplanationValue()\n +try:\n + delivery.aq_explicit.getCausalityState\n +except AttributeError:\n + return\n +delivery.activate(tag=\'expand:\'+delivery.getPath()).Delivery_calculate()\n </string> </value> </item> <item> <key> <string>_params</string> </key> <value> <string>state_change</string> </value> </item> - <item> - <key> <string>_proxy_roles</string> </key> - <value> - <tuple> - <string>Anonymous</string> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Authenticated</string> - <string>Author</string> - <string>Manager</string> - <string>Member</string> - <string>Owner</string> - <string>Reviewer</string> - </tuple> - </value> - </item> <item> <key> <string>id</string> </key> <value> <string>SimulationMovement_calculateCausalityState</string> </value> diff --git a/bt5/erp5_base/bt/template_workflow_id_list b/bt5/erp5_base/bt/template_workflow_id_list index 6b7d625b87..a572acc3b5 100644 --- a/bt5/erp5_base/bt/template_workflow_id_list +++ b/bt5/erp5_base/bt/template_workflow_id_list @@ -12,8 +12,6 @@ embedded_workflow local_permission_interaction_workflow movement_resource_interaction_workflow notification_message_workflow -order_movement_simulation_interaction_workflow -order_simulation_interaction_workflow person_interaction_workflow processing_status_workflow query_workflow diff --git a/bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/Alarm_buildConfiguratorStandardInvoice.xml b/bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/Alarm_buildConfiguratorStandardInvoice.xml index 80fbad954f..cb4f058aec 100644 --- a/bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/Alarm_buildConfiguratorStandardInvoice.xml +++ b/bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/Alarm_buildConfiguratorStandardInvoice.xml @@ -78,9 +78,11 @@ for builder_id in builder_id_list:\n serialization_tag = \'build:%s\' % delivery_portal_type\n index_tag = \'index:%s\' % delivery_portal_type\n after_tag = index_tag\n + # depend on reindexing so that select methods\n + # do not return movements that are already built\n after_method_id = (\'recursiveImmediateReindexObject\',\n \'immediateReindexObject\',\n - \'Delivery_updateAppliedRule\')\n + \'_updateSimulation\')\n activate_kw = dict(tag=index_tag)\n builder.activate(\n serialization_tag=serialization_tag,\n diff --git a/bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/Alarm_buildConfiguratorStandardPackingList.xml b/bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/Alarm_buildConfiguratorStandardPackingList.xml index 460b9b9285..7bad970e5f 100644 --- a/bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/Alarm_buildConfiguratorStandardPackingList.xml +++ b/bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/Alarm_buildConfiguratorStandardPackingList.xml @@ -75,9 +75,11 @@ for builder_id in builder_id_list:\n serialization_tag = \'build:%s\' % delivery_portal_type\n index_tag = \'index:%s\' % delivery_portal_type\n after_tag = index_tag\n + # depend on reindexing so that select methods\n + # do not return movements that are already built\n after_method_id = (\'recursiveImmediateReindexObject\',\n \'immediateReindexObject\',\n - \'Delivery_updateAppliedRule\')\n + \'_updateSimulation\')\n activate_kw = dict(tag=index_tag)\n builder.activate(\n serialization_tag=serialization_tag,\n diff --git a/bt5/erp5_configurator_standard_invoicing_template/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder.xml b/bt5/erp5_configurator_standard_invoicing_template/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder.xml index 295a6f81f3..ebc1493d7e 100644 --- a/bt5/erp5_configurator_standard_invoicing_template/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder.xml +++ b/bt5/erp5_configurator_standard_invoicing_template/PathTemplateItem/portal_deliveries/purchase_invoice_transaction_trade_model_builder.xml @@ -57,16 +57,6 @@ <none/> </value> </item> - <item> - <key> <string>delivery_after_generation_method_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_script_id</string> </key> - <value> <string>Invoice_reindexRelatedSimulation</string> </value> - </item> <item> <key> <string>delivery_cell_collect_order</string> </key> <value> diff --git a/bt5/erp5_configurator_standard_invoicing_template/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder.xml b/bt5/erp5_configurator_standard_invoicing_template/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder.xml index 4e028839f8..bc050873ab 100644 --- a/bt5/erp5_configurator_standard_invoicing_template/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder.xml +++ b/bt5/erp5_configurator_standard_invoicing_template/PathTemplateItem/portal_deliveries/sale_invoice_transaction_trade_model_builder.xml @@ -57,16 +57,6 @@ <none/> </value> </item> - <item> - <key> <string>delivery_after_generation_method_id</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>delivery_after_generation_script_id</string> </key> - <value> <string>Invoice_reindexRelatedSimulation</string> </value> - </item> <item> <key> <string>delivery_cell_collect_order</string> </key> <value> diff --git a/bt5/erp5_dummy_movement/DocumentTemplateItem/DummyDelivery.py b/bt5/erp5_dummy_movement/DocumentTemplateItem/DummyDelivery.py index ef22b0334c..bf97c6ff14 100644 --- a/bt5/erp5_dummy_movement/DocumentTemplateItem/DummyDelivery.py +++ b/bt5/erp5_dummy_movement/DocumentTemplateItem/DummyDelivery.py @@ -69,3 +69,6 @@ class DummyDelivery(Delivery): def setCausalityState(self, state): """Directly sets a causality state.""" self.causality_state = state + + def serializeCausalityState(self): + pass diff --git a/bt5/erp5_immobilisation/SkinTemplateItem/portal_skins/erp5_immobilisation/AmortisationTransaction_doSolveActions.xml b/bt5/erp5_immobilisation/SkinTemplateItem/portal_skins/erp5_immobilisation/AmortisationTransaction_doSolveActions.xml deleted file mode 100644 index 94c19ad730..0000000000 --- a/bt5/erp5_immobilisation/SkinTemplateItem/portal_skins/erp5_immobilisation/AmortisationTransaction_doSolveActions.xml +++ /dev/null @@ -1,113 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>request = context.REQUEST\n -Base_translateString = context.Base_translateString\n -\n -listbox = request.get(\'listbox\')\n -start_date = context.getStartDate()\n -stop_date = context.getStopDate()\n -tag = context.getPath() + \'_split\'\n -\n -split_and_defer = 0\n -\n -if listbox is not None:\n - context.updateAppliedRule("default_delivery_rule")\n - for line in listbox.values():\n - url = line[\'listbox_key\']\n - quantity = line[\'quantity\']\n - movement = context.restrictedTraverse(url)\n - movement.edit(quantity=str(quantity))\n - choice = line[\'choice\']\n - if choice == \'SplitAndDefer\':\n - split_and_defer = 1\n - context.portal_simulation.solveMovement(movement, None, "SplitAndDefer", \n - start_date=start_date, stop_date=stop_date, \n - activate_kw={\'tag\':tag})\n - elif choice == \'CopyToTarget\':\n - context.portal_simulation.solveMovement(movement, None,"CopyToTarget", activate_kw={\'tag\':tag})\n -\n - context.activate(after_tag=tag).updateCausalityState()\n -\n - if split_and_defer:\n - context_portal_type = context.getPortalType()\n - explanation_uid_list = [context.getUid()]\n - # Create delivery\n - if context_portal_type == \'Internal Packing List\':\n - delivery_builder = context.portal_deliveries.serp_internal_packing_list_builder\n - elif context_portal_type == \'Purchase Packing List\':\n - order = context.getCausalityValue()\n - explanation_uid_list.append(order.getUid())\n - delivery_builder = context.portal_deliveries.purchase_packing_list_builder\n -\n - delivery_builder.activate(activity=\'SQLQueue\', after_tag=tag).build(explanation_uid=explanation_uid_list)\n - \n -message = Base_translateString("${obj_portal_type} updated.", mapping={\'obj_portal_type\':context.getTranslatedPortalType()})\n -message = message.replace(\' \', \'+\')\n -\n -redirect_url = \'%s/%s?%s\' % (context.absolute_url(), form_id, \n - \'portal_status_message=%s\' % message)\n -context.REQUEST[ \'RESPONSE\' ].redirect( redirect_url )\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>form_id, dialog_id=\'\', **kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>AmortisationTransaction_doSolveActions</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_postGeneration.xml b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_postGeneration.xml index acf0dab929..60b84fe66f 100644 --- a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_postGeneration.xml +++ b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_postGeneration.xml @@ -56,14 +56,6 @@ the new Invoice.\n """\n from Products.ERP5Type.Message import translateString\n -try:\n - from Products.CMFCore.WorkflowCore import WorkflowException\n -except ImportError:\n - # WorkflowException has not always been allowed in restricted\n - # environment, in this case, make sure WorkflowException is \n - # defined \n - class WorkflowException(Exception):\n - pass\n \n if related_simulation_movement_path_list is None:\n raise RuntimeError, \'related_simulation_movement_path_list is missing. Update ERP5 Product.\'\n @@ -101,24 +93,11 @@ if not invoice.hasTitle() and related_packing_list is not None and \\\n invoice.setTitle(related_packing_list.getTitle())\n \n # initialize accounting_workflow to confirmed state\n -confirm_tag = \'%s_confirm\' % invoice.getPath()\n if invoice.getSimulationState() == \'draft\':\n - invoice.activate(after_path_and_method_id=(related_simulation_movement_path_list,\n - (\'immediateReindexObject\',\'recursiveImmediateReindexObject\')),\n - tag=confirm_tag).Delivery_confirm()\n + invoice.Delivery_confirm()\n else:\n # call builder just same as after script of \'confirm\' transition\n - invoice.activate(after_path_and_method_id=(related_simulation_movement_path_list,\n - (\'immediateReindexObject\',\'recursiveImmediateReindexObject\')),\n - tag=confirm_tag).Delivery_expandAndBuild()\n -\n -# First set the invoice in the building state on the causality workflow\n -invoice.startBuilding()\n -\n -# Then an activity should put the causality state in diverged or solved\n -invoice.activate(after_path_and_method_id=(related_simulation_movement_path_list,\n - (\'immediateReindexObject\',\'recursiveImmediateReindexObject\')),\n - after_tag=confirm_tag).updateCausalityState()\n + invoice.localBuild()\n ]]></string> </value> diff --git a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_postTransactionLineGeneration.xml b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_postTransactionLineGeneration.xml index 236ce51495..2768f8a8fb 100644 --- a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_postTransactionLineGeneration.xml +++ b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/InvoiceTransaction_postTransactionLineGeneration.xml @@ -61,23 +61,22 @@ # on the Transaction and delete resource on the lines.\n # TODO: this is a Property Assignment Movement Group\n \n -accounting_line_portal_type = context.getPortalAccountingMovementTypeList()\n -resources_keys = {}\n -for line in context.contentValues(portal_type=accounting_line_portal_type):\n - resources_keys[line.getResource()] = 1\n -\n -if len(resources_keys.keys()) == 1 :\n +line_list = context.objectValues(\n + portal_type=context.getPortalAccountingMovementTypeList())\n +resource_set = set(line.getResource() for line in line_list)\n +try:\n + resource, = resource_set\n +except ValueError:\n + raise ValueError("%s doesn\'t have only one resource %s" % (\n + context.getPath(), list(resource_set)))\n +if context.getResource() != resource:\n # set the resource on the transaction\n - context.setResource(resources_keys.keys()[0])\n - # and delete on the invoice lines, so that if the user\n - # changes the ressource on the transaction, it also change on \n - # the lines. \n - for line in context.contentValues(portal_type=accounting_line_portal_type):\n - line.setResource(None)\n - assert(line.getResource() == context.getResource())\n -else :\n - raise ValueError, "%s doesn\'t have only one resource %s" % (\n - context.getPath(), resources_keys.keys())\n + context.setResource(resource)\n +# and delete on the invoice lines, so that if the user changes\n +# the ressource on the transaction, it also change on the lines.\n +for line in line_list:\n + line.setResource(None)\n + assert line.getResource() == resource\n \n # round debit / credit on created transaction.\n context.AccountingTransaction_roundDebitCredit()\n diff --git a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/Invoice_reindexRelatedSimulation.xml b/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/Invoice_reindexRelatedSimulation.xml deleted file mode 100644 index 372a64887a..0000000000 --- a/bt5/erp5_invoicing/SkinTemplateItem/portal_skins/erp5_invoicing/Invoice_reindexRelatedSimulation.xml +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return context.applyToDeliveryRelatedMovement(\n - method_id=\'recursiveReindexObject\')\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Invoice_reindexRelatedSimulation</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/scripts/Order_appliedToRelatedMovement.xml b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/scripts/Order_appliedToRelatedMovement.xml deleted file mode 100644 index b388a6bcdd..0000000000 --- a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/scripts/Order_appliedToRelatedMovement.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>order = state_change[\'object\']\n -\n -order.applyToOrderRelatedMovement(method_id=\'expand\')\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Order_appliedToRelatedMovement</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/scripts/Order_buildPackingList.xml b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/scripts/Order_buildPackingList.xml index fd5d6c2bb3..08c956ba76 100644 --- a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/scripts/Order_buildPackingList.xml +++ b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/scripts/Order_buildPackingList.xml @@ -50,46 +50,8 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string encoding="cdata"><![CDATA[ - -order = state_change[\'object\']\n -business_process = order.getSpecialiseValue()\n -\n -# When a business process is selected as specialise, ProductionOrderModelRule can be used.\n -# But another one is selected, ProductionOrderRule is still used.\n -if (business_process is not None and\n - business_process.getPortalType() in context.getPortalBusinessProcessTypeList()):\n - rule_reference=\'default_production_order_model_rule\'\n - builder_list = []\n - for path in business_process.getBuildablePathValueList(order):\n - builder_list.extend(path.getDeliveryBuilderValueList())\n -else:\n - rule_reference=\'default_production_order_rule\'\n - builder_list = [\n - order.portal_deliveries.production_report_builder,\n - order.portal_deliveries.production_packing_list_builder\n -]\n -\n -order_path = order.getPath()\n -tag = order_path + \'_updateAppliedRule\'\n -expand_tag = order_path + \'_expand\'\n -activate_kw = {\'tag\':expand_tag, \'priority\':3}\n -order.activate(tag=tag, after_tag=expand_tag).updateAppliedRule(rule_reference=rule_reference, activate_kw=activate_kw)\n -\n -for i in xrange(len(builder_list)):\n - if i > 0:\n - after_tag = (tag, expand_tag, \'%s_builder_%s\' % (order_path, i-1))\n - else:\n - after_tag = (tag, expand_tag)\n - builder_list[i].activate(\n - activity=\'SQLQueue\',\n - after_tag=after_tag,\n - tag=\'%s_builder_%s\' % (order_path, i),\n - priority=3).build(explanation_uid=order.getUid(),\n - activate_kw=activate_kw)\n - - -]]></string> </value> + <value> <string>state_change[\'object\'].localBuild()\n +</string> </value> </item> <item> <key> <string>_params</string> </key> diff --git a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/scripts/Order_createOrderRule.xml b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/scripts/Order_createOrderRule.xml deleted file mode 100644 index 350a9346ba..0000000000 --- a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/scripts/Order_createOrderRule.xml +++ /dev/null @@ -1,82 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>order = state_change[\'object\']\n -business_process = order.getSpecialiseValue()\n -\n -# When a business process is selected as specialise, ProductionOrderModelRule can be used.\n -# But another one is selected, ProductionOrderRule is still used.\n -if (business_process is not None and\n - business_process.getPortalType() in context.getPortalBusinessProcessTypeList()):\n - rule_reference=\'default_production_order_model_rule\'\n -else:\n - rule_reference=\'default_production_order_rule\'\n -\n -path = order.getPath()\n -tag = \'%s_updateAppliedRule\' % path\n -expand_tag = \'%s_expand\' % path\n -activate_kw = {\'tag\':expand_tag, \'priority\':3}\n -order.activate(tag=tag, after_tag=expand_tag).updateAppliedRule(rule_reference=rule_reference, activate_kw=activate_kw)\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change, **kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Order_createOrderRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/states/closed.xml b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/states/closed.xml deleted file mode 100644 index ad57ef0fa9..0000000000 --- a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/states/closed.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>closed</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Closed</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple/> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="PersistentMapping" module="Persistence.mapping"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/states/open.xml b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/states/open.xml deleted file mode 100644 index 0123d56528..0000000000 --- a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/states/open.xml +++ /dev/null @@ -1,106 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="StateDefinition" module="Products.DCWorkflow.States"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>open</string> </value> - </item> - <item> - <key> <string>permission_roles</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Open</string> </value> - </item> - <item> - <key> <string>transitions</string> </key> - <value> - <tuple> - <string>close</string> - <string>close_action</string> - </tuple> - </value> - </item> - <item> - <key> <string>type_list</string> </key> - <value> - <tuple/> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <tuple> - <global name="PersistentMapping" module="Persistence.mapping"/> - <tuple/> - </tuple> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>data</string> </key> - <value> - <dictionary> - <item> - <key> <string>Access contents information</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - <item> - <key> <string>Add portal content</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>Delete objects</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>Modify portal content</string> </key> - <value> - <tuple/> - </value> - </item> - <item> - <key> <string>View</string> </key> - <value> - <tuple> - <string>Assignee</string> - <string>Assignor</string> - <string>Associate</string> - <string>Auditor</string> - <string>Manager</string> - </tuple> - </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/cancel.xml b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/cancel.xml index b4a0cd8578..99c17f9368 100644 --- a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/cancel.xml +++ b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/cancel.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string></string> </value> @@ -20,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>Order_appliedToRelatedMovement</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/close.xml b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/close.xml deleted file mode 100644 index 95564c1964..0000000000 --- a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/close.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>close</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>closed</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/close_action.xml b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/close_action.xml deleted file mode 100644 index dbd463dc0c..0000000000 --- a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/close_action.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>close</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>close_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/informDeliveryList.xml b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/informDeliveryList.xml deleted file mode 100644 index dffde926c7..0000000000 --- a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/informDeliveryList.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>informDeliveryList</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/open.xml b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/open.xml deleted file mode 100644 index a3dcf63517..0000000000 --- a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/open.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>open</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string>open</string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/open_action.xml b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/open_action.xml deleted file mode 100644 index 8323f18f85..0000000000 --- a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/open_action.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string>open</string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>open_action</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>1</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/order.xml b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/order.xml index 27e7806005..7197217a76 100644 --- a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/order.xml +++ b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/order.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string></string> </value> @@ -20,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>Order_createOrderRule</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/plan.xml b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/plan.xml index 210313610b..5c29fb7ba5 100644 --- a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/plan.xml +++ b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_order_workflow/transitions/plan.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string></string> </value> @@ -20,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>Order_createOrderRule</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_packing_list_workflow/scripts/PackingList_updateAppliedRule.xml b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_packing_list_workflow/scripts/PackingList_updateAppliedRule.xml deleted file mode 100644 index 4a3ff4a938..0000000000 --- a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_packing_list_workflow/scripts/PackingList_updateAppliedRule.xml +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>packing_list = state_change[\'object\']\n -\n -activate_kw = {}\n -related_order = packing_list.getCausalityValue()\n -path = packing_list.getPath()\n -tag = \'%s_updateAppliedRule\' % path\n -expand_tag = \'%s_expand\' % path\n -activate_kw = {\'tag\':expand_tag,\'priority\':3}\n -after_tag_list = [expand_tag]\n -if related_order is not None:\n - # XXX is it really required?\n - after_tag_list.append(\'%s_expand\' % related_order.getPath())\n -\n -packing_list.activate(after_tag=after_tag_list,\n - tag=tag,\n - priority=3).Delivery_updateAppliedRule(activate_kw=activate_kw)\n -\n -\n -# Make sure to reindex related simulation movement if we are already\n -# simulated, call reindexObject, not immediateReindexObject so that\n -# catalogObjectList will be called with many objects\n -# XXX is it really required?\n -packing_list.activate(after_tag=after_tag_list,\n - tag=tag,\n - priority=3).applyToDeliveryRelatedMovement(method_id=\'reindexObject\')\n -\n -if packing_list.getCausalityState() == \'draft\':\n - packing_list.startBuilding()\n -# XXX is it really required?\n -packing_list.activate(\n - after_tag = tag,\n -).updateCausalityState()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change, **kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>PackingList_updateAppliedRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_packing_list_workflow/transitions/confirm.xml b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_packing_list_workflow/transitions/confirm.xml index 9feab75359..0e5838ee65 100644 --- a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_packing_list_workflow/transitions/confirm.xml +++ b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_packing_list_workflow/transitions/confirm.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string></string> </value> @@ -20,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>PackingList_updateAppliedRule</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_packing_list_workflow/transitions/deliver.xml b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_packing_list_workflow/transitions/deliver.xml index a69becbfa8..b23e685465 100644 --- a/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_packing_list_workflow/transitions/deliver.xml +++ b/bt5/erp5_mrp/WorkflowTemplateItem/portal_workflow/production_packing_list_workflow/transitions/deliver.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string></string> </value> @@ -20,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>PackingList_updateAppliedRule</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_getRuleReference.xml b/bt5/erp5_open_trade/SkinTemplateItem/portal_skins/erp5_open_trade/OpenOrder_getRuleReference.xml similarity index 97% rename from bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_getRuleReference.xml rename to bt5/erp5_open_trade/SkinTemplateItem/portal_skins/erp5_open_trade/OpenOrder_getRuleReference.xml index c320b2b1f7..1001b3c389 100644 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_getRuleReference.xml +++ b/bt5/erp5_open_trade/SkinTemplateItem/portal_skins/erp5_open_trade/OpenOrder_getRuleReference.xml @@ -59,7 +59,7 @@ </item> <item> <key> <string>id</string> </key> - <value> <string>SaleOrder_getRuleReference</string> </value> + <value> <string>OpenOrder_getRuleReference</string> </value> </item> </dictionary> </pickle> diff --git a/bt5/erp5_open_trade/SkinTemplateItem/portal_skins/erp5_open_trade/OpenOrder_updateSimulation.xml b/bt5/erp5_open_trade/SkinTemplateItem/portal_skins/erp5_open_trade/OpenOrder_updateSimulation.xml index 8c06eddcfa..75a1b015b8 100644 --- a/bt5/erp5_open_trade/SkinTemplateItem/portal_skins/erp5_open_trade/OpenOrder_updateSimulation.xml +++ b/bt5/erp5_open_trade/SkinTemplateItem/portal_skins/erp5_open_trade/OpenOrder_updateSimulation.xml @@ -50,22 +50,15 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>subscription_item_dict = dict()\n + <value> <string>subscription_item_set = set()\n \n -for open_order_line in context.contentValues():\n - for path in [open_order_line] + open_order_line.getCellValueList():\n - for item in path.getAggregateValueList():\n - if item.providesIExpandableItem(): # XXX hack to make it fails\n - subscription_item_dict[item] = 1\n -\n -# XXX tag / after tag !\n -for item in subscription_item_dict:\n - activate_kw = dict(tag=\'%s_expand\' % item.getPath())\n - applied_rule = item.getCausalityRelatedValue(portal_type=\'Applied Rule\')\n - if applied_rule is not None:\n - applied_rule.activate(activate_kw=activate_kw).expand(activate_kw=activate_kw)\n - else:\n - item.activate(activate_kw=activate_kw).expand(activate_kw=activate_kw)\n +for open_order_line in context.objectValues():\n + for ob in [open_order_line] + open_order_line.getCellValueList():\n + for item in ob.getAggregateValueList():\n + if getattr(item.aq_explicit, \'updateSimulation\', None) is not None and \\\n + item not in subscription_item_set:\n + subscription_item_set.add(item)\n + item.updateSimulation(expand_root=1)\n </string> </value> </item> <item> diff --git a/bt5/erp5_open_trade/SkinTemplateItem/portal_skins/erp5_open_trade/OpenPurchaseOrder_getRuleReference.xml b/bt5/erp5_open_trade/SkinTemplateItem/portal_skins/erp5_open_trade/OpenPurchaseOrder_getRuleReference.xml deleted file mode 100644 index 655ed2b630..0000000000 --- a/bt5/erp5_open_trade/SkinTemplateItem/portal_skins/erp5_open_trade/OpenPurchaseOrder_getRuleReference.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return \'default_order_rule\'\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>OpenPurchaseOrder_getRuleReference</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_open_trade/SkinTemplateItem/portal_skins/erp5_open_trade/OpenSaleOrder_getRuleReference.xml b/bt5/erp5_open_trade/SkinTemplateItem/portal_skins/erp5_open_trade/OpenSaleOrder_getRuleReference.xml deleted file mode 100644 index ddd50b820e..0000000000 --- a/bt5/erp5_open_trade/SkinTemplateItem/portal_skins/erp5_open_trade/OpenSaleOrder_getRuleReference.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return \'default_order_rule\'\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>OpenSaleOrder_getRuleReference</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_open_trade/WorkflowTemplateItem/portal_workflow/open_order_path_simulation_interaction_workflow/scripts/InteractionWorkflow_updateSimulation.xml b/bt5/erp5_open_trade/WorkflowTemplateItem/portal_workflow/open_order_path_simulation_interaction_workflow/scripts/InteractionWorkflow_updateSimulation.xml index 6e01dfef0d..c835872113 100644 --- a/bt5/erp5_open_trade/WorkflowTemplateItem/portal_workflow/open_order_path_simulation_interaction_workflow/scripts/InteractionWorkflow_updateSimulation.xml +++ b/bt5/erp5_open_trade/WorkflowTemplateItem/portal_workflow/open_order_path_simulation_interaction_workflow/scripts/InteractionWorkflow_updateSimulation.xml @@ -50,15 +50,10 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>path = state_change[\'object\']\n -open_order_type_list = state_change.getPortal().getPortalOpenOrderTypeList()\n -\n -def getOpenOrder(path):\n - if path.getPortalType() in open_order_type_list:\n - return path\n - return getOpenOrder(path.getParentValue())\n -\n -getOpenOrder(path).OpenOrder_updateSimulation()\n + <value> <string>ob = state_change[\'object\']\n +while not ob.isOpenOrderType():\n + ob = ob.getParentValue()\n +ob.OpenOrder_updateSimulation()\n </string> </value> </item> <item> diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetModel_getRuleReference.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetModel_getRuleReference.xml deleted file mode 100644 index 930e99e38f..0000000000 --- a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetModel_getRuleReference.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return None\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>PaySheetModel_getRuleReference</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/TaskReport_copyOrderPropertiesAndNotifyAssignee.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/TaskReport_copyOrderPropertiesAndNotifyAssignee.xml index e5d1635b38..7666e9cead 100644 --- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/TaskReport_copyOrderPropertiesAndNotifyAssignee.xml +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/TaskReport_copyOrderPropertiesAndNotifyAssignee.xml @@ -117,18 +117,7 @@ Please visit ERP5: %(url)s\n subject="[ERP5 Task] %s" % task_report.getTitle(), \n message=message)\n \n -# Then, modify state\n -confirm_tag = \'%s_confirm\' % task_report.getPath()\n -task_report.activate(after_path_and_method_id=(related_simulation_movement_path_list,\n - (\'immediateReindexObject\',\'recursiveImmediateReindexObject\')),\n - tag=confirm_tag).Delivery_confirm()\n -\n -# First set the task_report in the building state\n -task_report.startBuilding()\n -# Then an activity should put the causality state in diverged or solved\n -task_report.activate(after_path_and_method_id=(related_simulation_movement_path_list,\n - (\'immediateReindexObject\',\'recursiveImmediateReindexObject\')),\n - after_tag=confirm_tag).updateCausalityState()\n +task_report.Delivery_confirm()\n </string> </value> </item> <item> diff --git a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/scripts/PackingList_buildInvoice.xml b/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/scripts/PackingList_buildInvoice.xml deleted file mode 100644 index 262f36a9a6..0000000000 --- a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/scripts/PackingList_buildInvoice.xml +++ /dev/null @@ -1,73 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>portal = sci.getPortal()\n -if portal.hasObject(\'accounting_module\'):\n - portal.portal_deliveries.task_invoice_builder.activate(\n - after_method_id = [ \'expand\', \n - \'recursiveImmediateReindexObject\',\n - \'immediateReindexObject\' ],\n - ).build()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>sci</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>PackingList_buildInvoice</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/scripts/PackingList_updateAppliedRule.xml b/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/scripts/PackingList_updateAppliedRule.xml deleted file mode 100644 index 4a3ff4a938..0000000000 --- a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/scripts/PackingList_updateAppliedRule.xml +++ /dev/null @@ -1,98 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>packing_list = state_change[\'object\']\n -\n -activate_kw = {}\n -related_order = packing_list.getCausalityValue()\n -path = packing_list.getPath()\n -tag = \'%s_updateAppliedRule\' % path\n -expand_tag = \'%s_expand\' % path\n -activate_kw = {\'tag\':expand_tag,\'priority\':3}\n -after_tag_list = [expand_tag]\n -if related_order is not None:\n - # XXX is it really required?\n - after_tag_list.append(\'%s_expand\' % related_order.getPath())\n -\n -packing_list.activate(after_tag=after_tag_list,\n - tag=tag,\n - priority=3).Delivery_updateAppliedRule(activate_kw=activate_kw)\n -\n -\n -# Make sure to reindex related simulation movement if we are already\n -# simulated, call reindexObject, not immediateReindexObject so that\n -# catalogObjectList will be called with many objects\n -# XXX is it really required?\n -packing_list.activate(after_tag=after_tag_list,\n - tag=tag,\n - priority=3).applyToDeliveryRelatedMovement(method_id=\'reindexObject\')\n -\n -if packing_list.getCausalityState() == \'draft\':\n - packing_list.startBuilding()\n -# XXX is it really required?\n -packing_list.activate(\n - after_tag = tag,\n -).updateCausalityState()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change, **kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>PackingList_updateAppliedRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/scripts/TaskReportWorkflow_notifyFinishedTaskReport.xml b/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/scripts/TaskReportWorkflow_notifyFinishedTaskReport.xml index e4dbc0339a..405f107574 100644 --- a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/scripts/TaskReportWorkflow_notifyFinishedTaskReport.xml +++ b/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/scripts/TaskReportWorkflow_notifyFinishedTaskReport.xml @@ -74,8 +74,6 @@ Please look at this URL:\n task_report.ERP5Site_getAbsoluteUrl(), task_report.getRelativeUrl())\n portal.portal_notifications.sendMessage(sender=source_person, recipient=destination_decision_person,\n subject="Task Report Finished", message=message)\n -\n -container.PackingList_updateAppliedRule(state_change)\n </string> </value> </item> <item> diff --git a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/transitions/confirm.xml b/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/transitions/confirm.xml index 11f3ce0835..28e992a621 100644 --- a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/transitions/confirm.xml +++ b/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/transitions/confirm.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string>Confirm Task</string> </value> @@ -20,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>PackingList_updateAppliedRule</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/transitions/start.xml b/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/transitions/start.xml index 3ec019fce6..093bc068d8 100644 --- a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/transitions/start.xml +++ b/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_report_workflow/transitions/start.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string>Start Task</string> </value> @@ -20,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>PackingList_updateAppliedRule</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/scripts/Task_appliedToRelatedMovement.xml b/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/scripts/Task_appliedToRelatedMovement.xml deleted file mode 100644 index 518aefde96..0000000000 --- a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/scripts/Task_appliedToRelatedMovement.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>task = state_change[\'object\']\n -\n -task.applyToOrderRelatedMovement(method_id=\'expand\')\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Task_appliedToRelatedMovement</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/scripts/Task_buildTaskReport.xml b/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/scripts/Task_buildTaskReport.xml index 5a2e6c0a38..aee204d5dd 100644 --- a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/scripts/Task_buildTaskReport.xml +++ b/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/scripts/Task_buildTaskReport.xml @@ -50,17 +50,7 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>task = state_change[\'object\']\n -\n -path = task.getPath()\n -tag = \'%s_updateAppliedRule\' % path\n -expand_tag = \'%s_expand\' % path\n -activate_kw = {\'tag\':expand_tag, \'priority\':3}\n -\n -task.activate(tag=tag, after_tag=expand_tag).Delivery_updateAppliedRule(activate_kw=activate_kw)\n -\n -delivery_builder = task.portal_deliveries.task_report_builder\n -delivery_builder.activate(activity=\'SQLQueue\',after_tag=(tag, expand_tag)).build(explanation_uid=task.getUid())\n + <value> <string>state_change[\'object\'].localBuild()\n </string> </value> </item> <item> diff --git a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/scripts/Task_createOrderRule.xml b/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/scripts/Task_createOrderRule.xml deleted file mode 100644 index ef1ebb09a2..0000000000 --- a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/scripts/Task_createOrderRule.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>task = state_change[\'object\']\n -\n -path = task.getPath()\n -tag = \'%s_updateAppliedRule\' % path\n -expand_tag = \'%s_expand\' % path\n -activate_kw = {\'tag\':expand_tag, \'priority\':3}\n -\n -task.activate(tag=tag, after_tag=expand_tag).Delivery_updateAppliedRule(activate_kw=activate_kw)\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change, **kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Task_createOrderRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/transitions/cancel.xml b/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/transitions/cancel.xml index 31cae503d8..7a90ac8a97 100644 --- a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/transitions/cancel.xml +++ b/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/transitions/cancel.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string>Cancel Task</string> </value> @@ -20,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>Task_appliedToRelatedMovement</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/transitions/order.xml b/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/transitions/order.xml index 5fb387d73e..83e59dff9a 100644 --- a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/transitions/order.xml +++ b/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/transitions/order.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string>Order Task</string> </value> @@ -20,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>Task_createOrderRule</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/transitions/plan.xml b/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/transitions/plan.xml index 965f804569..e90d6ac17f 100644 --- a/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/transitions/plan.xml +++ b/bt5/erp5_project/WorkflowTemplateItem/portal_workflow/task_workflow/transitions/plan.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string>Plan Task</string> </value> @@ -42,7 +46,7 @@ </item> <item> <key> <string>script_name</string> </key> - <value> <string>Task_createOrderRule</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>title</string> </key> diff --git a/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Delivery_buildOnComposedDocument.xml b/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Delivery_buildOnComposedDocument.xml deleted file mode 100644 index 952815c51b..0000000000 --- a/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Delivery_buildOnComposedDocument.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return context.asComposedDocument().build(explanation=context)\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Delivery_buildOnComposedDocument</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Delivery_expandAndBuild.xml b/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Delivery_expandAndBuild.xml deleted file mode 100644 index 53e8fb8c07..0000000000 --- a/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Delivery_expandAndBuild.xml +++ /dev/null @@ -1,94 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>delivery = context\n -delivery_path = delivery.getPath()\n -path_and_method_id = (delivery_path, (\'immediateReindexObject\', \'recursiveImmediateReindexObject\'))\n -expand_tag = delivery_path + \'_expand\'\n -tag = delivery_path + \'_updateAppliedRule\'\n -after_tag = [expand_tag]\n -\n -# wait for expand activities of related documents.\n -# XXX ideally, it should be calculated by explanation tree, instead of causalities.\n -for causality in delivery.getCausalityValueList():\n - causality_path = causality.getPath()\n - after_tag.append(\'%s_expand\' % causality_path)\n - after_tag.append(\'%s_updateAppliedRule\' % causality_path)\n -\n -priority = 3\n -activate_kw = { \n - \'tag\': expand_tag,\n - \'priority\':priority,\n -}\n -delivery.activate(\n - activity=\'SQLQueue\',\n - after_path_and_method_id=path_and_method_id,\n - after_tag=after_tag,\n - tag=tag,\n - priority=priority,\n - serialization_tag=tag,\n - ).Delivery_updateAppliedRule(activate_kw=activate_kw)\n -delivery.activate(activity=\'SQLQueue\', after_tag=(tag, expand_tag)).Delivery_buildOnComposedDocument()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Delivery_expandAndBuild</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Rule_testFalse.xml b/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Rule_testFalse.xml index 250d40112e..05fa1ba294 100644 --- a/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Rule_testFalse.xml +++ b/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Rule_testFalse.xml @@ -50,7 +50,9 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>return False\n + <value> <string># XXX: Using reference to select a rule (for a root applied rule) is wrong\n +# and should be replaced by predicate and workflow state.\n +return False\n </string> </value> </item> <item> diff --git a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_invoice_trade_model_builder.xml b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_invoice_trade_model_builder.xml index 2f9f7fcfc6..bda25df86b 100644 --- a/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_invoice_trade_model_builder.xml +++ b/bt5/erp5_simulation_performance_test/PathTemplateItem/portal_deliveries/test_sale_invoice_trade_model_builder.xml @@ -45,10 +45,6 @@ </list> </value> </item> - <item> - <key> <string>delivery_after_generation_script_id</string> </key> - <value> <string>Invoice_reindexRelatedSimulation</string> </value> - </item> <item> <key> <string>delivery_cell_collect_order</string> </key> <value> diff --git a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_simulation_performance_interaction_workflow/scripts/activateBuilder.xml b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_simulation_performance_interaction_workflow/scripts/activateBuilder.xml index 29944f4020..fd7c556ffd 100644 --- a/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_simulation_performance_interaction_workflow/scripts/activateBuilder.xml +++ b/bt5/erp5_simulation_performance_test/WorkflowTemplateItem/portal_workflow/test_simulation_performance_interaction_workflow/scripts/activateBuilder.xml @@ -65,7 +65,7 @@ index_tag = \'index:\' + delivery_portal_type\n after_method_id = (\'recursiveImmediateReindexObject\',\n \'immediateReindexObject\',\n \'expand\',\n - \'Delivery_updateAppliedRule\')\n + \'_updateSimulation\')\n activate_kw = dict(tag=index_tag)\n builder.activate(\n serialization_tag=serialization_tag,\n diff --git a/bt5/erp5_simulation_test/SkinTemplateItem/portal_skins/erp5_simulation_test/Alarm_buildInvoice.xml b/bt5/erp5_simulation_test/SkinTemplateItem/portal_skins/erp5_simulation_test/Alarm_buildInvoice.xml index 1f4b656894..a45046c51d 100644 --- a/bt5/erp5_simulation_test/SkinTemplateItem/portal_skins/erp5_simulation_test/Alarm_buildInvoice.xml +++ b/bt5/erp5_simulation_test/SkinTemplateItem/portal_skins/erp5_simulation_test/Alarm_buildInvoice.xml @@ -71,9 +71,11 @@ for builder_id in builder_id_list:\n serialization_tag = \'build:%s\' % delivery_portal_type\n index_tag = \'index:%s\' % delivery_portal_type\n after_tag = index_tag\n + # depend on reindexing so that select methods\n + # do not return movements that are already built\n after_method_id = (\'recursiveImmediateReindexObject\',\n \'immediateReindexObject\',\n - \'Delivery_updateAppliedRule\')\n + \'_updateSimulation\')\n activate_kw = dict(tag=index_tag)\n builder.activate(\n serialization_tag=serialization_tag,\n diff --git a/bt5/erp5_simulation_test/SkinTemplateItem/portal_skins/erp5_simulation_test/Alarm_buildPackingList.xml b/bt5/erp5_simulation_test/SkinTemplateItem/portal_skins/erp5_simulation_test/Alarm_buildPackingList.xml index d179398a38..2cc6ee0629 100644 --- a/bt5/erp5_simulation_test/SkinTemplateItem/portal_skins/erp5_simulation_test/Alarm_buildPackingList.xml +++ b/bt5/erp5_simulation_test/SkinTemplateItem/portal_skins/erp5_simulation_test/Alarm_buildPackingList.xml @@ -70,9 +70,11 @@ for builder_id in builder_id_list:\n serialization_tag = \'build:%s\' % delivery_portal_type\n index_tag = \'index:%s\' % delivery_portal_type\n after_tag = index_tag\n + # depend on reindexing so that select methods\n + # do not return movements that are already built\n after_method_id = (\'recursiveImmediateReindexObject\',\n \'immediateReindexObject\',\n - \'Delivery_updateAppliedRule\')\n + \'_updateSimulation\')\n activate_kw = dict(tag=index_tag)\n builder.activate(\n serialization_tag=serialization_tag,\n diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Delivery_confirm.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Delivery_confirm.xml index dea928668a..4b783531f8 100644 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Delivery_confirm.xml +++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Delivery_confirm.xml @@ -50,23 +50,18 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>from Products.ERP5Type.Message import translateString\n -\n -if REQUEST is not None:\n + <value> <string>if REQUEST is not None:\n from zExceptions import Unauthorized\n raise Unauthorized(script.id)\n \n -packing_list = context\n - \n -# Modify state\n -packing_list_state = packing_list.getSimulationState()\n -if packing_list_state == "draft":\n - packing_list.confirm(comment=translateString(\'Initialised by Delivery Builder.\'))\n +if context.getSimulationState() == "draft":\n + from Products.ERP5Type.Message import translateString\n + context.confirm(comment=translateString(\'Initialised by Delivery Builder.\'))\n </string> </value> </item> <item> <key> <string>_params</string> </key> - <value> <string>REQUEST=None, **kw</string> </value> + <value> <string>REQUEST=None</string> </value> </item> <item> <key> <string>id</string> </key> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalOrder_getRuleReference.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalOrder_getRuleReference.xml deleted file mode 100644 index 9a12a3d644..0000000000 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalOrder_getRuleReference.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return \'default_order_rule\'\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>InternalOrder_getRuleReference</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalPackingList_getRuleReference.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalPackingList_getRuleReference.xml deleted file mode 100644 index d91f9f5a99..0000000000 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/InternalPackingList_getRuleReference.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return None\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>InternalPackingList_getRuleReference</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Task_getRuleReference.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Order_getRuleReference.xml similarity index 97% rename from bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Task_getRuleReference.xml rename to bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Order_getRuleReference.xml index e5e864c213..a14a9997a5 100644 --- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Task_getRuleReference.xml +++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/Order_getRuleReference.xml @@ -59,7 +59,7 @@ </item> <item> <key> <string>id</string> </key> - <value> <string>Task_getRuleReference</string> </value> + <value> <string>Order_getRuleReference</string> </value> </item> </dictionary> </pickle> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PackingList_doSolveActions.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PackingList_doSolveActions.xml deleted file mode 100644 index 8f1fd294be..0000000000 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PackingList_doSolveActions.xml +++ /dev/null @@ -1,110 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>request = context.REQUEST\n -\n -listbox = request.get(\'listbox\')\n -start_date = context.getStartDate()\n -stop_date = context.getStopDate()\n -tag = context.getPath() + \'_split\'\n -\n -split_and_defer = 0\n -\n -if listbox is not None:\n - context.updateAppliedRule("default_delivery_rule")\n - for line_key in listbox:\n - line = listbox[line_key]\n - url = line[\'listbox_key\']\n - quantity = line[\'quantity\']\n - movement = context.restrictedTraverse(url)\n - movement.setProperty(\'quantity\', quantity, type=\'float\')\n - choice = line[\'choice\']\n - if choice == \'SplitAndDefer\':\n - split_and_defer = 1\n - context.portal_simulation.solveMovement(movement, None, "SplitAndDefer", start_date=start_date, stop_date=stop_date, activate_kw={\'tag\':tag})\n - elif choice == \'CopyToTarget\':\n - context.portal_simulation.solveMovement(movement, None,"CopyToTarget")\n -\n - context.updateCausalityState()\n -\n - if split_and_defer:\n - # Create delivery\n - order = context.getCausalityValue()\n - applied_rule = order.getCausalityRelatedValue(portal_type="Applied Rule")\n -\n - order_portal_type = order.getPortalType()\n - if order_portal_type == \'Sale Order\':\n - delivery_builder = order.portal_deliveries.sale_packing_list_builder\n - elif order_portal_type == \'Purchase Order\':\n - delivery_builder = order.portal_deliveries.purchase_packing_list_builder\n -\n - explanation_uid_list = [order.getUid(),context.getUid()]\n - delivery_builder.activate(activity=\'SQLQueue\',after_tag=tag).build(explanation_uid=explanation_uid_list)\n - \n -\n -_ = context.Base_translateString\n -return context.Base_redirect(form_id, keep_items=\n - dict(portal_status_message=_(\'Packing List updated.\')))\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>form_id, dialog_id=\'\', **kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>PackingList_doSolveActions</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/TaskReport_getRuleReference.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PackingList_getRuleReference.xml similarity index 96% rename from bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/TaskReport_getRuleReference.xml rename to bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PackingList_getRuleReference.xml index 883ce8a746..c868c12e07 100644 --- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/TaskReport_getRuleReference.xml +++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PackingList_getRuleReference.xml @@ -59,7 +59,7 @@ </item> <item> <key> <string>id</string> </key> - <value> <string>TaskReport_getRuleReference</string> </value> + <value> <string>PackingList_getRuleReference</string> </value> </item> </dictionary> </pickle> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchaseOrder_getRuleReference.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchaseOrder_getRuleReference.xml deleted file mode 100644 index a5cc120d87..0000000000 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchaseOrder_getRuleReference.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return \'default_order_rule\'\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>PurchaseOrder_getRuleReference</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchasePackingList_copyOrderProperties.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchasePackingList_copyOrderProperties.xml index 59776e0558..c80485efca 100644 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchasePackingList_copyOrderProperties.xml +++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchasePackingList_copyOrderProperties.xml @@ -50,31 +50,13 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>if related_simulation_movement_path_list is None:\n - raise RuntimeError, \'related_simulation_movement_path_list is missing. Update ERP5 Product.\'\n -\n -packing_list = context\n -\n -# First, copy Order properties\n -packing_list.PackingList_copyOrderProperties()\n -\n -# Then, modify state\n -confirm_tag = \'%s_confirm\' % packing_list.getPath()\n -packing_list.activate(after_path_and_method_id=(related_simulation_movement_path_list,\n - (\'immediateReindexObject\',\'recursiveImmediateReindexObject\')),\n - tag=confirm_tag).Delivery_confirm()\n -\n -# First set the packing_list in the building state\n -packing_list.startBuilding()\n -# Then an activity should put the causality state in diverged or solved\n -packing_list.activate(after_path_and_method_id=(related_simulation_movement_path_list,\n - (\'immediateReindexObject\',\'recursiveImmediateReindexObject\')),\n - after_tag=confirm_tag).updateCausalityState()\n + <value> <string>context.PackingList_copyOrderProperties()\n +context.Delivery_confirm()\n </string> </value> </item> <item> <key> <string>_params</string> </key> - <value> <string>related_simulation_movement_path_list=None</string> </value> + <value> <string>related_simulation_movement_path_list</string> </value> </item> <item> <key> <string>id</string> </key> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchasePackingList_getRuleReference.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchasePackingList_getRuleReference.xml deleted file mode 100644 index bc0dc2dbfe..0000000000 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchasePackingList_getRuleReference.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return \'default_delivery_rule\'\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>PurchasePackingList_getRuleReference</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/ReturnedPurchasePackingList_getRuleReference.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/ReturnedPurchasePackingList_getRuleReference.xml deleted file mode 100644 index e1265223cd..0000000000 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/ReturnedPurchasePackingList_getRuleReference.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return \'default_delivery_rule\'\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>ReturnedPurchasePackingList_getRuleReference</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/ReturnedSalePackingList_getRuleReference.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/ReturnedSalePackingList_getRuleReference.xml deleted file mode 100644 index c010348a7a..0000000000 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/ReturnedSalePackingList_getRuleReference.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return \'default_delivery_rule\'\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>ReturnedSalePackingList_getRuleReference</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SalePackingList_copyOrderProperties.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SalePackingList_copyOrderProperties.xml index f305735a0e..add477b06a 100644 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SalePackingList_copyOrderProperties.xml +++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SalePackingList_copyOrderProperties.xml @@ -50,33 +50,13 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>if related_simulation_movement_path_list is None:\n - raise RuntimeError, \'related_simulation_movement_path_list is missing. Update ERP5 Product.\'\n -\n -from Products.ERP5Type.Message import translateString\n -\n -packing_list = context\n - \n -# First, copy Order properties\n -packing_list.PackingList_copyOrderProperties()\n -\n -# Then, modify state\n -confirm_tag = \'%s_confirm\' % packing_list.getPath()\n -packing_list.activate(after_path_and_method_id=(related_simulation_movement_path_list,\n - (\'immediateReindexObject\',\'recursiveImmediateReindexObject\')),\n - tag=confirm_tag).Delivery_confirm()\n -\n -# First set the packing_list in the building state\n -packing_list.startBuilding()\n -# Then an activity should put the causality state in diverged or solved\n -packing_list.activate(after_path_and_method_id=(related_simulation_movement_path_list,\n - (\'immediateReindexObject\',\'recursiveImmediateReindexObject\')),\n - after_tag=confirm_tag).updateCausalityState()\n + <value> <string>context.PackingList_copyOrderProperties()\n +context.Delivery_confirm()\n </string> </value> </item> <item> <key> <string>_params</string> </key> - <value> <string>related_simulation_movement_path_list=None</string> </value> + <value> <string>related_simulation_movement_path_list</string> </value> </item> <item> <key> <string>id</string> </key> diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SalePackingList_getRuleReference.xml b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SalePackingList_getRuleReference.xml deleted file mode 100644 index 4df9b22919..0000000000 --- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SalePackingList_getRuleReference.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>return \'default_delivery_rule\'\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>SalePackingList_getRuleReference</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_appliedToRelatedMovement.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_appliedToRelatedMovement.xml deleted file mode 100644 index b388a6bcdd..0000000000 --- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_appliedToRelatedMovement.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>order = state_change[\'object\']\n -\n -order.applyToOrderRelatedMovement(method_id=\'expand\')\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Order_appliedToRelatedMovement</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_createOrderRule.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_createOrderRule.xml deleted file mode 100644 index 67ce33692a..0000000000 --- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/scripts/Order_createOrderRule.xml +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>order = state_change[\'object\']\n -order.Delivery_updateSimulation()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change, **kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>Order_createOrderRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/cancel.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/cancel.xml index fd636052d8..05ba2ecd25 100644 --- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/cancel.xml +++ b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/cancel.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string></string> </value> @@ -20,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>Order_appliedToRelatedMovement</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/confirm.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/confirm.xml index ee1b54cfb6..6793dd3382 100644 --- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/confirm.xml +++ b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/confirm.xml @@ -24,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>Order_createOrderRule</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/informDeliveryList.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/informDeliveryList.xml deleted file mode 100644 index dffde926c7..0000000000 --- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/informDeliveryList.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>actbox_category</string> </key> - <value> <string>workflow</string> </value> - </item> - <item> - <key> <string>actbox_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>actbox_url</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>after_script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>description</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>guard</string> </key> - <value> - <none/> - </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>informDeliveryList</string> </value> - </item> - <item> - <key> <string>new_state_id</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>script_name</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>trigger_type</string> </key> - <value> <int>2</int> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/order.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/order.xml index a1c6b8168e..6b9411f0d7 100644 --- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/order.xml +++ b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/order.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string></string> </value> @@ -20,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>Order_createOrderRule</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/plan.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/plan.xml index 4971ac7c23..81a918bcec 100644 --- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/plan.xml +++ b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/order_workflow/transitions/plan.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string></string> </value> @@ -20,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>Order_createOrderRule</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/PackingList_updateAppliedRule.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/PackingList_updateAppliedRule.xml deleted file mode 100644 index 1e320e062d..0000000000 --- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/scripts/PackingList_updateAppliedRule.xml +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>delivery = state_change[\'object\']\n -delivery.Delivery_updateSimulation()\n -\n -if delivery.getCausalityState() == \'draft\':\n - delivery.startBuilding()\n - path = delivery.getPath()\n - delivery.activate(\n - after_tag = (path + \'_calculate\', path + \'_updateAppliedRule\'),\n - ).updateCausalityState()\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>state_change, **kw</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>PackingList_updateAppliedRule</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/confirm.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/confirm.xml index 85c18c6638..6328c3015f 100644 --- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/confirm.xml +++ b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/confirm.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string></string> </value> @@ -20,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>PackingList_updateAppliedRule</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/deliver.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/deliver.xml index 4f22ac810a..8f1cc87131 100644 --- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/deliver.xml +++ b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/deliver.xml @@ -10,6 +10,10 @@ <key> <string>actbox_category</string> </key> <value> <string>workflow</string> </value> </item> + <item> + <key> <string>actbox_icon</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>actbox_name</string> </key> <value> <string></string> </value> @@ -20,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>PackingList_updateAppliedRule</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/start.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/start.xml index 302bb259fd..11589a1ccd 100644 --- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/start.xml +++ b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/start.xml @@ -24,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>PackingList_updateAppliedRule</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/stop.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/stop.xml index bd31a442a3..786c86bb46 100644 --- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/stop.xml +++ b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/packing_list_workflow/transitions/stop.xml @@ -24,7 +24,7 @@ </item> <item> <key> <string>after_script_name</string> </key> - <value> <string>PackingList_updateAppliedRule</string> </value> + <value> <string></string> </value> </item> <item> <key> <string>description</string> </key> diff --git a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/trade_model_line_interaction_workflow/scripts/TradeModelLine_updateParentDeliverySimulation.xml b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/trade_model_line_interaction_workflow/scripts/TradeModelLine_updateParentDeliverySimulation.xml index 3170be16e3..002c8fa31e 100644 --- a/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/trade_model_line_interaction_workflow/scripts/TradeModelLine_updateParentDeliverySimulation.xml +++ b/bt5/erp5_trade/WorkflowTemplateItem/portal_workflow/trade_model_line_interaction_workflow/scripts/TradeModelLine_updateParentDeliverySimulation.xml @@ -52,7 +52,7 @@ <key> <string>_body</string> </key> <value> <string>delivery = state_change[\'object\'].getParentValue()\n if delivery.isDelivery:\n - delivery.Delivery_updateSimulation()\n + delivery.updateSimulation(expand_related=1)\n </string> </value> </item> <item> diff --git a/product/ERP5/Document/AmortisationRule.py b/product/ERP5/Document/AmortisationRule.py index 1b2f4df957..f835592487 100644 --- a/product/ERP5/Document/AmortisationRule.py +++ b/product/ERP5/Document/AmortisationRule.py @@ -73,7 +73,7 @@ class AmortisationRule(RuleMixin): # Simulation workflow security.declareProtected(Permissions.ModifyPortalContent, 'expand') - def expand(self, applied_rule, force=0, **kw): + def expand(self, applied_rule, expand_policy=None, activate_kw={}): """ Expands the current movement downward. @@ -82,6 +82,8 @@ class AmortisationRule(RuleMixin): An applied rule can be expanded only if its parent movement is expanded. """ + assert expand_policy == "immediate" and not activate_kw + invalid_state_list = self.getPortalUpdatableAmortisationTransactionStateList() to_aggregate_movement_list = [] diff --git a/product/ERP5/Document/AppliedRule.py b/product/ERP5/Document/AppliedRule.py index 2a2d3cf018..beb4b34d14 100644 --- a/product/ERP5/Document/AppliedRule.py +++ b/product/ERP5/Document/AppliedRule.py @@ -40,13 +40,10 @@ from Products.ERP5Type.Base import WorkflowMethod from Products.ERP5Type.Globals import PersistentMapping from Products.ERP5Type.XMLObject import XMLObject from Products.ERP5Type.TransactionalVariable import getTransactionalVariable -from Products.ERP5Type.UnrestrictedMethod import UnrestrictedMethod +from Products.ERP5.ExpandPolicy import TREE_DELIVERED_CACHE_KEY from Products.ERP5.mixin.explainable import ExplainableMixin from Products.ERP5.mixin.rule import RuleMixin -TREE_DELIVERED_CACHE_KEY = 'AppliedRule._isTreeDelivered_cache' -TREE_DELIVERED_CACHE_ENABLED = 'TREE_DELIVERED_CACHE_ENABLED' - class AppliedRule(XMLObject, ExplainableMixin): """ An applied rule holds a list of simulation movements. @@ -83,7 +80,8 @@ class AppliedRule(XMLObject, ExplainableMixin): ) # Declarative interfaces - zope.interface.implements(interfaces.IMovementCollection,) + zope.interface.implements(interfaces.IExpandable, + interfaces.IMovementCollection) def tpValues(self) : """ show the content in the left pane of the ZMI """ @@ -95,74 +93,17 @@ class AppliedRule(XMLObject, ExplainableMixin): """Tells whether generated movement needs to be accounted or not.""" return self.getSpecialiseValue().isAccountable(movement) - security.declareProtected(Permissions.ModifyPortalContent, 'expand') - @UnrestrictedMethod - def expand(self, **kw): - """ - Expands the current movement downward. - - -> new status -> expanded - - An applied rule can be expanded only if its parent movement - is expanded. - """ - tv = getTransactionalVariable() - cache = tv.setdefault(TREE_DELIVERED_CACHE_KEY, {}) - cache_enabled = cache.get(TREE_DELIVERED_CACHE_ENABLED, 0) - - # enable cache - if not cache_enabled: - cache[TREE_DELIVERED_CACHE_ENABLED] = 1 - - rule = self.getSpecialiseValue() - if rule is not None: - rule.expand(self,**kw) - - # disable and clear cache - if not cache_enabled: - try: - del tv[TREE_DELIVERED_CACHE_KEY] - except KeyError: - pass + security.declarePrivate("getSimulationState") + def getSimulationState(self): + return - security.declareProtected(Permissions.ModifyPortalContent, 'solve') - def solve(self, solution_list): - """ - Solve inconsistency according to a certain number of solutions - templates. This updates the - - -> new status -> solved - - This applies a solution to an applied rule. Once - the solution is applied, the parent movement is checked. - If it does not diverge, the rule is reexpanded. If not, - diverge is called on the parent movement. - """ - rule = self.getSpecialiseValue() - if rule is not None: - rule.solve(self) - - security.declareProtected(Permissions.ModifyPortalContent, 'diverge') - def diverge(self): - """ - -> new status -> diverged - - This basically sets the rule to "diverged" - and blocks expansion process + security.declareProtected(Permissions.ModifyPortalContent, 'expand') + def expand(self, *args, **kw): + """Expand this applied rule to create new documents inside the applied rule """ - rule = self.getSpecialiseValue() - if rule is not None: - rule.diverge(self) + self.getSpecialiseValue().expand(self, *args, **kw) # Solvers - security.declareProtected(Permissions.AccessContentsInformation, - 'isStable') - def isStable(self): - """ - Tells whether the rule is stable or not. - """ - return self.getSpecialiseValue().isStable(self) - security.declareProtected(Permissions.AccessContentsInformation, 'isDivergent') def isDivergent(self, sim_mvt): @@ -205,26 +146,21 @@ class AppliedRule(XMLObject, ExplainableMixin): see SimulationMovement._isTreeDelivered """ - tv = getTransactionalVariable() - cache = tv.setdefault(TREE_DELIVERED_CACHE_KEY, {}) - cache_enabled = cache.get(TREE_DELIVERED_CACHE_ENABLED, 0) - - def getTreeDelivered(applied_rule): - for movement in applied_rule.objectValues(): + def getTreeDelivered(): + for movement in self.objectValues(): if movement._isTreeDelivered(): return True return False - + try: + cache = getTransactionalVariable()[TREE_DELIVERED_CACHE_KEY] + except KeyError: + return getTreeDelivered() rule_key = self.getRelativeUrl() - if cache_enabled: - try: - return cache[rule_key] - except: - result = getTreeDelivered(self) - cache[rule_key] = result - return result - else: - return getTreeDelivered(self) + try: + return cache[rule_key] + except KeyError: + cache[rule_key] = result = getTreeDelivered() + return result security.declareProtected(Permissions.AccessContentsInformation, 'getMovementList') @@ -234,59 +170,6 @@ class AppliedRule(XMLObject, ExplainableMixin): """ return self.objectValues(portal_type=RuleMixin.movement_type) - security.declareProtected(Permissions.AccessContentsInformation, - 'getIndexableChildSimulationMovementValueList') - def getIndexableChildSimulationMovementValueList(self): - return [x for x in self.getIndexableChildValueList() - if x.getPortalType() == 'Simulation Movement'] - - security.declarePublic('recursiveImmediateReindexSimulationMovement') - def recursiveImmediateReindexSimulationMovement(self, **kw): - """ - Applies immediateReindexObject recursively to Simulation Movements - """ - # Reindex direct children - root_indexable = int(getattr(self.getPortalObject(), 'isIndexable', 1)) - for movement in self.objectValues(): - if movement.isIndexable and root_indexable: - movement.immediateReindexObject(**kw) - # Go recursively - for movement in self.objectValues(): - for applied_rule in movement.objectValues(): - applied_rule.recursiveImmediateReindexSimulationMovement(**kw) - - security.declarePublic('recursiveReindexSimulationMovement') - def recursiveReindexSimulationMovement(self, activate_kw=None, **kw): - if self.isIndexable: - if activate_kw is None: - activate_kw = {} - - reindex_kw = self.getDefaultReindexParameterDict() - if reindex_kw is not None: - reindex_activate_kw = reindex_kw.pop('activate_kw', None) - if reindex_activate_kw is not None: - reindex_activate_kw = reindex_activate_kw.copy() - if activate_kw is not None: - # activate_kw parameter takes precedence - reindex_activate_kw.update(activate_kw) - activate_kw = reindex_activate_kw - kw.update(reindex_kw) - - group_id_list = [] - if kw.get("group_id", "") not in ('', None): - group_id_list.append(kw.get("group_id", "")) - if kw.get("sql_catalog_id", "") not in ('', None): - group_id_list.append(kw.get("sql_catalog_id", "")) - group_id = ' '.join(group_id_list) - - self.activate( - group_method_id='portal_catalog/catalogObjectList', - expand_method_id='getIndexableChildSimulationMovementValueList', - alternate_method_id='alternateReindexObject', - group_id=group_id, - serialization_tag=self.getRootDocumentPath(), - **activate_kw).recursiveImmediateReindexSimulationMovement(**kw) - def _migrateSimulationTree(self, get_matching_key, get_original_property_dict, root_rule=None): """Migrate an entire simulation tree in order to use new rules @@ -480,7 +363,7 @@ class AppliedRule(XMLObject, ExplainableMixin): AppliedRule.isIndexable = SimulationMovement.isIndexable = \ ConstantGetter('isIndexable', value=False) mixin.updateMovementCollection = updateMovementCollection - self.expand() + self.expand("immediate") finally: mixin.updateMovementCollection = orig_updateMovementCollection del AppliedRule.isIndexable, SimulationMovement.isIndexable @@ -512,7 +395,7 @@ class AppliedRule(XMLObject, ExplainableMixin): return rule_dict initial_rule_dict = fillRuleDict() try: - self.expand() + self.expand("immediate") except ConflictError: raise except Exception: diff --git a/product/ERP5/Document/Delivery.py b/product/ERP5/Document/Delivery.py index c94d64f651..f4707b6263 100644 --- a/product/ERP5/Document/Delivery.py +++ b/product/ERP5/Document/Delivery.py @@ -30,20 +30,18 @@ import zope.interface -from Products.CMFCore.utils import getToolByName from AccessControl import ClassSecurityInfo from Products.ERP5Type import Permissions, PropertySheet, interfaces from Products.ERP5Type.Accessor.Constant import PropertyGetter as ConstantGetter -from Products.ERP5Type.Errors import SimulationError from Products.ERP5Type.XMLObject import XMLObject from Products.ERP5.Document.ImmobilisationDelivery import ImmobilisationDelivery from Products.ERP5.mixin.amount_generator import AmountGeneratorMixin from Products.ERP5.mixin.composition import CompositionMixin +from Products.ERP5.mixin.rule import SimulableMixin from Products.ERP5Type.UnrestrictedMethod import UnrestrictedMethod - from zLOG import LOG, PROBLEM -class Delivery(XMLObject, ImmobilisationDelivery, +class Delivery(XMLObject, ImmobilisationDelivery, SimulableMixin, CompositionMixin, AmountGeneratorMixin): """ Each time delivery is modified, it MUST launch a reindexing of @@ -321,12 +319,6 @@ class Delivery(XMLObject, ImmobilisationDelivery, container_list.append(m) return container_list - def applyToDeliveryRelatedMovement(self, portal_type='Simulation Movement', - method_id='expand', **kw): - for simulation_movement in self._getAllRelatedSimulationMovementList(): - # And apply - getattr(simulation_movement.getObject(), method_id)(**kw) - ####################################################### # Causality computation security.declareProtected(Permissions.AccessContentsInformation, 'isConvergent') @@ -394,6 +386,16 @@ class Delivery(XMLObject, ImmobilisationDelivery, else: self.converge() + def updateSimulation(self, calculate=False, **kw): + if calculate: + path = self.getPath() + self.activate( + after_tag=('built:'+path, 'expand:'+path), + after_path_and_method_id=(path, '_localBuild'), + ).updateCausalityState() + if kw: + super(Delivery, self).updateSimulation(**kw) + def splitAndDeferMovementList(self, start_date=None, stop_date=None, movement_uid_list=[], delivery_solver=None, target_solver='CopyToTarget', delivery_builder=None): @@ -434,8 +436,9 @@ class Delivery(XMLObject, ImmobilisationDelivery, movement.activate(tag=solver_tag).Movement_solveMovement( delivery_solver, target_solver) tag_list.append(solver_tag) + kw = {'after_tag': tag_list[:], 'tag': expand_tag} for s_m in deferred_simulation_movement_list: - s_m.activate(after_tag=tag_list[:], tag=expand_tag).expand() + s_m.expand('deferred', activate_kw=kw) tag_list.append(expand_tag) detached_movement_url_list = [] @@ -476,9 +479,7 @@ class Delivery(XMLObject, ImmobilisationDelivery, Reindex children and simulation """ self.recursiveReindexObject(*k, **kw) - # NEW: we never rexpand simulation - This is a task for DSolver / TSolver - # Make sure expanded simulation is still OK (expand and reindex) - # self.activate().applyToDeliveryRelatedMovement(method_id = 'expand') + # do not reexpand simulation: this is a task for DSolver / TSolver ####################################################### # Stock Management @@ -685,150 +686,50 @@ class Delivery(XMLObject, ImmobilisationDelivery, ########################################################################## # Applied Rule stuff - @UnrestrictedMethod # XXX-JPS What is this ? - def updateAppliedRule(self, rule_reference=None, rule_id=None, **kw): - """ - Create a new Applied Rule if none is related, or call expand - on the existing one. - - The chosen applied rule will be the validated rule with reference == - rule_reference, and the higher version number. - """ - if rule_id is not None: - from warnings import warn - warn('rule_id to updateAppliedRule is deprecated; use rule_reference instead', - DeprecationWarning) - rule_reference = rule_id - - if rule_reference is None: - return - - # only expand if we are not in a "too early" or "too late" state - if (self.getSimulationState() in - self.getPortalDraftOrderStateList()): - return - - portal_rules = getToolByName(self, 'portal_rules') - res = portal_rules.searchFolder(reference=rule_reference, - validation_state="validated", sort_on='version', - sort_order='descending') # XXX validated is Hardcoded ! - if len(res) > 0: - rule_id = res[0].getId() + security.declareProtected(Permissions.AccessContentsInformation, + 'localBuild') + def localBuild(self, activity_kw=()): + """Activate builders for this delivery + + The generated activity will find all buildable business links for this + delivery, and call related builders, which will select all simulation + movements part of the same explanation(s) as the delivery. + + XXX: Consider moving it to SimulableMixin if it's useful for + Subscription Items. + """ + # XXX: Previous implementation waited for expand activities of related + # documents and even suggested to look at explanation tree, + # instead of causalities. Is it required ? + kw = {'priority': 3} + kw.update(activity_kw) + after_tag = kw.pop('after_tag', None) + if isinstance(after_tag, basestring): + after_tag = [after_tag] else: - raise ValueError, 'No such rule as %r is found' % rule_reference + after_tag = list(after_tag) if after_tag else [] + after_tag.append('expand:' + self.getPath()) + self.activate(after_tag=after_tag, **kw)._localBuild() - self._createAppliedRule(rule_id, **kw) + def _localBuild(self): + """Do an immediate local build for this delivery""" + return self.asComposedDocument().build(explanation=self) - def _createAppliedRule(self, rule_id, activate_kw=None, **kw): - """ - Create a new Applied Rule is none is related, or call expand - on the existing one. - """ - # Look up if existing applied rule - my_applied_rule_list = self.getCausalityRelatedValueList( - portal_type='Applied Rule') - my_applied_rule = None - if len(my_applied_rule_list) == 0: - if self.isSimulated(): - # No need to create a DeliveryRule - # if we are already in the simulation process - pass - else: - # Create a new applied order rule (portal_rules.order_rule) - portal_rules = getToolByName(self, 'portal_rules') - portal_simulation = getToolByName(self, 'portal_simulation') - my_applied_rule = portal_rules[rule_id].\ - constructNewAppliedRule(portal_simulation, - activate_kw=activate_kw) - # Set causality - my_applied_rule.setCausalityValue(self) - # We must make sure this rule is indexed - # now in order not to create another one later - my_applied_rule.reindexObject(activate_kw=activate_kw, **kw) - elif len(my_applied_rule_list) == 1: - # Re expand the rule if possible - my_applied_rule = my_applied_rule_list[0] - else: - raise SimulationError('Delivery %s has more than one applied' - ' rule.' % self.getRelativeUrl()) - - my_applied_rule_id = None - expand_activate_kw = {} - if my_applied_rule is not None: - my_applied_rule_id = my_applied_rule.getId() - expand_activate_kw['after_path_and_method_id'] = ( - my_applied_rule.getPath(), - ['immediateReindexObject', 'recursiveImmediateReindexObject']) - # We are now certain we have a single applied rule - # It is time to expand it - self.activate(activate_kw=activate_kw, **expand_activate_kw).expand( - applied_rule_id=my_applied_rule_id, - activate_kw=activate_kw, **kw) - - security.declareProtected(Permissions.ModifyPortalContent, 'expand') + # deprecated - see ExpandableMixin @UnrestrictedMethod - def expand(self, applied_rule_id=None, activate_kw=None,**kw): - """ - Reexpand applied rule - - Also reexpand all rules related to movements - - NOTE: seems to be deprecated ? - """ - excluded_rule_path_list = [] - if applied_rule_id is not None: - my_applied_rule = self.portal_simulation.get(applied_rule_id, None) - if my_applied_rule is not None: - excluded_rule_path_list.append(my_applied_rule.getPath()) - my_applied_rule.expand(activate_kw=activate_kw,**kw) - # once expanded, the applied_rule must be reindexed - # because some simulation_movement may change even - # if there are not edited (acquisition) - # - # XXX yo thinks that this is excessive. First of all, we may - # need to reindex simulation movements but not applied rules - # here. So we should skip reindexing applied rules. - # In addition, the policy is "copy everything required to - # simulation movements", so acquisitions should not matter to - # indexing. The only exception is the simulation state. - # I think, if each simulation movement remembers the previous - # state, we can avoid unnecessary reindexing. - my_applied_rule.recursiveReindexSimulationMovement(activate_kw=activate_kw) - else: - LOG("ERP5", PROBLEM, - "Could not expand applied rule %s for delivery %s" %\ - (applied_rule_id, self.getId())) - self.expandRuleRelatedToMovement( - excluded_rule_path_list=excluded_rule_path_list, - activate_kw=activate_kw, - **kw) - - security.declareProtected(Permissions.ModifyPortalContent, - 'expandRuleRelatedToMovement') - def expandRuleRelatedToMovement(self,excluded_rule_path_list=None, - activate_kw=None,**kw): - """ - Some delivery movement may be related to another applied rule than - the one related to the delivery. Delivery movements may be related - to many simulation movements from many different root applied rules, - so it is required to expand the applied rule parent to related - simulation movements. - - exclude_rule_path : do not expand this applied rule (or children - applied rule) - """ - excluded_rule_path_list = set(excluded_rule_path_list or ()) - to_expand = sorted(set(sm.getParentValue() - for sm in self._getAllRelatedSimulationMovementList() - if sm.getRootAppliedRule().getPath() not in excluded_rule_path_list), - key=lambda x: x.getRelativeUrl()) - prev_ar = None - for ar in to_expand: - if not ar.aq_inContextOf(prev_ar): - ar.expand(activate_kw=activate_kw, **kw) - ar.recursiveReindexSimulationMovement(activate_kw=activate_kw) - prev_ar = ar + def updateAppliedRule(self, rule_reference=None, rule_id=None, **kw): + reference = self.getRuleReference() + if (rule_id or rule_reference) != reference: + raise RuntimeError("expected %r as rule reference, got %r" + % (reference, rule_reference)) + self._updateSimulation(create_root=1) # should it be always reexpanded ? + + def _createRootAppliedRule(self): + portal = self.getPortalObject() + # Only create RAR if we are not in a "too early" or "too late" state. + if self.getSimulationState() not in portal.getPortalDraftOrderStateList(): + return super(Delivery, self)._createRootAppliedRule() security.declareProtected( Permissions.AccessContentsInformation, 'getRootCausalityValueList') @@ -894,15 +795,6 @@ class Delivery(XMLObject, ImmobilisationDelivery, # since the main purpose of this method is superceded # by IDivergenceController - def getRuleReference(self): - """Returns an appropriate rule reference.""" - method = self._getTypeBasedMethod('getRuleReference') - if method is not None: - return method() - else: - raise SimulationError('%s_getRuleReference script is missing.' - % self.getPortalType().replace(' ', '')) - security.declareProtected( Permissions.AccessContentsInformation, 'getRootSpecialiseValue') def getRootSpecialiseValue(self, portal_type_list): diff --git a/product/ERP5/Document/ImmobilisableItem.py b/product/ERP5/Document/ImmobilisableItem.py index a1f70e40a5..b8cb9dcebf 100644 --- a/product/ERP5/Document/ImmobilisableItem.py +++ b/product/ERP5/Document/ImmobilisableItem.py @@ -78,12 +78,7 @@ class ImmobilisableItem(Item, Amount): , PropertySheet.Amortisation ) - # FIXME: ImmobilisableItem have to implement IExpandableItem, but they do - # not have 'expand' method at the time beeing, simulation methods used here - # have different names. - - zope.interface.implements(interfaces.IExpandableItem, - interfaces.IImmobilisationItem) + zope.interface.implements(interfaces.IImmobilisationItem) # IExpandableItem interface implementation def getSimulationMovementSimulationState(self, simulation_movement): @@ -101,12 +96,6 @@ class ImmobilisableItem(Item, Amount): return 'planned' return 'draft' - def expand(self, applied_rule_id=None, activate_kw=None, **kw): - """Expand is not implemented that way for now... - """ - pass - - security.declareProtected(Permissions.AccessContentsInformation, 'getImmobilisationRelatedMovementList') def getImmobilisationRelatedMovementList(self, @@ -1076,7 +1065,7 @@ class ImmobilisableItem(Item, Amount): my_applied_rule = my_applied_rule_list[-1] # We are now certain we have a single applied rule # It is time to expand it - my_applied_rule.expand() + my_applied_rule.expand('immediate') # XXX: can it be done by activity ? security.declareProtected(Permissions.AccessContentsInformation, 'expandAmortisation') diff --git a/product/ERP5/Document/Movement.py b/product/ERP5/Document/Movement.py index 53021deaf3..0bce155eb1 100644 --- a/product/ERP5/Document/Movement.py +++ b/product/ERP5/Document/Movement.py @@ -37,9 +37,11 @@ from Products.ERP5Type.Base import Base #from Products.ERP5.Core import MetaNode, MetaResource from Products.ERP5Type.XMLObject import XMLObject +from Products.ERP5Type.TransactionalVariable import getTransactionalVariable from Products.ERP5.mixin.amount_generator import AmountGeneratorMixin from Products.ERP5.mixin.composition import CompositionMixin from Products.ERP5.Document.Amount import Amount +from Products.ERP5.Document.SimulatedDeliveryBuilder import BUILDING_KEY from zLOG import LOG, WARNING @@ -582,6 +584,23 @@ class Movement(XMLObject, Amount, CompositionMixin, AmountGeneratorMixin): return (len(self.getDeliveryRelatedValueList()) > 0) or\ (len(self.getOrderRelatedValueList()) > 0) + security.declareProtected(Permissions.AccessContentsInformation, + 'isGeneratedBySimulation') + def isGeneratedBySimulation(self): + """ + Returns true if the movement is linked to a simulation movement whose + parent is not a root applied rule, even if the movement is being built. + + Otherwise, this means the movement is or should be linked to a root + simulation movement. + """ + simulation_movement = self.getDeliveryRelatedValue() + if simulation_movement is not None and \ + not simulation_movement.getParentValue().isRootAppliedRule(): + return True + building = getTransactionalVariable().get(BUILDING_KEY, ()) + return self in building or self.getRootDeliveryValue() in building + # New Causality API security.declareProtected( Permissions.AccessContentsInformation, 'getOrderQuantity') diff --git a/product/ERP5/Document/OpenOrder.py b/product/ERP5/Document/OpenOrder.py index 06e34c7e33..414233ea5b 100644 --- a/product/ERP5/Document/OpenOrder.py +++ b/product/ERP5/Document/OpenOrder.py @@ -27,10 +27,8 @@ # ############################################################################## -import zope.interface from AccessControl import ClassSecurityInfo - -from Products.ERP5Type import Permissions, PropertySheet, interfaces +from Products.ERP5Type import Permissions, PropertySheet from Products.ERP5.Document.Supply import Supply class OpenOrder(Supply): @@ -45,9 +43,6 @@ class OpenOrder(Supply): security = ClassSecurityInfo() security.declareObjectProtected(Permissions.AccessContentsInformation) - # Declarative interfaces - zope.interface.implements(interfaces.IExpandable) - # Declarative properties property_sheets = ( PropertySheet.Base , PropertySheet.XMLObject @@ -59,23 +54,3 @@ class OpenOrder(Supply): , PropertySheet.Order , PropertySheet.Version ) - - # Expandable Interface Implementation - def expand(self, *args, **kw): - """ - Any Open Order Line / Open Order Cell which does not relate - (aggregate) to a Subscription Item must be expanded - through the default rule. - - What would be nice is to use the SubscriptionItemRule to expand - lines one by one so that an Item can be used at any time. - expansion logic is provided by the OpenOrder or by the - SubscriptionItem - - Others are expanded by their Item - - NOTE-JPS: not sure if it is really necessary to keep this - since only used by one client and tiolive. For tiolive - it will be dropped out - """ - diff --git a/product/ERP5/Document/Order.py b/product/ERP5/Document/Order.py index 5763ffe113..1a433047d7 100644 --- a/product/ERP5/Document/Order.py +++ b/product/ERP5/Document/Order.py @@ -29,7 +29,7 @@ from AccessControl import ClassSecurityInfo from Products.ERP5Type import Permissions, PropertySheet - +from Products.ERP5Type.Utils import deprecated from Products.ERP5.Document.Delivery import Delivery from warnings import warn @@ -115,74 +115,14 @@ class Order(Delivery): """Returns the total quantity for this Order. """ kw.setdefault('portal_type', self.getPortalOrderMovementTypeList()) return Delivery.getTotalQuantity(self, **kw) - - def applyToDeliveryRelatedMovement(self, portal_type='Simulation Movement', - method_id='expand',**kw): - """ - Warning: does not work if it was not catalogued immediately - """ + + @deprecated + def applyToOrderRelatedMovement(self, method_id='expand', **kw): + # WARNING: does not work if it was not catalogued immediately # 'order' category is deprecated. it is kept for compatibility. - for my_simulation_movement in self.getDeliveryRelatedValueList( - portal_type='Simulation Movement') or \ - self.getOrderRelatedValueList( - portal_type='Simulation Movement'): - # And apply - getattr(my_simulation_movement, method_id)(**kw) - for m in self.contentValues(filter={'portal_type': \ - self.getPortalMovementTypeList()}): - # Find related in simulation + for m in self.getMovementList(): for my_simulation_movement in m.getDeliveryRelatedValueList( portal_type='Simulation Movement') or \ m.getOrderRelatedValueList( portal_type='Simulation Movement'): - # And apply getattr(my_simulation_movement, method_id)(**kw) - for c in m.contentValues(filter={'portal_type': - self.getPortalMovementTypeList()}): - for my_simulation_movement in c.getDeliveryRelatedValueList( - portal_type='Simulation Movement') or \ - c.getOrderRelatedValueList( - portal_type='Simulation Movement'): - # And apply - getattr(my_simulation_movement, method_id)(**kw) - - # 'order' category is deprecated. it is kept for compatibility. - applyToOrderRelatedMovement = applyToDeliveryRelatedMovement - - def applyToOrderRelatedAppliedRule(self, method_id='expand',**kw): - my_applied_rule = self.getCausalityRelatedValue( \ - portal_type='Applied Rule') - getattr(my_applied_rule.getObject(), method_id)(**kw) - - def manage_beforeDelete(self, item, container): - """ - Delete related Applied Rule - """ - for o in self.getCausalityRelatedValueList(portal_type='Applied Rule'): - o.getParentValue().deleteContent(o.getId()) - Delivery.manage_beforeDelete(self, item, container) - - ########################################################################## - # Applied Rule stuff - def updateAppliedRule(self, rule_id=None, rule_reference=None, **kw): - """XXX FIXME: Kept for compatibility. - updateAppliedRule must be called with a rule_reference in a workflow - script. - """ - if rule_id is None and rule_reference is None: - warn('Relying on a default order rule is deprecated; ' \ - 'rule_reference must be specified explicitly.', - DeprecationWarning) - rule_reference = 'default_order_rule' - Delivery.updateAppliedRule(self, rule_id=rule_id, - rule_reference=rule_reference, **kw) - - def expandAppliedRuleRelatedToOrder(self, activate_kw=None,**kw): - """ - Expand the applied rule related - """ - applied_rule_list = self.getCausalityRelatedValueList( - portal_type='Applied Rule') - for applied_rule in applied_rule_list: - # XXX Missing activate keys - applied_rule.activate(activate_kw=activate_kw).expand(**kw) diff --git a/product/ERP5/Document/PackingList.py b/product/ERP5/Document/PackingList.py index 179aaff1be..cdb0ff0a62 100644 --- a/product/ERP5/Document/PackingList.py +++ b/product/ERP5/Document/PackingList.py @@ -108,18 +108,3 @@ class PackingList(Delivery): return 0 return 1 - - ########################################################################## - # Applied Rule stuff - def updateAppliedRule(self, rule_id=None, rule_reference=None, **kw): - """XXX FIXME: Kept for compatibility. - updateAppliedRule must be called with a rule_reference in a workflow - script. - """ - if rule_id is None and rule_reference is None: - warn('Relying on a default delivery rule is deprecated; ' \ - 'rule_reference must be specified explicitly.', - DeprecationWarning) - rule_reference = 'default_delivery_rule' - Delivery.updateAppliedRule(self, rule_id=rule_id, - rule_reference=rule_reference, **kw) diff --git a/product/ERP5/Document/QuantitySplitSolver.py b/product/ERP5/Document/QuantitySplitSolver.py index b32e0fb4cf..6272dc3cd1 100644 --- a/product/ERP5/Document/QuantitySplitSolver.py +++ b/product/ERP5/Document/QuantitySplitSolver.py @@ -122,9 +122,8 @@ class QuantitySplitSolver(SolverMixin, ConfigurableMixin, XMLObject): new_movement.setStopDate(stop_date) if activate_kw: new_movement.setDefaultActivateParameterDict({}) - # XXX we need to call expand on both simulation_movement and new_movement here? - # simulation_movement.expand(activate_kw=activate_kw) - # new_movement.expand(activate_kw=activate_kw) + simulation_movement.expand(activate_kw=activate_kw) + new_movement.expand(activate_kw=activate_kw) # Finish solving if self.getPortalObject().portal_workflow.isTransitionPossible( self, 'succeed'): diff --git a/product/ERP5/Document/SimulatedDeliveryBuilder.py b/product/ERP5/Document/SimulatedDeliveryBuilder.py index 48e4e8fa9e..98b08227e8 100644 --- a/product/ERP5/Document/SimulatedDeliveryBuilder.py +++ b/product/ERP5/Document/SimulatedDeliveryBuilder.py @@ -31,9 +31,16 @@ from zLOG import LOG, BLATHER from AccessControl import ClassSecurityInfo from Products.ERP5Type import Permissions, PropertySheet from Products.ERP5.mixin.builder import BuilderMixin, SelectMethodError +from Products.ERP5Type.TransactionalVariable import getTransactionalVariable from Products.ERP5Type.UnrestrictedMethod import UnrestrictedMethod from Products.ERP5Type.CopySupport import CopyError, tryMethodCallWithTemporaryPermission +# Quite ugly way to avoid useless expand when building lines +# in a delivery that already have lines and a root applied rule. +# For example, it's normally useless to expand after building +# accounting lines in an invoice with manually created invoice lines. +BUILDING_KEY = 'building_from_portal_simulation' + class SimulatedDeliveryBuilder(BuilderMixin): """ Delivery Builder objects allow to gather multiple Simulation Movements @@ -137,6 +144,12 @@ class SimulatedDeliveryBuilder(BuilderMixin): Create the relation between simulation movement and delivery movement. """ + delivery = delivery_movement.getExplanationValue() + building = getTransactionalVariable()[BUILDING_KEY] + if delivery in building: + building.add(delivery_movement) + simulation_movement.recursiveReindexObject(activate_kw=dict( + activate_kw or (), tag='built:'+delivery.getPath())) BuilderMixin._setDeliveryMovementProperties( self, delivery_movement, simulation_movement, property_dict, @@ -151,12 +164,22 @@ class SimulatedDeliveryBuilder(BuilderMixin): # Delivery will probably diverge now, but this is not the job of # Delivery Builder to resolve such problem. # Use Solver instead. - simulation_movement.edit(delivery_ratio=0) + simulation_movement._setDeliveryRatio(0) else: - simulation_movement.edit(delivery_ratio=1) - - simulation_movement.edit(delivery_value=delivery_movement, - activate_kw=activate_kw) + simulation_movement._setDeliveryRatio(1) + delivery_movement = delivery_movement.getRelativeUrl() + if simulation_movement.getDeliveryList() != [delivery_movement]: + simulation_movement._setDelivery(delivery_movement) + if not simulation_movement.isTempDocument(): + try: + getCausalityState = delivery.aq_explicit.getCausalityState + except AttributeError: + return + if getCausalityState() == 'building': + # Make sure no other node is changing state of the delivery + delivery.serializeCausalityState() + else: + delivery.startBuilding() # Simulation consistency propagation security.declareProtected(Permissions.ModifyPortalContent, @@ -337,6 +360,10 @@ class SimulatedDeliveryBuilder(BuilderMixin): new_delivery_id = str(delivery_module.generateNewId()) delivery = super(SimulatedDeliveryBuilder, self)._createDelivery( delivery_module, movement_list, activate_kw) + # Interactions will usually trigger reindexing of related SM when + # simulation state changes. Disable them for this transaction + # because we already do this in _setDeliveryMovementProperties + delivery.updateSimulation(index_related=0) else: # from duplicated original delivery cp = tryMethodCallWithTemporaryPermission( @@ -353,6 +380,25 @@ class SimulatedDeliveryBuilder(BuilderMixin): return delivery + def _processDeliveryLineGroup(self, delivery, movement_group_node, + *args, **kw): + building = getTransactionalVariable().setdefault(BUILDING_KEY, set()) + if None in building: + super(SimulatedDeliveryBuilder, self)._processDeliveryLineGroup( + delivery, movement_group_node, *args, **kw) + return + building.add(None) + try: + for movement in movement_group_node.getMovementList(): + if not movement.isTempDocument(): + building.add(delivery) + break + super(SimulatedDeliveryBuilder, self)._processDeliveryLineGroup( + delivery, movement_group_node, *args, **kw) + finally: + building.remove(None) + building.discard(delivery) + def _createDeliveryLine(self, delivery, movement_list, activate_kw): """ Refer to the docstring in GeneratedDeliveryBuilder. diff --git a/product/ERP5/Document/SimulationMovement.py b/product/ERP5/Document/SimulationMovement.py index 3154b57812..e6458d53a2 100644 --- a/product/ERP5/Document/SimulationMovement.py +++ b/product/ERP5/Document/SimulationMovement.py @@ -27,21 +27,16 @@ # ############################################################################## -import transaction import zope.interface from AccessControl import ClassSecurityInfo -from Products.CMFCore.utils import getToolByName from Products.ERP5Type import Permissions, PropertySheet, interfaces from Products.ERP5Type.TransactionalVariable import getTransactionalVariable - from Products.ERP5.Document.Movement import Movement +from Products.ERP5.ExpandPolicy import policy_dict, TREE_DELIVERED_CACHE_KEY from zLOG import LOG, WARNING -from Acquisition import aq_base - -from Products.ERP5.Document.AppliedRule import TREE_DELIVERED_CACHE_KEY, TREE_DELIVERED_CACHE_ENABLED from Products.ERP5.mixin.property_recordable import PropertyRecordableMixin from Products.ERP5.mixin.explainable import ExplainableMixin @@ -120,7 +115,8 @@ class SimulationMovement(PropertyRecordableMixin, Movement, ExplainableMixin): ) # Declarative interfaces - zope.interface.implements(interfaces.IPropertyRecordable, ) + zope.interface.implements(interfaces.IExpandable, + interfaces.IPropertyRecordable) def tpValues(self) : """ show the content in the left pane of the ZMI """ @@ -134,22 +130,6 @@ class SimulationMovement(PropertyRecordableMixin, Movement, ExplainableMixin): """ return self._baseGetPrice(default) # Call the price method - security.declareProtected( Permissions.AccessContentsInformation, - 'getCausalityState') - def getCausalityState(self): - """ - Returns the current state in causality - """ - return getattr(aq_base(self), 'causality_state', 'solved') - - security.declareProtected( Permissions.ModifyPortalContent, - 'setCausalityState') - def setCausalityState(self, value): - """ - Change causality state - """ - self.causality_state = value - security.declareProtected( Permissions.AccessContentsInformation, 'getSimulationState') def getSimulationState(self, id_only=1): @@ -171,22 +151,19 @@ class SimulationMovement(PropertyRecordableMixin, Movement, ExplainableMixin): if order is not None: return order.getSimulationState() - parent = self.getParentValue() + applied_rule = self.getParentValue() + parent = applied_rule.getParentValue() try: - try: - parent_state = parent.getSimulationState() - except AttributeError: - item = parent.getCausalityValue( - portal_type=self.getPortalItemTypeList()) - if interfaces.IExpandableItem.providedBy(item): - return item.getSimulationMovementSimulationState(self) - raise - return parent_to_movement_simulation_state[parent_state] - except (KeyError, AttributeError): + if isinstance(parent, SimulationMovement): + return parent_to_movement_simulation_state[parent.getSimulationState()] + getState = applied_rule.getCausalityValue() \ + .aq_explicit.getSimulationMovementSimulationState + except (AttributeError, KeyError): LOG('SimulationMovement.getSimulationState', WARNING, 'Could not acquire simulation state from %s' % self.getRelativeUrl(), error=True) - return None + else: + return getState(self) security.declareProtected( Permissions.AccessContentsInformation, 'getTranslatedSimulationStateTitle') @@ -255,35 +232,6 @@ class SimulationMovement(PropertyRecordableMixin, Movement, ExplainableMixin): ####################################################### # Causality Workflow Methods - security.declareProtected(Permissions.ModifyPortalContent, 'calculate') - def calculate(self): - """Move related delivery in 'calculating' state by activity - - Activity to update causality state is delayed until all related simulation - movement are reindexed. - This method should be only called by - simulation_movement_causality_interaction_workflow. - """ - delivery = self.getDeliveryValue() - if delivery is not None: - delivery = delivery.getRootDeliveryValue() - tv = getTransactionalVariable() - path = self.getPath() - delivery_path = delivery.getPath() - key = 'SimulationMovement.calculate', delivery_path - try: - tv[key].append(path) - except KeyError: - tv[key] = [path] - def before_commit(): - method_id_list = ('immediateReindexObject', - 'recursiveImmediateReindexObject') - tag = delivery_path + '_calculate' - delivery.activate(tag=tag).Delivery_calculate(activate_kw= - {'after_path_and_method_id': (tv[key], method_id_list)}) - tv[key] = None # disallow further calls to 'calculate' - transaction.get().addBeforeCommitHook(before_commit) - security.declarePrivate('_getApplicableRuleList') def _getApplicableRuleList(self): """ Search rules that match this movement @@ -297,25 +245,32 @@ class SimulationMovement(PropertyRecordableMixin, Movement, ExplainableMixin): sort_order='descending') security.declareProtected(Permissions.ModifyPortalContent, 'expand') - def expand(self, **kw): - """ + def expand(self, expand_policy=None, **kw): + """Update applied rules inside this simulation movement and expand them + Checks all existing applied rules and make sure they still apply. Checks for other possible rules and starts expansion process (instanciates applied rules and calls expand on them). + """ + policy_dict[expand_policy](**kw).expand(self) + def _expandNow(self, maybe_expand): + """ First get all applicable rules, then, delete all applied rules that no longer match and are not linked to - a delivery, + a delivery, or expand those that still apply, finally, apply new rules if no rule with the same type is already applied. """ - tv = getTransactionalVariable() - cache = tv.setdefault(TREE_DELIVERED_CACHE_KEY, {}) - cache_enabled = cache.get(TREE_DELIVERED_CACHE_ENABLED, 0) - - # enable cache - if not cache_enabled: - cache[TREE_DELIVERED_CACHE_ENABLED] = 1 - + # XXX: Although policy is "copy everything required to simulation + # movements", we must reindex in case that simulation state has + # changed. + # Also, if this movement is edited (by 'expand' call on the parent), + # there's already a reindexing activity so this does nothing; but if + # 'expand' was deferred for this movement, this will generate a + # second & useless reindexing activity. + # All this could be avoided if each simulation movement remembered + # the previous state. + self.reindexObject() applicable_rule_dict = {} for rule in self._getApplicableRuleList(): reference = rule.getReference() @@ -339,28 +294,10 @@ class SimulationMovement(PropertyRecordableMixin, Movement, ExplainableMixin): else: self._delObject(applied_rule.getId()) else: - applied_rule.expand(**kw) + maybe_expand(rule, applied_rule) for rule in applicable_rule_list: - rule.constructNewAppliedRule(self, **kw).expand(**kw) - - self.setCausalityState('expanded') - - # disable and clear cache - if not cache_enabled: - try: - del tv[TREE_DELIVERED_CACHE_KEY] - except KeyError: - pass - - security.declareProtected(Permissions.ModifyPortalContent, 'diverge') - def diverge(self): - """ - -> new status -> diverged - - Movements which diverge can not be expanded - """ - self.setCausalityState('diverged') + maybe_expand(rule, rule.constructNewAppliedRule(self)) security.declareProtected( Permissions.AccessContentsInformation, 'getExplanationValue') @@ -580,7 +517,7 @@ class SimulationMovement(PropertyRecordableMixin, Movement, ExplainableMixin): # 'recursiveImmediateReindexObject'])) # activity.edit() - def _isTreeDelivered(self, ignore_first=0): + def _isTreeDelivered(self): """ checks if subapplied rules of this movement (going down the complete simulation tree) have a child with a delivery relation. @@ -588,32 +525,23 @@ class SimulationMovement(PropertyRecordableMixin, Movement, ExplainableMixin): see AppliedRule._isTreeDelivered """ - tv = getTransactionalVariable() - cache = tv.setdefault(TREE_DELIVERED_CACHE_KEY, {}) - cache_enabled = cache.get(TREE_DELIVERED_CACHE_ENABLED, 0) - - def getTreeDelivered(movement, ignore_first=0): - if not ignore_first: - if len(movement.getDeliveryList()) > 0: - return True - for applied_rule in movement.objectValues(): + def getTreeDelivered(): + if self.getDeliveryList(): + return True + for applied_rule in self.objectValues(): if applied_rule._isTreeDelivered(): return True return False - - if ignore_first: - rule_key = (self.getRelativeUrl(), 1) - else: - rule_key = self.getRelativeUrl() - if cache_enabled: - try: - return cache[rule_key] - except KeyError: - result = getTreeDelivered(self, ignore_first=ignore_first) - cache[rule_key] = result - return result - else: - return getTreeDelivered(self, ignore_first=ignore_first) + try: + cache = getTransactionalVariable()[TREE_DELIVERED_CACHE_KEY] + except KeyError: + return getTreeDelivered() + rule_key = self.getRelativeUrl() + try: + return cache[rule_key] + except KeyError: + cache[rule_key] = result = getTreeDelivered() + return result security.declareProtected(Permissions.AccessContentsInformation, 'isBuildable') diff --git a/product/ERP5/Document/SolverProcess.py b/product/ERP5/Document/SolverProcess.py index 827efe50b3..be29b3e7a0 100644 --- a/product/ERP5/Document/SolverProcess.py +++ b/product/ERP5/Document/SolverProcess.py @@ -180,8 +180,9 @@ class SolverProcess(XMLObject, ActiveProcess): """ Start solving """ - isTransitionPossible = self.getPortalObject().portal_workflow.isTransitionPossible - for solver in self.contentValues(portal_type=self.getPortalObject().getPortalTargetSolverTypeList()): + portal = self.getPortalObject() + isTransitionPossible = portal.portal_workflow.isTransitionPossible + for solver in self.objectValues(portal_type=portal.getPortalTargetSolverTypeList()): if solver.isTempObject(): solver_type = solver.getPortalTypeValue() # Since multiple documents may need the same solver, activity must be diff --git a/product/ERP5/Document/SubscriptionItem.py b/product/ERP5/Document/SubscriptionItem.py index 89d638a59c..dc3ca41cab 100644 --- a/product/ERP5/Document/SubscriptionItem.py +++ b/product/ERP5/Document/SubscriptionItem.py @@ -30,19 +30,18 @@ import zope.interface from AccessControl import ClassSecurityInfo -from Products.CMFCore.utils import getToolByName from Products.ERP5Type import Permissions, PropertySheet, interfaces -from Products.ERP5Type.Errors import SimulationError from Products.ERP5.Document.Item import Item from Products.ERP5.mixin.composition import CompositionMixin -from Products.ERP5.mixin.rule import MovementGeneratorMixin +from Products.ERP5.mixin.rule import MovementGeneratorMixin, SimulableMixin from Products.ERP5.mixin.periodicity import PeriodicityMixin from Products.ERP5Type.UnrestrictedMethod import UnrestrictedMethod from Products.ERP5Type.Base import Base from zLOG import LOG -class SubscriptionItem(Item, CompositionMixin, MovementGeneratorMixin, PeriodicityMixin): +class SubscriptionItem(Item, CompositionMixin, MovementGeneratorMixin, + SimulableMixin, PeriodicityMixin): """ A SubscriptionItem is an Item which expands itself into simulation movements which represent the item future. @@ -70,37 +69,15 @@ class SubscriptionItem(Item, CompositionMixin, MovementGeneratorMixin, Periodici ) # Declarative interfaces - zope.interface.implements(interfaces.IExpandableItem, - interfaces.IMovementGenerator, + zope.interface.implements(interfaces.IMovementGenerator, ) - # IExpandable interface implementation - @UnrestrictedMethod # YXU - Is it a good permission setting? - def expand(self, applied_rule_id=None, activate_kw=None, **kw): - """ - Lookup start / stop properties in related Open Order - or Path and expand. - """ + def _createRootAppliedRule(self): # only try to expand if we are not in draft state if self.getValidationState() in ('draft', ): # XXX-JPS harcoded return + return super(SubscriptionItem, self)._createRootAppliedRule() - # do not expand if no bp/stc is applied - if self.getSpecialiseValue() is None: - return - - # use hint if provided (but what for ?) XXX-JPS - if applied_rule_id is not None: - portal_simulation = getToolByName(self, 'portal_simulation') - my_applied_rule = portal_simulation[applied_rule_id] - else: - my_applied_rule = self._getRootAppliedRule(activate_kw=activate_kw) - - # Pass expand - if my_applied_rule is not None: - my_applied_rule.expand(activate_kw=activate_kw, **kw) # XXX-JPS why **kw ? - - # IExpandableItem interface implementation def getSimulationMovementSimulationState(self, simulation_movement): """Returns the simulation state for this simulation movement. @@ -120,139 +97,6 @@ class SubscriptionItem(Item, CompositionMixin, MovementGeneratorMixin, Periodici """ return False - def getRuleReference(self): - """Returns an appropriate rule reference. - XXX Copy/Paste from delivery - """ - method = self._getTypeBasedMethod('getRuleReference') - if method is not None: - return method() - else: - raise SimulationError('%s_getRuleReference script is missing.' - % self.getPortalType().replace(' ', '')) - - @UnrestrictedMethod # XXX-JPS What is this ? - def updateAppliedRule(self, rule_reference=None, rule_id=None, **kw): - """ - Create a new Applied Rule if none is related, or call expand - on the existing one. - - The chosen applied rule will be the validated rule with reference == - rule_reference, and the higher version number. - """ - if rule_id is not None: - from warnings import warn - warn('rule_id to updateAppliedRule is deprecated; use rule_reference instead', - DeprecationWarning) - rule_reference = rule_id - - if rule_reference is None: - return - - portal_rules = getToolByName(self, 'portal_rules') - res = portal_rules.searchFolder(reference=rule_reference, - validation_state="validated", sort_on='version', - sort_order='descending') # XXX validated is Hardcoded ! - - if len(res) > 0: - rule_id = res[0].getId() - else: - raise ValueError, 'No such rule as %r is found' % rule_reference - - self._createAppliedRule(rule_id, **kw) - - def _createAppliedRule(self, rule_id, activate_kw=None, **kw): - """ - Create a new Applied Rule is none is related, or call expand - on the existing one. - """ - # Look up if existing applied rule - my_applied_rule_list = self.getCausalityRelatedValueList( - portal_type='Applied Rule') - my_applied_rule = None - if len(my_applied_rule_list) == 0: - if self.isSimulated(): - # No need to create a DeliveryRule - # if we are already in the simulation process - pass - else: - # Create a new applied order rule (portal_rules.order_rule) - portal_rules = getToolByName(self, 'portal_rules') - portal_simulation = getToolByName(self, 'portal_simulation') - my_applied_rule = portal_rules[rule_id].\ - constructNewAppliedRule(portal_simulation, - activate_kw=activate_kw) - # Set causality - my_applied_rule.setCausalityValue(self) - # We must make sure this rule is indexed - # now in order not to create another one later - my_applied_rule.reindexObject(activate_kw=activate_kw, **kw) - elif len(my_applied_rule_list) == 1: - # Re expand the rule if possible - my_applied_rule = my_applied_rule_list[0] - else: - raise SimulationError('Delivery %s has more than one applied' - ' rule.' % self.getRelativeUrl()) - - my_applied_rule_id = None - expand_activate_kw = {} - if my_applied_rule is not None: - my_applied_rule_id = my_applied_rule.getId() - expand_activate_kw['after_path_and_method_id'] = ( - my_applied_rule.getPath(), - ['immediateReindexObject', 'recursiveImmediateReindexObject']) - # We are now certain we have a single applied rule - # It is time to expand it - self.activate(activate_kw=activate_kw, **expand_activate_kw).expand( - applied_rule_id=my_applied_rule_id, - activate_kw=activate_kw, **kw) - - def _getRootAppliedRule(self, tested_base_category_list=None, - activate_kw=None): - """ - Returns existing root applied rule or, if none, - create a new one a return it - """ - # Look up if existing applied rule - my_applied_rule_list = self.getCausalityRelatedValueList( - portal_type='Applied Rule') - my_applied_rule = None - if len(my_applied_rule_list) == 0: - if self.isSimulated(): - # No need to create a DeliveryRule - # if we are already in the simulation process - pass - else: - # Create a new applied order rule (portal_rules.order_rule) - portal_rules = getToolByName(self, 'portal_rules') - portal_simulation = getToolByName(self, 'portal_simulation') - search_rule_kw = { 'sort_on': 'version', 'sort_order': 'descending' } - if self.getRuleReference() is None: - rule_value_list = portal_rules.searchRuleList(self, **search_rule_kw) - if len(rule_value_list) > 1: - raise SimulationError('Expandable Document %s has more than one' - ' matching rule.' % self.getRelativeUrl()) - else: - rule_value_list = portal_rules.searchRuleList(self, - reference=self.getRuleReference(), **search_rule_kw) - if len(rule_value_list): - rule_value = rule_value_list[0] - my_applied_rule = rule_value.constructNewAppliedRule(portal_simulation, - activate_kw=activate_kw) - # Set causality - my_applied_rule.setCausalityValue(self) - # We must make sure this rule is indexed - # now in order not to create another one later - my_applied_rule.reindexObject(activate_kw=activate_kw) # XXX-JPS removed **kw - elif len(my_applied_rule_list) == 1: - # Re expand the rule if possible - my_applied_rule = my_applied_rule_list[0] - else: - raise SimulationError('Expandable Document %s has more than one root' - ' applied rule.' % self.getRelativeUrl()) - - return my_applied_rule - # IMovementGenerator interface implementation def _getUpdatePropertyDict(self, input_movement): # Default implementation bellow can be overriden by subclasses @@ -268,7 +112,6 @@ class SubscriptionItem(Item, CompositionMixin, MovementGeneratorMixin, Periodici """ from Products.ERP5Type.Document import newTempMovement result = [] - catalog_tool = getToolByName(self, 'portal_catalog') # Try to find the source open order open_order_movement_list = self.getAggregateRelatedValueList( @@ -293,7 +136,7 @@ class SubscriptionItem(Item, CompositionMixin, MovementGeneratorMixin, Periodici price = movement.getPrice() price_currency = movement.getPriceCurrency() base_application_list = movement.getBaseApplicationList() - base_contribution_list = movement.getBaseContributionList() + base_contribution_list = movhement.getBaseContributionList() use_list = movement.getUseList() specialise = movement.getSpecialise() diff --git a/product/ERP5/Document/TradeModelSolver.py b/product/ERP5/Document/TradeModelSolver.py index da55cc017a..7915b56788 100644 --- a/product/ERP5/Document/TradeModelSolver.py +++ b/product/ERP5/Document/TradeModelSolver.py @@ -112,7 +112,7 @@ class TradeModelSolver(AcceptSolver): if not simulation_movement.isPropertyRecorded(property_id): simulation_movement.recordProperty(property_id) simulation_movement.setMappedProperty(property_id, value) - simulation_movement.expand(activate_kw=activate_kw) + simulation_movement.expand('immediate') # Third, adopt changes on trade model related lines. # XXX non-linear case is not yet supported. diff --git a/product/ERP5/Document/UnifySolver.py b/product/ERP5/Document/UnifySolver.py index b3b786effa..dcff44596d 100644 --- a/product/ERP5/Document/UnifySolver.py +++ b/product/ERP5/Document/UnifySolver.py @@ -125,7 +125,8 @@ class UnifySolver(AcceptSolver): if not simulation_movement.isPropertyRecorded(solved_property): simulation_movement.recordProperty(solved_property) simulation_movement.setMappedProperty(solved_property, value) - simulation_movement.expand(activate_kw=activate_kw) + # XXX: would it be safe to expand by activity ? + simulation_movement.expand('immediate') # Finish solving if portal.portal_workflow.isTransitionPossible(self, 'succeed'): self.succeed() diff --git a/product/ERP5/ExpandPolicy.py b/product/ERP5/ExpandPolicy.py new file mode 100644 index 0000000000..81b0c8076d --- /dev/null +++ b/product/ERP5/ExpandPolicy.py @@ -0,0 +1,142 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Copyright (c) 2012 Nexedi SARL and Contributors. All Rights Reserved. +# Julien Muchembled <jm@nexedi.com> +# +# 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 advised 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 time import time +import transaction +from Products.ERP5Type.UnrestrictedMethod import UnrestrictedMethod +from Products.ERP5Type.Utils import convertToLowerCase +from Products.ERP5Type.TransactionalVariable import getTransactionalVariable + +# XXX: Consider moving it to ERP5Type if it implements recursion policies +# for anything other than expand. + +# XXX: Policy of deferred expands currently is currently hardcoded to the +# preferred one, which is itself hardcoded to "vertical_time_bound". +# If any parameter is added to policies in order to make them customizable, +# Base class should probably handle this automatically by: +# - keeping all parameters in a 'kw' attribute and; +# - activating with something like 'expand(policy, **self.kw)' +# It may also be better if that 'kw' does not mix up several kinds of +# parameters, for example those that are specific to the policy +# (e.g. policy_kw), and other for expand() itself (e.g. expand_kw). +# Any extension to the API must be reviewed first. + +# Put there to avoid circular import loop. +TREE_DELIVERED_CACHE_KEY = 'AppliedRule._isTreeDelivered' + +policy_dict = {} # {None: preferred, 'foo_bar': FooBar} + +VERTICAL_EXPAND_TIMEOUT = 5 # XXX: hardcoded for the moment + +class _Policy(object): + """Base class of policies for RuleMixin.expand and SimulationMovement.expand + """ + class __metaclass__(type): + """Automatically register policies in policy_dict""" + def __init__(cls, name, bases, d): + type.__init__(cls, name, bases, d) + if name[0] != '_': + policy_dict[convertToLowerCase(name)[1:]] = cls + + def __init__(self, activate_kw=None): + self.activate_kw = activate_kw + + @UnrestrictedMethod + def expand(self, *args): + """Initialize context, and really start to expand""" + tv = getTransactionalVariable() + assert TREE_DELIVERED_CACHE_KEY not in tv, "already expanding" + self.context = args[-1] + with self.context.defaultActivateParameterDict(self.activate_kw, True): + tv[TREE_DELIVERED_CACHE_KEY] = {} + try: + self(*args) + finally: + del tv[TREE_DELIVERED_CACHE_KEY] + + # lazy computation of root applied rule path + def __getattr__(self, attr): + if attr == 'merge_parent': + self.merge_parent = value = self.context.getRootAppliedRule().getPath() + else: + object.__getattribute__(self, attr) + return value + + def deferAll(self): + self.test = self.activate + + def activate(self, context): + context.activate(merge_parent=self.merge_parent) \ + .expand(activate_kw=self.activate_kw) + + def __call__(self, *args): + context = args[-1] + if self.test(context): + args[0]._expandNow(self, *args[1:]) + +class Deferred(_Policy): + """Do not expand anything in the current transaction, but do it by activity""" + + # We won't expand at all so we override expand() to avoid wasting time on + # initializing anything. + def expand(self, *args): + context = args[-1] + kw = self.activate_kw + context.activate(merge_parent=context.getRootAppliedRule().getPath(), + **(kw or {})).expand(activate_kw=kw) + +class Immediate(_Policy): + """Expand everything immediately""" + + # Optimize by overriding '__call__' instead of 'test' + #test = lambda *args: True + def __call__(self, *args): + args[0]._expandNow(self, *args[1:]) + +class VerticalTimeBound(_Policy): + """Vertical recursion, limited by duration + + Expand immediately only if the current transaction is young enough. + Defer by activity otherwise. + """ + + def __init__(self, **kw): + super(VerticalTimeBound, self).__init__(**kw) + self.stop = transaction.get().start_time + VERTICAL_EXPAND_TIMEOUT + + def test(self, context): + if time() < self.stop: + return True + self.deferAll() + self.test(context) + +# XXX: Should be a function reading system preferences +preferred = VerticalTimeBound + +policy_dict[None] = preferred diff --git a/product/ERP5/MovementGroup.py b/product/ERP5/MovementGroup.py index 6f8e1e7e93..b5e998df6b 100644 --- a/product/ERP5/MovementGroup.py +++ b/product/ERP5/MovementGroup.py @@ -322,12 +322,26 @@ class FakeMovement: """ return self.__movement_list - def setDeliveryValue(self, object): + def isTempDocument(self): + for movement in self.__movement_list: + if movement.isTempDocument(): + return True + return False + + def _setDelivery(self, object): """ Set Delivery value for each movement """ for movement in self.__movement_list: - movement.edit(delivery_value=object) + movement._setDelivery(object) + + def getDeliveryList(self): + """ + Only used to know if _setDeliveryValue needs to be called. + Be careful: behaviour differs from CMFCategory in that returned + list may include None, when there is at least 1 unlinked SM. + """ + return list(set(x.getDelivery() for x in self.__movement_list)) def getDeliveryValue(self): """ @@ -335,13 +349,10 @@ class FakeMovement: configure DeliveryBuilder well...). Be careful. """ - result = None for movement in self.__movement_list: mvt_delivery = movement.getDeliveryValue() if mvt_delivery is not None: - result = mvt_delivery - break - return result + return mvt_delivery def getRelativeUrl(self): """ @@ -351,7 +362,7 @@ class FakeMovement: """ return self.__movement_list[0].getRelativeUrl() - def setDeliveryRatio(self, delivery_ratio): + def _setDeliveryRatio(self, delivery_ratio): """ Calculate delivery_ratio """ @@ -359,15 +370,15 @@ class FakeMovement: for movement in self.__movement_list: total_quantity += movement.getMappedProperty('quantity') - if total_quantity != 0: + if total_quantity: for movement in self.__movement_list: quantity = movement.getMappedProperty('quantity') - movement.edit(delivery_ratio=quantity*float(delivery_ratio)/total_quantity) + movement._setDeliveryRatio(quantity*float(delivery_ratio)/total_quantity) else: - # Distribute equally ratio to all movement + # Distribute equally ratio to all movements mvt_ratio = float(delivery_ratio) / len(self.__movement_list) for movement in self.__movement_list: - movement.edit(delivery_ratio=mvt_ratio) + movement._setDeliveryRatio(mvt_ratio) def getPrice(self): """ @@ -450,19 +461,12 @@ class FakeMovement: price_dict = self._getPriceDict() return sum(price * quantity for price, quantity in price_dict.items()) - def recursiveReindexObject(self): + def recursiveReindexObject(self, *args, **kw): """ Reindex all movements """ for movement in self.getMovementList(): - movement.recursiveReindexObject() - - def immediateReindexObject(self): - """ - Reindex immediately all movements - """ - for movement in self.getMovementList(): - movement.immediateReindexObject() + movement.recursiveReindexObject(*args, **kw) def getPath(self): """ @@ -509,23 +513,6 @@ class FakeMovement: else: raise NotImplementedError - def edit(self, activate_kw=None, **kw): - """ - Written in order to call edit in delivery builder, - as it is the generic way to modify object. - - activate_kw is here for compatibility reason with Base.edit, - it will not be used here. - """ - for key in kw.keys(): - if key == 'delivery_ratio': - self.setDeliveryRatio(kw[key]) - elif key == 'delivery_value': - self.setDeliveryValue(kw[key]) - else: - raise FakeMovementError,\ - "Could not call edit on Fakemovement with parameters: %r" % key - def __repr__(self): repr_str = '<%s object at 0x%x for %r' % (self.__class__.__name__, id(self), diff --git a/product/ERP5/TargetSolver/Copy.py b/product/ERP5/TargetSolver/Copy.py index 2d0a8cb8d5..88937a0aa5 100644 --- a/product/ERP5/TargetSolver/Copy.py +++ b/product/ERP5/TargetSolver/Copy.py @@ -79,5 +79,5 @@ class Copy(TargetSolver): simulation_movement.recordProperty(property_id) simulation_movement.edit(**value_dict) - # XXX can we use activity for further expand? - simulation_movement.expand() + # XXX: would it be safe to expand by activity ? + simulation_movement.expand('immediate') diff --git a/product/ERP5/TargetSolver/CopyAndPropagate.py b/product/ERP5/TargetSolver/CopyAndPropagate.py index c88dab55f7..ff32d30414 100644 --- a/product/ERP5/TargetSolver/CopyAndPropagate.py +++ b/product/ERP5/TargetSolver/CopyAndPropagate.py @@ -73,8 +73,8 @@ class CopyAndPropagate(TargetSolver): quantity_ratio=quantity_ratio, value_dict=value_dict, property_id=property_id) - # XXX can we use activity for further expand? - simulation_movement.expand() + # XXX: would it be safe to expand by activity ? + simulation_movement.expand('immediate') def _solveRecursively(self, simulation_movement, is_last_movement=1, quantity_ratio=None, value_dict=None, diff --git a/product/ERP5/TargetSolver/SplitAndDefer.py b/product/ERP5/TargetSolver/SplitAndDefer.py index 1592992fde..d31beb4880 100644 --- a/product/ERP5/TargetSolver/SplitAndDefer.py +++ b/product/ERP5/TargetSolver/SplitAndDefer.py @@ -98,11 +98,11 @@ class SplitAndDefer(CopyToTarget): if stop_date is not None: new_movement.recordProperty('stop_date') new_movement.edit(stop_date=stop_date) - new_movement.activate(**self.additional_parameters).expand() + new_movement.expand(activate_kw=self.additional_parameters) # adopt new quantity on original simulation movement simulation_movement.edit(quantity=new_movement_quantity) simulation_movement.setDefaultActivateParameterDict(self.activate_kw) - simulation_movement.activate(**self.additional_parameters).expand() + simulation_movement.expand(activate_kw=self.additional_parameters) # SplitAndDefer solves the divergence at the current level, no need to # backtrack. diff --git a/product/ERP5/Tool/RuleTool.py b/product/ERP5/Tool/RuleTool.py index a7bf2f3ec2..92e4fbd60e 100644 --- a/product/ERP5/Tool/RuleTool.py +++ b/product/ERP5/Tool/RuleTool.py @@ -26,11 +26,13 @@ # ############################################################################## +from zLOG import LOG, INFO from Products.ERP5Type.Tool.BaseTool import BaseTool from AccessControl import ClassSecurityInfo from Products.ERP5Type.Globals import InitializeClass, DTMLFile from Products.ERP5Type import Permissions from Products.ERP5 import _dtmldir +from Products.ERP5Type.UnrestrictedMethod import UnrestrictedMethod class RuleTool(BaseTool): """ @@ -135,5 +137,15 @@ class RuleTool(BaseTool): return rule_list + security.declarePrivate('updateSimulation') + @UnrestrictedMethod + def updateSimulation(self, message_list): + expandable_dict = {} + for m in message_list: + expandable_dict.setdefault(m[0], {}).update(m[2]) + for expandable, kw in expandable_dict.iteritems(): + LOG("RuleTool", INFO, "Updating simulation for %s: %r" + % (expandable.getPath(), kw)) + expandable._updateSimulation(**kw) InitializeClass(RuleTool) diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Delivery_afterClone.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Delivery_afterClone.xml index 271b423b8b..8cbd735725 100644 --- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Delivery_afterClone.xml +++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Delivery_afterClone.xml @@ -54,11 +54,6 @@ context.setSourceReference(None)\n context.setDestinationReference(None)\n context.setSolver(None)\n -\n -# Initialize Causality Workflow\n -if hasattr(context, \'startBuilding\'):\n - context.startBuilding()\n - context.updateCausalityState()\n </string> </value> </item> <item> diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_reindexSimulation.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_reindexSimulation.xml deleted file mode 100644 index eb2bdff68b..0000000000 --- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/ERP5Site_reindexSimulation.xml +++ /dev/null @@ -1,103 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>Script_magic</string> </key> - <value> <int>3</int> </value> - </item> - <item> - <key> <string>_bind_names</string> </key> - <value> - <object> - <klass> - <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> - </klass> - <tuple/> - <state> - <dictionary> - <item> - <key> <string>_asgns</string> </key> - <value> - <dictionary> - <item> - <key> <string>name_container</string> </key> - <value> <string>container</string> </value> - </item> - <item> - <key> <string>name_context</string> </key> - <value> <string>context</string> </value> - </item> - <item> - <key> <string>name_m_self</string> </key> - <value> <string>script</string> </value> - </item> - <item> - <key> <string>name_subpath</string> </key> - <value> <string>traverse_subpath</string> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </state> - </object> - </value> - </item> - <item> - <key> <string>_body</string> </key> - <value> <string>error_list = []\n -return_list = []\n -\n -for object in context.portal_simulation.objectValues():\n - # Reexpand to propagate new rules\n - object.expand()\n -\n -for object in context.portal_simulation.objectValues():\n - #print "#### Indexing inside the folder %s ####" % \'portal_simulation\'\n - # Reindex\n - error_list += context.reindexAll(object=object,request=context)\n -\n -nb_types = {}\n -\n -for error in error_list:\n - # We count the number of each portal type\n - if error[1]==\'portal_type\':\n - type = error[3]\n - if nb_types.has_key(type):\n - nb_types[type] = nb_types[type] + 1\n - else:\n - nb_types[type] = 1\n - else:\n - #print error\n - return_list.append(error)\n -\n -for type in nb_types.keys():\n - # Find the number of each portal type in the catalog\n - count_result = context.portal_catalog.countResults(portal_type=type)\n - nb_catalog = count_result[0][0]\n - if nb_types[type] != nb_catalog:\n - message = "XXX Warning for %s: there is %i lines in the catalog instead of %i" % \\\n - (type,nb_catalog,nb_types[type])\n - return_list.append((\'Count Error\', \'PortalRoot_reindexAll\',1,message))\n - #else: print "%s: %i" % (type,nb_types[type])\n -\n -return return_list\n -</string> </value> - </item> - <item> - <key> <string>_params</string> </key> - <value> <string>request=None</string> </value> - </item> - <item> - <key> <string>id</string> </key> - <value> <string>ERP5Site_reindexSimulation</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/product/ERP5/doc/SimulatedDeliveryBuilder.svg b/product/ERP5/doc/SimulatedDeliveryBuilder.svg new file mode 100644 index 0000000000..380c8ece07 --- /dev/null +++ b/product/ERP5/doc/SimulatedDeliveryBuilder.svg @@ -0,0 +1,549 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="1052.3622" + height="744.09448" + id="svg2" + version="1.1" + inkscape:version="0.48.3.1 r9886" + sodipodi:docname="simulation.svg"> + <title + id="title3064">Interactions and activity dependencies in simulation</title> + <defs + id="defs4"> + <marker + inkscape:stockid="Arrow1Lstart" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow1Lstart" + style="overflow:visible"> + <path + id="path4232" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt" + transform="scale(0.8) translate(12.5,0)" /> + </marker> + <marker + inkscape:stockid="DotM" + orient="auto" + refY="0.0" + refX="0.0" + id="DotM" + style="overflow:visible"> + <path + id="path4824" + d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt" + transform="scale(0.4) translate(7.4, 1)" /> + </marker> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow1Lend" + style="overflow:visible;"> + <path + id="path5518" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;" + transform="scale(0.8) rotate(180) translate(12.5,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Lend-6" + style="overflow:visible"> + <path + inkscape:connector-curvature="0" + id="path5518-6" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" + transform="matrix(-0.8,0,0,-0.8,-10,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.74318519" + inkscape:cx="387.99291" + inkscape:cy="372.04724" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="true" + inkscape:showpageshadow="true" + units="mm" + fit-margin-top="1" + fit-margin-bottom="1" + fit-margin-left="1" + fit-margin-right="1" + inkscape:snap-object-midpoints="false" + inkscape:snap-bbox="false" + inkscape:connector-spacing="10" + inkscape:window-width="1280" + inkscape:window-height="756" + inkscape:window-x="-4" + inkscape:window-y="-4" + inkscape:window-maximized="1"> + <inkscape:grid + type="xygrid" + id="grid3022" + units="mm" + empspacing="10" + visible="true" + enabled="true" + snapvisiblegridlinesonly="true" + spacingx="5mm" + spacingy="5mm" + dotted="true" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title>Interactions and activity dependencies in simulation</dc:title> + <dc:date>2012-05-29</dc:date> + <dc:description /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Calque 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-308.26449)"> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="70.866142" + y="396.84717" + id="text3024" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3026" + x="70.866142" + y="396.84717">build</tspan></text> + <rect + style="fill:none;stroke:#000000;stroke-width:1.77165353;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="rect5230" + width="106.29922" + height="53.149612" + x="53.149601" + y="361.41409" + ry="26.574806" /> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="425.1969" + y="379.13065" + id="text3024-0" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3026-8" + x="425.1969" + y="379.13065">SM.recursiveImmediateReindexObject</tspan><tspan + sodipodi:role="line" + x="425.1969" + y="401.63065" + id="tspan5261"> tag = built:<delivery_path></tspan></text> + <rect + style="fill:none;stroke:#000000;stroke-width:1.77165353;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="rect5230-5" + width="407.48029" + height="70.866119" + x="407.48035" + y="343.69757" /> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="478.3465" + y="503.14636" + id="text3024-0-0" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3026-8-6" + x="478.3465" + y="503.14636">D._updateSimulation(create_root, index_related,</tspan><tspan + sodipodi:role="line" + x="478.3465" + y="525.64636" + id="tspan5292"> expand_root, expand_related)</tspan><tspan + sodipodi:role="line" + x="478.3465" + y="548.14636" + id="tspan5261-4"> tag = expand:<delivery_path></tspan><tspan + sodipodi:role="line" + x="478.3465" + y="570.64636" + id="tspan5290"> after_tag = build:<delivery_path></tspan></text> + <rect + style="fill:none;stroke:#000000;stroke-width:1.77165353;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="rect5230-5-6" + width="549.21259" + height="124.01569" + x="460.62994" + y="467.71338" + inkscape:connector-avoid="true" /> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="70.866165" + y="591.72913" + id="text3024-0-3" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="70.866165" + y="591.72913" + id="tspan5261-0">D.Delivery_calculate</tspan><tspan + sodipodi:role="line" + x="70.866165" + y="614.22913" + id="tspan5323"> tag = expand:<delivery_path></tspan></text> + <rect + style="fill:none;stroke:#000000;stroke-width:1.77165353;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="rect5230-5-5" + width="354.33069" + height="70.866112" + x="53.149612" + y="556.29602" + inkscape:connector-avoid="true" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:7.99999998, 7.99999998;stroke-dashoffset:0;marker-end:url(#Arrow1Lend)" + d="m 159.44881,380.35897 248.0315,0" + id="path5327" + inkscape:connector-type="polyline" + inkscape:connector-curvature="3" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:7.99999992, 7.99999992;stroke-dashoffset:0;marker-end:url(#Arrow1Lend)" + d="m 159.44883,396.84715 301.1811,70.86613" + id="path5329" + inkscape:connector-type="polyline" + inkscape:connector-curvature="3" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:7.99999988, 7.99999988;stroke-dashoffset:0;marker-end:url(#Arrow1Lend)" + d="m 106.29921,414.5637 0,141.73228" + id="path5329-4" + inkscape:connector-type="polyline" + inkscape:connector-curvature="3" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="53.149605" + y="733.46136" + id="text6720" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="53.149605" + y="733.46136" + id="tspan6724">startBuilding / calculate</tspan></text> + <rect + style="fill:none;stroke:#000000;stroke-width:1.77165341;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="rect5230-4" + width="301.18112" + height="53.149609" + x="35.433048" + y="698.02826" + ry="26.574804" /> + <path + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:8.0000002, 8.0000002;stroke-dashoffset:0;marker-mid:none;marker-end:url(#Arrow1Lend-6)" + d="m 177.16535,627.16208 0,70.86618" + id="path7170" + inkscape:connector-type="polyline" + inkscape:connector-curvature="3" /> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="53.14959" + y="892.91022" + id="text3024-0-3-2" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="53.14959" + y="892.91022" + id="tspan5261-0-9">D.updateCausalityState</tspan><tspan + sodipodi:role="line" + x="53.14959" + y="915.41022" + id="tspan5323-4"> after_tag = expand:<delivey_path></tspan><tspan + sodipodi:role="line" + x="53.14959" + y="937.91022" + id="tspan7567"> built:<delivery_path></tspan></text> + <rect + style="fill:none;stroke:#000000;stroke-width:1.77165353;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="rect5230-5-5-3" + width="407.48035" + height="106.29918" + x="35.433037" + y="857.47711" + inkscape:connector-avoid="true" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:8.00000011, 8.00000011;stroke-dashoffset:0;marker-mid:none;marker-end:url(#Arrow1Lend-6);display:inline" + d="m 177.16535,751.17786 0,106.29922" + id="path7569" + inkscape:connector-type="polyline" + inkscape:connector-curvature="3" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend-6)" + d="m 354.33071,857.47707 0,-230.31495" + id="path7939" + inkscape:connector-type="polyline" + inkscape:connector-curvature="3" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#DotM);marker-end:url(#Arrow1Lend-6);display:inline" + d="m 425.19685,538.57944 35.43307,0" + id="path8125" + inkscape:connector-type="polyline" + inkscape:connector-curvature="3" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend-6)" + d="m 637.79528,467.7133 0,-53.1496" + id="path8127" + inkscape:connector-type="polyline" + inkscape:connector-curvature="3" + inkscape:transform-center-x="17.716536" + inkscape:transform-center-y="-246.25662" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend-6)" + d="m 425.19685,857.47707 0,-442.91338" + id="path4597" + inkscape:connector-type="polyline" + inkscape:connector-curvature="3" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="566.92914" + y="804.32758" + id="text3024-0-3-3" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="566.92914" + y="804.32758" + id="tspan5323-7">D._localBuild</tspan><tspan + sodipodi:role="line" + x="566.92914" + y="826.82758" + id="tspan3839"> after_tag = expand:<delivery_path></tspan></text> + <rect + style="fill:none;stroke:#000000;stroke-width:1.77165353;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="rect5230-5-5-5" + width="425.19684" + height="70.866112" + x="549.21259" + y="768.89447" + inkscape:connector-avoid="true" /> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="513.77954" + y="680.31171" + id="text3024-0-3-3-3" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="513.77954" + y="680.31171" + id="tspan5323-7-5">reindexing</tspan><tspan + sodipodi:role="line" + x="513.77954" + y="702.81171" + id="tspan3839-6"> tag = expand:<delivery_path></tspan></text> + <rect + style="fill:none;stroke:#000000;stroke-width:1.77165353;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="rect5230-5-5-5-2" + width="354.33075" + height="70.866112" + x="496.06299" + y="644.8786" + inkscape:connector-avoid="true" /> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="513.77942" + y="928.34332" + id="text3024-0-3-3-9" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="513.77942" + y="928.34332" + id="tspan5323-7-1">expand</tspan><tspan + sodipodi:role="line" + x="513.77942" + y="950.84332" + id="tspan3839-2"> tag = expand:<delivery_path></tspan></text> + <rect + style="fill:none;stroke:#000000;stroke-width:1.77165353;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="rect5230-5-5-5-7" + width="354.33075" + height="70.866112" + x="496.06296" + y="892.91022" + inkscape:connector-avoid="true" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend-6);display:inline" + d="m 921.25984,768.89441 0,-177.16536" + id="path4453" + inkscape:connector-type="polyline" + inkscape:connector-curvature="3" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#DotM);marker-end:url(#Arrow1Lend-6)" + d="m 425.19685,680.31173 70.86614,-2e-5" + id="path4639" + inkscape:connector-type="polyline" + inkscape:connector-curvature="3" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:8, 8;stroke-dashoffset:0;marker-end:url(#Arrow1Lend-6)" + d="m 513.77953,892.91015 0,-177.16535" + id="path4825" + inkscape:connector-type="polyline" + inkscape:connector-curvature="3" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.99921262;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:7.99370116, 7.99370116;stroke-dashoffset:0;marker-end:url(#Arrow1Lend-6)" + d="M 496.06299,892.91016 372.04724,627.16215" + id="path3049" + inkscape:connector-type="polyline" + inkscape:connector-curvature="3" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.99921262;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Lend-6)" + d="m 442.91338,875.19362 262.74802,0 c 1.5,0 3,-1.5 3,-3 l 0,-32.43307" + id="path3048" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="3" + sodipodi:nodetypes="ccc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend-6)" + d="m 442.91339,928.34322 53.14961,0" + id="path4198" + inkscape:connector-type="polyline" + inkscape:connector-curvature="3" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend-6)" + d="m 744.09449,839.76055 0,53.1496" + id="path4384" + inkscape:connector-type="polyline" + inkscape:connector-curvature="3" /> + <path + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:8, 8;stroke-dashoffset:0;marker-end:url(#Arrow1Lend-6)" + d="m 708.66142,591.72905 0,53.14961" + id="path4570" + inkscape:connector-type="polyline" + inkscape:connector-curvature="3" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.99921262;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:7.99370079, 7.99370079;stroke-dashoffset:0;marker-end:url(#Arrow1Lend-6)" + d="M 70.866142,414.5637 C 35.433071,556.29598 35.433071,627.16212 53.149606,698.02826" + id="path3053" + sodipodi:nodetypes="cc" + inkscape:connector-curvature="3" /> + <path + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:8, 8;stroke-dashoffset:0;marker-end:url(#Arrow1Lend-6)" + d="m 992.12598,591.72905 0,336.61417 -141.73228,0" + id="path4214" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#DotM)" + d="m 549.2126,804.32748 -194.88189,0" + id="path4402" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend-6);display:inline" + d="m 708.66142,768.89441 0,-53.14961" + id="path4590" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="519.49603" + y="871.1936" + id="text4778" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan4780" + x="519.49603" + y="871.1936">after_path_and_method_id</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="-499.53085" + y="149.93913" + id="text4790" + sodipodi:linespacing="125%" + transform="matrix(0.20867807,-0.97798439,0.97798439,0.20867807,0,0)" + inkscape:transform-center-x="-21.15626" + inkscape:transform-center-y="15.10145"><tspan + sodipodi:role="line" + id="tspan4792" + x="-499.53085" + y="149.93913">_setObject</tspan></text> + <text + xml:space="preserve" + style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="875.2049" + y="-69.862999" + id="text4786-7" + sodipodi:linespacing="125%" + transform="matrix(0.43080996,0.90244267,-0.90244267,0.43080996,0,0)"><tspan + sodipodi:role="line" + id="tspan4788-5" + x="875.2049" + y="-69.862999">_set*</tspan></text> + <path + style="fill:none;stroke:#000000;stroke-width:0.99921262;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:7.99370079, 7.99370079;stroke-dashoffset:0;marker-end:url(#Arrow1Lend-6)" + d="m 779.52756,892.91015 0,-35.43307 53.14961,0 0,35.43307" + id="path3068" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" + x="35.433071" + y="999.20935" + id="text3066" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3068" + x="35.433071" + y="999.20935">This describes activity messages related to Simulation Tool when a Delivery Builder is invoked.</tspan><tspan + sodipodi:role="line" + x="35.433071" + y="1021.7094" + id="tspan3070">Continuous lines represent dependencies. Dashed lines show calls: if target is squared, then it's by activity.</tspan><tspan + sodipodi:role="line" + x="35.433071" + y="1044.2094" + id="tspan3072" /></text> + <path + style="fill:none;stroke:#000000;stroke-width:0.99921260000000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:7.99370079000000011, 7.99370079000000011;marker-end:url(#Arrow1Lend-6);stroke-dashoffset:0;marker-start:url(#Arrow1Lstart)" + d="m 885.82677,768.89441 c 0,-159.44883 0,-159.44883 -354.33071,-159.44883 -194.88189,0 17.71654,-88.58268 -389.76378,-194.88188" + id="path3074" + inkscape:connector-curvature="0" + sodipodi:nodetypes="csc" /> + </g> +</svg> diff --git a/product/ERP5/interfaces/expandable.py b/product/ERP5/interfaces/expandable.py index 69439027a3..d6f23e8c3c 100644 --- a/product/ERP5/interfaces/expandable.py +++ b/product/ERP5/interfaces/expandable.py @@ -1,8 +1,7 @@ # -*- coding: utf-8 -*- ############################################################################## # -# Copyright (c) 2009 Nexedi SA and Contributors. All Rights Reserved. -# Jean-Paul Smets-Solanes <jp@nexedi.com> +# Copyright (c) 2012 Nexedi SA and Contributors. All Rights Reserved. # # WARNING: This program as such is intended to be used by professional # programmers who take the whole responsability of assessing all potential @@ -29,29 +28,21 @@ """ Products.ERP5.interfaces.expandable """ - from zope.interface import Interface class IExpandable(Interface): + """Common Interface for Applied Rules and Simulation Movements """ - An Expandable class provides methods which trigger - the generation of the root applied rule of a simulation tree - and its expansion. Classes which implement IExpandable include - Deliveries (whenever can be the cause of an Applied Rule), - Items (whenever they are the cause of a movement sequence) - such as Subscription Items or Immobilisation Items, Movements - (which have been previously built). - """ - - def expand(applied_rule_id=None, activate_kw=None, **kw): + def expand(expand_policy=None, activate_kw=None): """ - Expand the current Expandable class into the simulation. - If no applied_rule_id is provided, try first to find - appropriate applied rule if any to start expansion process. + Update subobjects of this document and expand them + + expand_policy -- string defining whether a node in the simulation tree + should be expand immediately or in a separate activity, + or None to use the preferred policy - applied_rule_id -- a hint parameter (optional), which can - be provided to reindex the whole - simulation tree from the root applied rule + activate_kw -- activity parameters, required to control + activity constraints - activate_kw -- (TO BE EXPLAINED BY KAZ) + Available policies: immediate, deferred, vertical_time_bound """ diff --git a/product/ERP5/interfaces/expandable_item.py b/product/ERP5/interfaces/expandable_item.py deleted file mode 100644 index 795d1a5bd6..0000000000 --- a/product/ERP5/interfaces/expandable_item.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2011 Nexedi SA and Contributors. All Rights Reserved. -# -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability 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 -# garantees 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## -""" -Products.ERP5.interfaces.expandable_item -""" - -from Products.ERP5.interfaces.expandable import IExpandable - -class IExpandableItem(IExpandable): - """ An expandable item is an item that generate simulation, such as a - Subscription Item or an Immobilisation Item. - Such items are also responsible for returning the simulation state of the - movements they build. - """ - - def getSimulationMovementSimulationState(simulation_movement): - """Returns the simulation state of this simulation movement, unless it is - built and related to a delivery. - """ diff --git a/product/ERP5/interfaces/rule.py b/product/ERP5/interfaces/rule.py index 8b4520ff3c..b6eb172921 100644 --- a/product/ERP5/interfaces/rule.py +++ b/product/ERP5/interfaces/rule.py @@ -37,8 +37,7 @@ class IRule(IMovementCollectionUpdater): Documents which implement IRule can be used to expand applied rules in ERP5 simulation. """ - def constructNewAppliedRule(context, id=None, - activate_kw=None, **kw): + def constructNewAppliedRule(context, **kw): """ Create a new applied rule in the context. @@ -48,13 +47,10 @@ class IRule(IMovementCollectionUpdater): context -- usually, a parent simulation movement of the newly created applied rule - activate_kw -- activity parameters, required to control - activity constraints - - kw -- XXX-JPS probably wrong interface specification + kw -- optional parameters which can be passed to Folder API """ - def expand(applied_rule, **kw): + def expand(applied_rule, expand_policy=None, activate_kw=None): """ Expand this applied rule to create new documents inside the applied rule. @@ -66,6 +62,14 @@ class IRule(IMovementCollectionUpdater): of compensation are implemented through IMovementCollectionUpdater API - kw -- XXX-JPS probably wrong interface specification - activate_kw should probably be defined explicitely here + applied_rule -- applied rule to expand + + expand_policy -- string defining whether a node in the simulation tree + should be expand immediately or in a separate activity, + or None to use the preferred policy + + activate_kw -- activity parameters, required to control + activity constraints + + Available policies: immediate, deferred, vertical_time_bound """ diff --git a/product/ERP5/mixin/rule.py b/product/ERP5/mixin/rule.py index c56de5aa64..4f26687341 100644 --- a/product/ERP5/mixin/rule.py +++ b/product/ERP5/mixin/rule.py @@ -26,12 +26,16 @@ # ############################################################################## +import transaction import zope.interface from AccessControl import ClassSecurityInfo from Acquisition import aq_base -from Products.CMFCore.utils import getToolByName from Products.ERP5Type import Permissions, interfaces +from Products.ERP5Type.Base import Base from Products.ERP5Type.Core.Predicate import Predicate +from Products.ERP5Type.Errors import SimulationError +from Products.ERP5Type.TransactionalVariable import getTransactionalVariable +from Products.ERP5.ExpandPolicy import policy_dict from Products.ERP5.MovementCollectionDiff import _getPropertyAndCategoryList from zLOG import LOG @@ -153,8 +157,7 @@ class RuleMixin(Predicate): movement_type = 'Simulation Movement' # Implementation of IRule - def constructNewAppliedRule(self, context, id=None, - activate_kw=None, **kw): + def constructNewAppliedRule(self, context, **kw): """ Create a new applied rule in the context. @@ -170,14 +173,8 @@ class RuleMixin(Predicate): kw -- XXX-JPS probably wrong interface specification """ - if id is None: - id = context.generateNewId() - if getattr(aq_base(context), id, None) is None: - context.newContent(id=id, - portal_type='Applied Rule', - specialise_value=self, - activate_kw=activate_kw) - return context.get(id) + return context.newContent(portal_type='Applied Rule', + specialise_value=self, **kw) if 0: # XXX-JPS - if people are stupid enough not to configfure predicates, # it is not our role to be clever for them @@ -192,7 +189,7 @@ class RuleMixin(Predicate): return False return super(RuleMixin, self).test(*args, **kw) - def expand(self, applied_rule, **kw): + def expand(self, applied_rule, expand_policy=None, **kw): """ Expand this applied rule to create new documents inside the applied rule. @@ -202,13 +199,17 @@ class RuleMixin(Predicate): by a decision (ie. a resource is changed), then we should not try to compensate such a decision. """ - # Update movements + policy_dict[expand_policy](**kw).expand(self, applied_rule) + + def _expandNow(self, maybe_expand, applied_rule): + # Update moveme-nts # NOTE-JPS: it is OK to make rounding a standard parameter of rules # although rounding in simulation is not recommended at all - self.updateMovementCollection(applied_rule, movement_generator=self._getMovementGenerator(applied_rule)) + self.updateMovementCollection(applied_rule, + movement_generator=self._getMovementGenerator(applied_rule)) # And forward expand for movement in applied_rule.getMovementList(): - movement.expand(**kw) + maybe_expand(movement) security.declareProtected(Permissions.AccessContentsInformation, 'isAccountable') @@ -474,3 +475,130 @@ class RuleMixin(Predicate): new_movement = self._newProfitAndLossMovement(prevision_movement) movement_collection_diff.addNewMovement(new_movement) + +class SimulableMixin(Base): + + def updateSimulation(self, **kw): + """Create/update related simulation trees by activity + + This method is used to maintain related objects in simulation trees: + - hiding complexity of activity dependencies + - avoiding duplicate work + + Repeated calls of this method for the same delivery will result in a single + call to _updateSimulation. Grouping may happen at the end of the transaction + or by the grouping method. + + See _updateSimulation for accepted parameters. + """ + tv = getTransactionalVariable() + key = 'SimulableMixin.updateSimulation', self.getUid() + item_list = kw.items() + try: + kw, ignore = tv[key] + kw.update(item_list) + except KeyError: + ignore = set() + tv[key] = kw, ignore + def before_commit(): + if kw: + path = self.getPath() + if aq_base(self.unrestrictedTraverse(path, None)) is aq_base(self): + self.activate( + activity='SQLQueue', + group_method_id='portal_rules/updateSimulation', + tag='expand:' + path, + after_tag='built:'+ path, # see SimulatedDeliveryBuilder + priority=3, + )._updateSimulation(**kw) + tv[key] = None # disallow further calls to 'updateSimulation' for self + transaction.get().addBeforeCommitHook(before_commit) + for k, v in item_list: + if not v: + ignore.add(k) + elif k not in ignore: + continue + del kw[k] + + def _updateSimulation(self, create_root=0, expand_root=0, + expand_related=0, index_related=0): + """ + Depending on set parameters, this method will: + create_root -- if a root applied rule is missing, create and expand it + expand_root -- expand related root applied rule, + create it before if missing + expand_related -- reindex related simulation movements (recursively) + index_related -- expand related simulation movements + """ + if create_root or expand_root: + applied_rule = self._getRootAppliedRule() + if applied_rule is None: + applied_rule = self._createRootAppliedRule() + expand_root = applied_rule is not None + activate_kw = {'tag': 'expand:'+self.getPath()} + if expand_root: + applied_rule.expand(activate_kw=activate_kw) + else: + applied_rule = None + if expand_related: + for movement in self._getAllRelatedSimulationMovementList(): + movement = movement.getObject() + if not movement.aq_inContextOf(applied_rule): + # XXX: make sure this will also reindex of all sub-objects recursively + movement.expand(activate_kw=activate_kw) + elif index_related: + for movement in self._getAllRelatedSimulationMovementList(): + movement = movement.getObject() + if not movement.aq_inContextOf(applied_rule): + movement.recursiveReindexObject(activate_kw=activate_kw) + + def getRuleReference(self): + """Returns an appropriate rule reference + + XXX: Using reference to select a rule (for a root applied rule) is wrong + and should be replaced by predicate and workflow state. + """ + method = self._getTypeBasedMethod('getRuleReference') + if method is None: + raise SimulationError("Missing type-based 'getRuleReference' script for " + + repr(self)) + return method() + + def _getRootAppliedRule(self): + """Get related root applied rule if it exists""" + applied_rule_list = self.getCausalityRelatedValueList( + portal_type='Applied Rule') + if len(applied_rule_list) == 1: + return applied_rule_list[0] + elif applied_rule_list: + raise SimulationError('%r has more than one applied rule.' % self) + + def _createRootAppliedRule(self): + """Create a root applied rule""" + # XXX: Consider moving this first test to Delivery + if self.isSimulated(): + # No need to have a root applied rule + # if we are already in the simulation process + return + rule_reference = self.getRuleReference() + if rule_reference: + portal = self.getPortalObject() + rule_list = portal.portal_catalog.unrestrictedSearchResults( + portal_type=portal.getPortalRuleTypeList(), + validation_state="validated", reference=rule_reference, + sort_on='version', sort_order='descending') + if rule_list: + applied_rule = rule_list[0].constructNewAppliedRule( + portal.portal_simulation, is_indexable=False) + applied_rule._setCausalityValue(self) + del applied_rule.isIndexable + applied_rule.immediateReindexObject() + self.serialize() # prevent duplicate root Applied Rule + return applied_rule + raise SimulationError("No such rule as %r is found" % rule_reference) + + def manage_beforeDelete(self, item, container): + """Delete related Applied Rule""" + for o in self.getCausalityRelatedValueList(portal_type='Applied Rule'): + o.getParentValue().deleteContent(o.getId()) + super(SimulableMixin, self).manage_beforeDelete(item, container) diff --git a/product/ERP5/tests/testAccountingRules.py b/product/ERP5/tests/testAccountingRules.py index b75a8ae2e2..d8448e8026 100644 --- a/product/ERP5/tests/testAccountingRules.py +++ b/product/ERP5/tests/testAccountingRules.py @@ -677,15 +677,6 @@ class TestAccountingRules(TestAccountingRulesMixin, ERP5TypeTestCase): invoice._delObject(invoice_line.getId()) invoice.recursiveReindexObject() - def stepUpdateAppliedRule(self, sequence, **kw) : - """ update the applied rule for the invoice. In the UI, the call to - updateAppliedRule is made in an interraction workflow when you edit - an invoice or its content.""" - # edit is done through interaction workflow, so we just call 'edit' - # on the invoice (but this is not necessary) - invoice=sequence.get('invoice') - invoice.edit() - def stepCreateSimpleInvoiceTwoLines(self, sequence, **kw) : """ similar to stepCreateSimpleInvoice, but replace @@ -1784,7 +1775,7 @@ class TestAccountingRules(TestAccountingRulesMixin, ERP5TypeTestCase): @newSimulationExpectedFailure def test_05a_SimpleInvoiceReExpandAddLine(self, quiet=QUIET, run=RUN_ALL_TESTS): - """ Add a new line then updateAppliedRule. + """ Add a new line then updateSimulation. Create an empty invoice, plan, add a line so that this invoice is the same as `SimpleInvoice`, confirm it then check accounting lines @@ -1951,7 +1942,7 @@ class TestAccountingRules(TestAccountingRulesMixin, ERP5TypeTestCase): if not run: return if not quiet: - message = 'Test Simple Invoice Rule (many updateAppliedRule)' + message = 'Test Simple Invoice Rule (many updateSimulation)' ZopeTestCase._print('\n%s ' % message) LOG('Testing... ', INFO, message) @@ -1974,7 +1965,6 @@ class TestAccountingRules(TestAccountingRulesMixin, ERP5TypeTestCase): stepTic """ + (""" stepEditInvoiceLine - stepUpdateAppliedRule stepTic""" * 4) + """ stepConfirmInvoice diff --git a/product/ERP5/tests/testAdvancedInvoicing.py b/product/ERP5/tests/testAdvancedInvoicing.py index c7b922b4b1..55a8808e00 100644 --- a/product/ERP5/tests/testAdvancedInvoicing.py +++ b/product/ERP5/tests/testAdvancedInvoicing.py @@ -280,7 +280,7 @@ class TestAdvancedInvoice(TestSaleInvoiceMixin, ERP5TypeTestCase): invoice_transaction = invoice.getCausalityRelatedValue() self.assertNotEquals(invoice_transaction, None) - self.assertEquals('draft', invoice_transaction.getCausalityState()) + self.assertEquals('solved', invoice_transaction.getCausalityState()) def test_AcceptQuantityDivergenceOnInvoiceWithStoppedPackingList(self, quiet=quiet, run=RUN_ALL_TESTS): """Accept divergence with stopped packing list""" diff --git a/product/ERP5/tests/testICal.py b/product/ERP5/tests/testICal.py index 8a493aadf7..8946603f6e 100644 --- a/product/ERP5/tests/testICal.py +++ b/product/ERP5/tests/testICal.py @@ -31,7 +31,6 @@ import unittest from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase from AccessControl.SecurityManagement import newSecurityManager from Products.ERP5Form.Form import ERP5Form -from Products.ERP5.tests.utils import newSimulationExpectedFailure class TestICal(ERP5TypeTestCase): @@ -165,7 +164,6 @@ class TestICal(ERP5TypeTestCase): feed_dict = self.getICalFeed(module) self.assertEquals(feed_dict['STATUS'], 'CANCELLED') - @newSimulationExpectedFailure def test_02_renderTask(self, quiet=0, run=run_all_test): """ Task - is rendered as "todo". diff --git a/product/ERP5/tests/testInvoice.py b/product/ERP5/tests/testInvoice.py index 17d3cd45f5..b6610cad2b 100644 --- a/product/ERP5/tests/testInvoice.py +++ b/product/ERP5/tests/testInvoice.py @@ -669,20 +669,12 @@ class TestInvoiceMixin(TestPackingListMixin): def stepCheckTwoInvoices(self,sequence=None, sequence_list=None, **kw): """ checks invoice properties are well set. """ # Now we will check that we have two invoices created - packing_list = sequence.get('packing_list') - invoice_list = packing_list.getCausalityRelatedValueList( - portal_type=self.invoice_portal_type) - self.assertEquals(len(invoice_list),1) - invoice = invoice_list[0] - self.assertEquals(invoice.getSimulationState(), 'confirmed') - sequence.edit(invoice=invoice) - new_packing_list = sequence.get('new_packing_list') - new_invoice_list = new_packing_list.getCausalityRelatedValueList( - portal_type=self.invoice_portal_type) - self.assertEquals(len(new_invoice_list),1) - new_invoice = new_invoice_list[0] - self.assertEquals(new_invoice.getSimulationState(), 'confirmed') - sequence.edit(new_invoice=new_invoice) + for x in '', 'new_': + packing_list = sequence.get(x + 'packing_list') + invoice, = packing_list.getCausalityRelatedValueList( + portal_type=self.invoice_portal_type) + self.assertEqual(invoice.getSimulationState(), 'confirmed') + sequence.set(x + 'invoice', invoice) def stepStartTwoInvoices(self,sequence=None, sequence_list=None, **kw): """ start both invoices. """ @@ -781,50 +773,28 @@ class TestInvoiceMixin(TestPackingListMixin): newSecurityManager(None, user) def stepEditInvoice(self, sequence=None, sequence_list=None, **kw): - """Edit the current invoice, to trigger updateAppliedRule.""" + """Edit the current invoice, to trigger updateSimulation.""" invoice = sequence.get('invoice') - invoice.edit() - - # call updateAppliedRule directly, don't rely on edit interactions - rule_reference = 'default_invoice_rule' - self.assertNotEquals(0, - len(self.portal.portal_rules.searchFolder(reference=rule_reference))) - invoice.updateAppliedRule(rule_reference=rule_reference) + invoice.edit(description='This invoice was edited!') def stepCheckInvoiceRuleNotAppliedOnInvoiceEdit(self, sequence=None, sequence_list=None, **kw): """If we call edit on the invoice, invoice rule should not be applied on lines created by delivery builder.""" invoice = sequence.get('invoice') - # FIXME: empty applied rule should not be created - #self.assertEquals(len(invoice.getCausalityRelatedValueList( - # portal_type=self.applied_rule_portal_type)), 0) - for invoice_mvt in invoice.getMovementList(): - self.assertEquals(len(invoice_mvt.getOrderRelatedValueList( - portal_type=self.simulation_movement_portal_type)), 0) + self.assertEqual([], invoice.getCausalityRelatedValueList()) def stepEditPackingList(self, sequence=None, sequence_list=None, **kw): - """Edit the current packing list, to trigger updateAppliedRule.""" + """Edit the current packing list, to trigger updateSimulation.""" packing_list = sequence.get('packing_list') - packing_list.edit() - - # call updateAppliedRule directly, don't rely on edit interactions - rule_reference = 'default_delivery_rule' - self.assertNotEquals(0, - len(self.portal.portal_rules.searchFolder(reference=rule_reference))) - packing_list.updateAppliedRule(rule_reference=rule_reference) + packing_list.edit(description='This packing list was edited!') def stepCheckDeliveryRuleNotAppliedOnPackingListEdit(self, sequence=None, sequence_list=None, **kw): """If we call edit on the packing list, delivery rule should not be applied on lines created by delivery builder.""" packing_list = sequence.get('packing_list') - # FIXME: empty applied rule should not be created - #self.assertEquals(len(packing_list.getCausalityRelatedValueList( - # portal_type=self.applied_rule_portal_type)), 0) - for delivery_mvt in packing_list.getMovementList(): - self.assertEquals(len(delivery_mvt.getOrderRelatedValueList( - portal_type=self.simulation_movement_portal_type)), 0) + self.assertEqual([], packing_list.getCausalityRelatedValueList()) def stepDecreaseInvoiceLineQuantity(self, sequence=None, sequence_list=None, **kw): @@ -1037,14 +1007,9 @@ class TestInvoiceMixin(TestPackingListMixin): # check which activities are failing self.assertTrue(str(exc).startswith('tic is looping forever.'), '%s does not start with "tic is looping forever."' % str(exc)) - msg_list = ['/'.join(x.object_path) for x in - self.getActivityTool().getMessageList()] - self.assertTrue(invoice.getPath() in msg_list, '%s in %s' % - (invoice.getPath(), msg_list)) - method_id_list = [x.method_id for x in - self.getActivityTool().getMessageList()] - self.assertTrue('Delivery_buildOnComposedDocument' in method_id_list, '%s in %s' % - ('Delivery_buildOnComposedDocument', method_id_list)) + msg_list = [('/'.join(x.object_path), x.method_id) + for x in self.getActivityTool().getMessageList()] + self.assertTrue((invoice.getPath(), '_localBuild') in msg_list, msg_list) # flush failing activities activity_tool = self.getActivityTool() activity_tool.manageClearActivities(keep=0) @@ -2613,7 +2578,7 @@ class TestSaleInvoice(TestSaleInvoiceMixin, TestInvoice, ERP5TypeTestCase): We want to prevent this from happening: - Create a packing list - An invoice is created from packing list - - Invoice is edited, updateAppliedRule is called + - Invoice is edited, updateSimulation is called - A new Invoice Rule is created for this invoice, and accounting movements for this invoice are present twice in the simulation. """ @@ -2633,9 +2598,9 @@ class TestSaleInvoice(TestSaleInvoiceMixin, TestInvoice, ERP5TypeTestCase): stepTic stepCheckInvoiceBuilding stepEditInvoice + stepTic stepCheckInvoiceRuleNotAppliedOnInvoiceEdit stepCheckInvoicesConsistency - stepTic """) sequence_list.play(self, quiet=quiet) @@ -2652,9 +2617,8 @@ class TestSaleInvoice(TestSaleInvoiceMixin, TestInvoice, ERP5TypeTestCase): base_sequence + """ stepEditPackingList - stepCheckDeliveryRuleNotAppliedOnPackingListEdit - stepCheckInvoicesConsistency stepTic + stepCheckDeliveryRuleNotAppliedOnPackingListEdit """) sequence_list.play(self, quiet=quiet) @@ -2725,6 +2689,7 @@ class TestSaleInvoice(TestSaleInvoiceMixin, TestInvoice, ERP5TypeTestCase): base_sequence + """ stepAddPackingListLine + stepTic stepSetContainerFullQuantity stepTic stepSetReadyPackingList diff --git a/product/ERP5/tests/testOrder.py b/product/ERP5/tests/testOrder.py index eb8c093973..139e17d60f 100644 --- a/product/ERP5/tests/testOrder.py +++ b/product/ERP5/tests/testOrder.py @@ -1134,23 +1134,13 @@ class TestOrderMixin(SubcontentReindexingWrapper): order_line = sequence.get('order_line') order_line.getParentValue().manage_delObjects([order_line.getId()]) - def stepCheckOrderSimulationStable(self, sequence=None, \ - sequence_list=None, **kw): + def stepCheckOrderConvergent(self, sequence=None, sequence_list=None, **kw): """ Tests that the simulation related to the order is stable and not divergent """ order = sequence.get('order') - order_movement_list = order.getMovementList() - related_simulation_list = [] - for order_movement in order_movement_list: - related_simulation_list.extend(order_movement.getOrderRelatedValueList()) - related_applied_rule_list = {} - for simulation_mvt in related_simulation_list: - self.assertFalse(simulation_mvt.isDivergent()) - related_applied_rule_list[simulation_mvt.getParentValue()]=1 - for applied_rule in related_applied_rule_list.keys(): - self.assertTrue(applied_rule.isStable()) + self.assertTrue(order.isConvergent()) def stepPackingListAdoptPrevision(self,sequence=None, sequence_list=None, **kw): @@ -2078,7 +2068,7 @@ class TestOrder(TestOrderMixin, ERP5TypeTestCase): stepConfirmOrder \ stepTic \ stepCheckOrderSimulation \ - stepCheckOrderSimulationStable \ + stepCheckOrderConvergent \ ' sequence_list.addSequenceString(sequence_string) # XXX XXX FIXME @@ -2109,7 +2099,7 @@ class TestOrder(TestOrderMixin, ERP5TypeTestCase): stepTic \ stepCheckOrderSimulation \ stepCheckDeliveryBuilding \ - stepCheckOrderSimulationStable \ + stepCheckOrderConvergent \ ' # sequence_list.addSequenceString(sequence_string) diff --git a/product/ERP5/tests/testProject.py b/product/ERP5/tests/testProject.py index cd1b9b39d4..a29fadcfeb 100644 --- a/product/ERP5/tests/testProject.py +++ b/product/ERP5/tests/testProject.py @@ -31,7 +31,6 @@ import unittest from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase from DateTime import DateTime -from Products.ERP5.tests.utils import newSimulationExpectedFailure class TestProject(ERP5TypeTestCase): """ Test for Project API and scripts and forms @@ -110,7 +109,6 @@ class TestProject(ERP5TypeTestCase): self.tic() - @newSimulationExpectedFailure def testProject_getSourceProjectRelatedTaskReportList(self): """ Basic Test if the script behaviour as expected. diff --git a/product/ERP5/tests/testRule.py b/product/ERP5/tests/testRule.py index 3a09678592..28a7ea9551 100644 --- a/product/ERP5/tests/testRule.py +++ b/product/ERP5/tests/testRule.py @@ -368,9 +368,9 @@ return context.generatePredicate( kw['trade_phase_relative_url'] = [] self.assertEqual(len(rule_tool.searchRuleList(self.sm, **kw)), 1) - def test_08_updateAppliedRule(self, quiet=quiet, run=run_all_test): + def test_08_createRootAppliedRule(self, quiet=quiet, run=run_all_test): """ - test that when updateAppliedRule is called, the rule with the correct + test that when updateSimulation is called, the rule with the correct reference and higher version is used XXX as expand is triggered here, make sure rules won't be created forever @@ -396,24 +396,28 @@ return context.generatePredicate( self.tic() # delivery_rule_2 should be applied - self.pl.updateAppliedRule('default_delivery_rule') + self.pl.updateSimulation(create_root=1) self.tic() - self.assertEquals(self.pl.getCausalityRelatedValue().getSpecialise(), + root_applied_rule, = self.pl.getCausalityRelatedValueList() + self.assertEquals(root_applied_rule.getSpecialise(), delivery_rule_2.getRelativeUrl()) - self.getSimulationTool().manage_delObjects( - ids=[self.pl.getCausalityRelatedId()]) + self.getSimulationTool()._delObject(root_applied_rule.getId()) # increase version of delivery_rule_1 delivery_rule_1.setVersion("testRule.3") self.tic() # delivery_rule_1 should be applied - self.pl.updateAppliedRule('default_delivery_rule') + self.pl.updateSimulation(create_root=1) self.tic() - self.assertEquals(self.pl.getCausalityRelatedValue().getSpecialise(), + root_applied_rule, = self.pl.getCausalityRelatedValueList() + self.assertEquals(root_applied_rule.getSpecialise(), delivery_rule_1.getRelativeUrl()) + self.getSimulationTool()._delObject(root_applied_rule.getId()) + self.tic() + def test_09_expandTwoRules(self, quiet=quiet, run=run_all_test): """ test that when expand is called on a simulation movement, if two rules @@ -443,47 +447,40 @@ return context.generatePredicate( test_method_id='invoice_rule_script') invoicing_rule_2.validate() - # clear simulation - self.getSimulationTool().manage_delObjects( - ids=list(self.getSimulationTool().objectIds())) - self.tic() - - self.pl.updateAppliedRule('default_delivery_rule') + self.pl.updateSimulation(create_root=1) self.tic() # check that only one invoicing rule (higher version) was applied - root_applied_rule = self.pl.getCausalityRelatedValue() + root_applied_rule, = self.pl.getCausalityRelatedValueList() self.assertEquals(root_applied_rule.getSpecialise(), delivery_rule.getRelativeUrl()) - self.assertEquals(root_applied_rule.objectCount(), 1) - movement = root_applied_rule.objectValues()[0] - self.assertEquals(movement.objectCount(), 1) - applied_rule = movement.objectValues()[0] + movement, = root_applied_rule.objectValues() + applied_rule, = movement.objectValues() self.assertEquals(applied_rule.getSpecialise(), invoicing_rule_2.getRelativeUrl()) # increase version of other rule, clean simulation and check again - self.getSimulationTool().manage_delObjects( - ids=[self.pl.getCausalityRelatedId()]) + self.getSimulationTool()._delObject(root_applied_rule.getId()) invoicing_rule_1.setVersion('testRule.3') self.tic() - self.pl.updateAppliedRule('default_delivery_rule') + self.pl.updateSimulation(create_root=1) self.tic() # check that only one invoicing rule (higher version) was applied - root_applied_rule = self.pl.getCausalityRelatedValue() + root_applied_rule, = self.pl.getCausalityRelatedValueList() self.assertEquals(root_applied_rule.getSpecialise(), delivery_rule.getRelativeUrl()) - self.assertEquals(root_applied_rule.objectCount(), 1) - movement = root_applied_rule.objectValues()[0] - self.assertEquals(movement.objectCount(), 1) - applied_rule = movement.objectValues()[0] + movement, = root_applied_rule.objectValues() + applied_rule, = movement.objectValues() self.assertEquals(applied_rule.getSpecialise(), invoicing_rule_1.getRelativeUrl()) + self.getSimulationTool()._delObject(root_applied_rule.getId()) + self.tic() + def test_10_expandAddsRule(self, quiet=quiet, run=run_all_test): """ test that if a rule didn't match previously, and does now, it should apply @@ -508,20 +505,14 @@ return context.generatePredicate( test_method_id='delivery_rule_script') invoicing_rule_1.validate() - # clear simulation - self.getSimulationTool().manage_delObjects( - ids=list(self.getSimulationTool().objectIds())) + self.pl.updateSimulation(create_root=1) self.tic() - - self.pl.updateAppliedRule('default_delivery_rule') - self.tic() - root_applied_rule = self.pl.getCausalityRelatedValue() + root_applied_rule, = self.pl.getCausalityRelatedValueList() # check that no invoicing rule was applied self.assertEquals(root_applied_rule.getSpecialise(), delivery_rule.getRelativeUrl()) - self.assertEquals(root_applied_rule.objectCount(), 1) - movement = root_applied_rule.objectValues()[0] + movement, = root_applied_rule.objectValues() self.assertEquals(movement.objectCount(), 0) # change rule script so that it matches and test again @@ -529,17 +520,8 @@ return context.generatePredicate( root_applied_rule.expand() self.tic() - self.assertEquals(root_applied_rule.getRelativeUrl(), - self.pl.getCausalityRelated()) - self.assertEquals(root_applied_rule.getSpecialise(), - delivery_rule.getRelativeUrl()) - - self.assertEquals(root_applied_rule.getSpecialise(), - delivery_rule.getRelativeUrl()) - self.assertEquals(root_applied_rule.objectCount(), 1) - movement = root_applied_rule.objectValues()[0] - self.assertEquals(movement.objectCount(), 1) - invoicing_rule_1_applied_rule = movement.objectValues()[0] + self.assertEquals(list(root_applied_rule.objectValues()), [movement]) + invoicing_rule_1_applied_rule, = movement.objectValues() self.assertEquals(invoicing_rule_1_applied_rule.getSpecialise(), invoicing_rule_1.getRelativeUrl()) @@ -557,24 +539,17 @@ return context.generatePredicate( root_applied_rule.expand() self.tic() - self.assertEquals(root_applied_rule.getRelativeUrl(), - self.pl.getCausalityRelated()) - self.assertEquals(root_applied_rule.getSpecialise(), - delivery_rule.getRelativeUrl()) - - self.assertEquals(root_applied_rule.getSpecialise(), - delivery_rule.getRelativeUrl()) - self.assertEquals(root_applied_rule.objectCount(), 1) - movement = root_applied_rule.objectValues()[0] - self.assertEquals(movement.objectCount(), 2) - applied_rule_list = sorted(movement.objectValues(), - key=lambda x: x.getSpecialiseValue().getReference()) + self.assertEquals(list(root_applied_rule.objectValues()), [movement]) + applied_rule_1, applied_rule_2 = sorted(movement.objectValues(), + key=lambda x: x.getSpecialiseReference()) # check the 1st applied rule is an application of invoicing_rule_1 - self.assertEquals(applied_rule_list[0].getSpecialise(), + self.assertEquals(applied_rule_1.getSpecialise(), invoicing_rule_n.getRelativeUrl()) - self.assertEquals(applied_rule_list[1].getSpecialise(), + self.assertEquals(applied_rule_2.getSpecialise(), invoicing_rule_2.getRelativeUrl()) + self.getSimulationTool()._delObject(root_applied_rule.getId()) + self.tic() def test_11_expandRemovesRule(self, quiet=quiet, run=run_all_test): """ @@ -600,23 +575,15 @@ return context.generatePredicate( test_method_id='invoice_rule_script') invoicing_rule_1.validate() - # clear simulation - self.getSimulationTool().manage_delObjects( - ids=list(self.getSimulationTool().objectIds())) - + self.pl.updateSimulation(create_root=1) self.tic() - - self.pl.updateAppliedRule('default_delivery_rule') - self.tic() - root_applied_rule = self.pl.getCausalityRelatedValue() + root_applied_rule, = self.pl.getCausalityRelatedValueList() # check that the invoicing rule was applied self.assertEquals(root_applied_rule.getSpecialise(), delivery_rule.getRelativeUrl()) - self.assertEquals(root_applied_rule.objectCount(), 1) - movement = root_applied_rule.objectValues()[0] - self.assertEquals(movement.objectCount(), 1) - applied_rule = movement.objectValues()[0] + movement, = root_applied_rule.objectValues() + applied_rule, = movement.objectValues() self.assertEquals(applied_rule.getSpecialise(), invoicing_rule_1.getRelativeUrl()) @@ -627,12 +594,7 @@ return context.generatePredicate( root_applied_rule.expand() self.tic() - self.assertEquals(root_applied_rule.getRelativeUrl(), - self.pl.getCausalityRelated()) - self.assertEquals(root_applied_rule.getSpecialise(), - delivery_rule.getRelativeUrl()) - self.assertEquals(root_applied_rule.objectCount(), 1) - movement = root_applied_rule.objectValues()[0] + self.assertEquals(list(root_applied_rule.objectValues()), [movement]) self.assertEquals(movement.objectCount(), 0) # change the test method to one that fails, and test that the rule is @@ -641,12 +603,7 @@ return context.generatePredicate( root_applied_rule.expand() self.tic() - self.assertEquals(root_applied_rule.getRelativeUrl(), - self.pl.getCausalityRelated()) - self.assertEquals(root_applied_rule.getSpecialise(), - delivery_rule.getRelativeUrl()) - self.assertEquals(root_applied_rule.objectCount(), 1) - movement = root_applied_rule.objectValues()[0] + self.assertEquals(list(root_applied_rule.objectValues()), [movement]) self.assertEquals(movement.objectCount(), 0) # change the test to one that succeeds, revalidate, expand, add a delivery @@ -659,18 +616,11 @@ return context.generatePredicate( root_applied_rule.expand() self.tic() - self.assertEquals(root_applied_rule.getRelativeUrl(), - self.pl.getCausalityRelated()) - self.assertEquals(root_applied_rule.getSpecialise(), - delivery_rule.getRelativeUrl()) - self.assertEquals(root_applied_rule.objectCount(), 1) - movement = root_applied_rule.objectValues()[0] - self.assertEquals(movement.objectCount(), 1) - applied_rule = movement.objectValues()[0] + self.assertEquals(list(root_applied_rule.objectValues()), [movement]) + applied_rule, = movement.objectValues() self.assertEquals(applied_rule.getSpecialise(), invoicing_rule_1.getRelativeUrl()) - self.assertEquals(applied_rule.objectCount(), 1) - sub_movement = applied_rule.objectValues()[0] + sub_movement, = applied_rule.objectValues() sub_movement.setDeliveryValue(self.pl.line) @@ -678,20 +628,16 @@ return context.generatePredicate( root_applied_rule.expand() self.tic() - self.assertEquals(root_applied_rule.getRelativeUrl(), - self.pl.getCausalityRelated()) - self.assertEquals(root_applied_rule.getSpecialise(), - delivery_rule.getRelativeUrl()) - self.assertEquals(root_applied_rule.objectCount(), 1) - movement = root_applied_rule.objectValues()[0] - self.assertEquals(movement.objectCount(), 1) - applied_rule = movement.objectValues()[0] + self.assertEquals(list(root_applied_rule.objectValues()), [movement]) + self.assertEquals(list(movement.objectValues()), [applied_rule]) self.assertEquals(applied_rule.getSpecialise(), invoicing_rule_1.getRelativeUrl()) - self.assertEquals(applied_rule.objectCount(), 1) - sub_movement = applied_rule.objectValues()[0] + self.assertEquals(list(applied_rule.objectValues()), [sub_movement]) self.assertEquals(sub_movement.getDelivery(), self.pl.line.getRelativeUrl()) + self.getSimulationTool()._delObject(root_applied_rule.getId()) + self.tic() + def test_12_expandReplacesRule(self, quiet=quiet, run=run_all_test): """ test that if a rule matched previously and does not anymore, and another @@ -721,23 +667,15 @@ return context.generatePredicate( test_method_id='invoice_rule_script') invoicing_rule_2.validate() - # clear simulation - self.getSimulationTool().manage_delObjects( - ids=list(self.getSimulationTool().objectIds())) - + self.pl.updateSimulation(create_root=1) self.tic() - - self.pl.updateAppliedRule('default_delivery_rule') - self.tic() - root_applied_rule = self.pl.getCausalityRelatedValue() + root_applied_rule, = self.pl.getCausalityRelatedValueList() # check that the invoicing rule 2 was applied self.assertEquals(root_applied_rule.getSpecialise(), delivery_rule.getRelativeUrl()) - self.assertEquals(root_applied_rule.objectCount(), 1) - movement = root_applied_rule.objectValues()[0] - self.assertEquals(movement.objectCount(), 1) - applied_rule = movement.objectValues()[0] + movement, = root_applied_rule.objectValues() + applied_rule, = movement.objectValues() self.assertEquals(applied_rule.getSpecialise(), invoicing_rule_2.getRelativeUrl()) @@ -747,39 +685,29 @@ return context.generatePredicate( root_applied_rule.expand() self.tic() - self.assertEquals(root_applied_rule.getRelativeUrl(), - self.pl.getCausalityRelated()) - self.assertEquals(root_applied_rule.getSpecialise(), - delivery_rule.getRelativeUrl()) - self.assertEquals(root_applied_rule.objectCount(), 1) - movement = root_applied_rule.objectValues()[0] - self.assertEquals(movement.objectCount(), 1) - applied_rule = movement.objectValues()[0] + self.assertEquals(list(root_applied_rule.objectValues()), [movement]) + applied_rule, = movement.objectValues() self.assertEquals(applied_rule.getSpecialise(), invoicing_rule_1.getRelativeUrl()) # change the test of invoicing rule 2 to one that succeeds, add a delivery # relation, expand, and test that the invoicing rule 1 is still there invoicing_rule_2.setTestMethodId('invoice_rule_script') - sub_movement = applied_rule.objectValues()[0] + sub_movement, = applied_rule.objectValues() sub_movement.setDeliveryValue(self.pl.line) root_applied_rule.expand() self.tic() - self.assertEquals(root_applied_rule.getRelativeUrl(), - self.pl.getCausalityRelated()) - self.assertEquals(root_applied_rule.getSpecialise(), - delivery_rule.getRelativeUrl()) - self.assertEquals(root_applied_rule.objectCount(), 1) - movement = root_applied_rule.objectValues()[0] - self.assertEquals(movement.objectCount(), 1) - applied_rule = movement.objectValues()[0] + self.assertEquals(list(root_applied_rule.objectValues()), [movement]) + self.assertEquals(list(movement.objectValues()), [applied_rule]) self.assertEquals(applied_rule.getSpecialise(), invoicing_rule_1.getRelativeUrl()) - self.assertEquals(applied_rule.objectCount(), 1) - sub_movement = applied_rule.objectValues()[0] + self.assertEquals(list(applied_rule.objectValues()), [sub_movement]) self.assertEquals(sub_movement.getDelivery(), self.pl.line.getRelativeUrl()) + self.getSimulationTool()._delObject(root_applied_rule.getId()) + self.tic() + def test_suite(): suite = unittest.TestSuite() diff --git a/product/ERP5/tests/testTask.py b/product/ERP5/tests/testTask.py index 6a714db942..3ddf11002a 100644 --- a/product/ERP5/tests/testTask.py +++ b/product/ERP5/tests/testTask.py @@ -458,13 +458,13 @@ class TestTaskMixin: self.assertEqual(task_line.getDescription(), task_report_line.getDescription()) - def stepVerifyTaskReportCausalityState(self, sequence=None, + def stepAssertDraftCausalityState(self, sequence=None, sequence_list=None, **kw): """ Verify that confirmed task report starts building and gets solved. """ task_report = sequence.get('task_report') - self.assertEqual(task_report.getCausalityState(), 'solved') + self.assertEqual(task_report.getCausalityState(), 'draft') def stepVerifyTaskReportNoPrice(self, sequence=None, sequence_list=None, **kw): @@ -625,7 +625,7 @@ class TestTask(TestTaskMixin, ERP5TypeTestCase): sequence_string = self.default_task_report_sequence + '\ stepConfirmTaskReport \ stepTic \ - stepVerifyTaskReportCausalityState \ + stepAssertDraftCausalityState \ stepStartTaskReport \ stepFinishTaskReport \ stepCloseTaskReport \ diff --git a/product/ERP5/tests/testTradeModelLine.py b/product/ERP5/tests/testTradeModelLine.py index 84f7b52dec..dc4476d0cb 100644 --- a/product/ERP5/tests/testTradeModelLine.py +++ b/product/ERP5/tests/testTradeModelLine.py @@ -370,8 +370,8 @@ class TestTradeModelLine(TestTradeModelLineMixin): def checkWithoutBPM(self, order): self.commit()# clear transactional cache order.getSpecialiseValue()._setSpecialise(None) - self.assertRaises(ValueError, order.expand, - applied_rule_id=order.getCausalityRelatedId(portal_type='Applied Rule')) + self.assertRaises(ValueError, order.getCausalityRelatedValue( + portal_type='Applied Rule').expand, 'immediate') self.abort() def checkModelLineOnDelivery(self, delivery): -- 2.30.9 From 7f0a3b61648336eb33cf0084b8168bc67e7e7b1a Mon Sep 17 00:00:00 2001 From: Julien Muchembled <jm@nexedi.com> Date: Mon, 7 May 2012 19:04:16 +0200 Subject: [PATCH 10/10] Remove obsolete Delivery.updateAppliedRule --- product/ERP5/Document/Delivery.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/product/ERP5/Document/Delivery.py b/product/ERP5/Document/Delivery.py index f4707b6263..713cff2c78 100644 --- a/product/ERP5/Document/Delivery.py +++ b/product/ERP5/Document/Delivery.py @@ -716,15 +716,6 @@ class Delivery(XMLObject, ImmobilisationDelivery, SimulableMixin, """Do an immediate local build for this delivery""" return self.asComposedDocument().build(explanation=self) - # deprecated - see ExpandableMixin - @UnrestrictedMethod - def updateAppliedRule(self, rule_reference=None, rule_id=None, **kw): - reference = self.getRuleReference() - if (rule_id or rule_reference) != reference: - raise RuntimeError("expected %r as rule reference, got %r" - % (reference, rule_reference)) - self._updateSimulation(create_root=1) # should it be always reexpanded ? - def _createRootAppliedRule(self): portal = self.getPortalObject() # Only create RAR if we are not in a "too early" or "too late" state. -- 2.30.9