Commit 8ba25690 authored by Jérome Perrin's avatar Jérome Perrin

Check global consistency in configurator tests

Use `portal_alarms/check_consistency` after configuration to make sure that every document created by configurator or part of the dependency business template is valid.

For now we have two exceptions (that are some TODO for the future):
 - Web Sites, because upgrader constraints are not ran by configurator at this point
 - Business Configuration, because most of the configurator item classes don't fully follow the protocol of constraints, their `fixConsistency` method always return "something needs to be fixed" without actually checking.

See merge request nexedi/erp5!1562
parents 2d0c1169 f14403d5
Pipeline #19920 failed with stage
......@@ -96,9 +96,6 @@ class TestConversionInSimulation(AccountingTestCase):
_(category_tool.incoterm, [self.cpt_incoterm])
_(category_tool.quantity_unit,
[self.unit_piece_quantity_unit, self.mass_quantity_unit])
_(category_tool.trade_phase, ['default'])
_(category_tool.trade_phase.default,
['accounting', 'delivery', 'invoicing', 'discount', 'tax', 'payment'])
_(category_tool.product_line, ['apparel'])
def _solveDivergence(self, obj, prop, decision, group='line'):
......@@ -201,13 +198,13 @@ class TestConversionInSimulation(AccountingTestCase):
)
trade_phase = self.getCategoryTool().trade_phase
kw = dict(portal_type='Trade Model Path',
trade_date='trade_phase/default/order')
trade_date='trade_phase/trade/order')
business_process.newContent(
reference='default_path',
trade_phase_value_list=[x for x in trade_phase.default.objectValues()
trade_phase_value_list=[x for x in trade_phase.trade.objectValues()
if x.getId() != 'accounting'],
**kw)
kw.update(trade_phase='default/accounting',
kw.update(trade_phase='trade/accounting',
resource_value=resource,
membership_criterion_base_category_list=(
'destination_region',
......
......@@ -235,7 +235,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Modules to Check</string> </value>
<value> <string>Modules and Tools to Check</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
......@@ -263,7 +263,7 @@
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python: sorted([(module.getTranslatedTitle(), module.getId()) for module in context.getPortalObject().objectValues(spec=\'ERP5 Folder\')])</string> </value>
<value> <string>python: sorted([(brain.getObject().getTranslatedTitle(), brain.id) for brain in context.getPortalObject().portal_catalog(select_dict={\'id\': None}, parent_uid=0, id=[\'%_module\', \'portal_%s\'])])</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -24,7 +24,7 @@
<tuple>
<string>base_application/base_amount/loyalty_program/collect_point</string>
<string>resource/service_module/test_loyalty_collect_point</string>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>use/loyalty_program/collect_point</string>
</tuple>
</value>
......
......@@ -23,7 +23,7 @@
<value>
<tuple>
<string>resource/service_module/test_loyalty_discount</string>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>base_application/base_amount/loyalty_program/discount</string>
</tuple>
</value>
......
......@@ -23,7 +23,7 @@
<value>
<tuple>
<string>resource/service_module/test_loyalty_using_point</string>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>base_application/base_amount/loyalty_program/using_point</string>
</tuple>
</value>
......
......@@ -64,7 +64,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
</tuple>
</value>
</item>
......
......@@ -24,7 +24,7 @@
<tuple>
<string>base_application/base_amount/loyalty_program/collect_point</string>
<string>resource/service_module/test_loyalty_collect_point</string>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>use/loyalty_program/collect_point</string>
</tuple>
</value>
......
......@@ -23,7 +23,7 @@
<value>
<tuple>
<string>resource/service_module/test_loyalty_coupon</string>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>base_application/base_amount/loyalty_program/coupon</string>
</tuple>
</value>
......
......@@ -23,7 +23,7 @@
<value>
<tuple>
<string>resource/service_module/test_loyalty_discount</string>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>base_application/base_amount/loyalty_program/discount</string>
</tuple>
</value>
......
......@@ -23,7 +23,7 @@
<value>
<tuple>
<string>resource/service_module/test_loyalty_using_point</string>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>base_application/base_amount/loyalty_program/using_point</string>
</tuple>
</value>
......
......@@ -76,4 +76,4 @@ class AccountingPeriodConfiguratorItem(ConfiguratorItemMixin, XMLObject):
# no need to 'install' in the business template, because it's contain as
# subobject of an organisation we already added.
return ['Accounting Period %s should be created' % self.getTitle()]
return [self._createConstraintMessage('Accounting Period %s should be created' % self.getTitle())]
......@@ -96,5 +96,5 @@ class AdvancedPurchaseTradeConditionConfiguratorItem(ConfiguratorItemMixin, XMLO
self.install(trade_condition, business_configuration)
return ['Purchase Trade Condition with reference %s should be created' % \
self.getReference(),]
return [self._createConstraintMessage('Purchase Trade Condition with reference %s should be created' % \
self.getReference(),)]
......@@ -97,5 +97,5 @@ class AdvancedSaleTradeConditionConfiguratorItem(ConfiguratorItemMixin, XMLObjec
self.install(trade_condition, business_configuration)
return ['Sale Trade Condition with reference %s should be created' % \
self.getReference(),]
return [self._createConstraintMessage('Sale Trade Condition with reference %s should be created' % \
self.getReference(),)]
......@@ -574,3 +574,24 @@ class BusinessConfiguration(Item):
if self.portal_workflow.isTransitionPossible(self, 'install'):
self.activate(after_tag=kw["tag"]).install()
# Business Configuration are Item, which inherits from Amount and expect the
# resource category document to be an actual resource, but in the case of
# Business Configuration it is a Workflow.
security.declareProtected(Permissions.AccessContentsInformation, 'getPrice')
def getPrice(self, *args, **kw):
"""Business Configuration have no price
"""
return None
security.declareProtected(Permissions.AccessContentsInformation, 'getBaseUnitPrice')
def getBaseUnitPrice(self, *args, **kw):
"""Business Configuration have no base unit price
"""
return None
security.declareProtected(Permissions.AccessContentsInformation, 'getVariationBaseCategoryList')
def getVariationBaseCategoryList(self, *args, **kw):
"""Business Configuration have no variation base category list
"""
return []
......@@ -61,7 +61,8 @@ class BusinessProcessConfiguratorItem(ConfiguratorItemMixin, XMLObject):
)
def _checkConsistency(self, fixit=False, **kw):
error_list = ["Business Process %s should be created" % self.getReference(),]
error_list = [
self._createConstraintMessage("Business Process %s should be created" % self.getReference())]
if fixit:
portal = self.getPortalObject()
business_process = portal.business_process_module.newContent(
......
......@@ -104,7 +104,8 @@ class CategoriesSpreadsheetConfiguratorItem(ConfiguratorItemMixin, XMLObject):
business_configuration = self.getBusinessConfigurationValue()
self.install(path, business_configuration)
else:
error_list.extend(["%s should be created" % category['path'] \
error_list.extend([
self._createConstraintMessage("%s should be created" % category['path'])
for category in category_list])
return error_list
......
......@@ -69,4 +69,4 @@ class CategoryConfiguratorItem(ConfiguratorItemMixin, XMLObject):
## add to customer template
business_configuration = self.getBusinessConfigurationValue()
self.install(category, business_configuration)
return ['Category %s should be created' % self.getTitle(),]
return [self._createConstraintMessage('Category %s should be created' % self.getTitle())]
......@@ -88,4 +88,4 @@ class OrganisationConfiguratorItem(ConfiguratorItemMixin, XMLObject):
## add to customer template
self.install(organisation, business_configuration)
return ['Organisation should be created',]
return [self._createConstraintMessage('Organisation should be created')]
......@@ -66,7 +66,7 @@ class PersonConfiguratorItem(XMLObject, ConfiguratorItemMixin):
error_list = []
person_list = self.acl_users.searchUsers(id=self.Person_getUserId(), exact_match=True)
if not person_list:
error_list.append("Person %s should be created" % self.Person_getUserId())
error_list.append(self._createConstraintMessage("Person %s should be created" % self.Person_getUserId()))
if fixit:
person_module = self.getPortalObject().person_module
person = person_module.newContent(portal_type="Person")
......
......@@ -85,10 +85,12 @@ class PortalTypeConfiguratorItem(ConfiguratorItemMixin, XMLObject):
],
)
return [
'Associate Property Sheets %r to %r in %r' % (
extra_property_sheet_list,
self.target_portal_type,
business_template_value.getTitle(),
),
self._createConstraintMessage(
'Associate Property Sheets %r to %r in %r' % (
extra_property_sheet_list,
self.target_portal_type,
business_template_value.getTitle(),
)
)
]
return []
......@@ -89,5 +89,5 @@ class PurchaseTradeConditionConfiguratorItem(ConfiguratorItemMixin, XMLObject):
self.install(trade_condition, business_configuration)
return ['Purchase Trade Condition with reference %s should be created' % \
self.getReference(),]
return [self._createConstraintMessage(
'Purchase Trade Condition with reference %s should be created' % self.getReference())]
......@@ -59,7 +59,7 @@ class RoleConfiguratorItem(ConfiguratorItemMixin, XMLObject):
, PropertySheet.DublinCore )
def _checkConsistency(self, fixit=False, **kw):
error_list = ['Roles should imported and created',]
error_list = [self._createConstraintMessage('Roles should imported and created')]
if fixit:
business_configuration = self.getBusinessConfigurationValue()
object_list = business_configuration.ConfigurationTemplate_readOOCalcFile(self.filename)
......
......@@ -77,4 +77,4 @@ class RuleConfiguratorItem(ConfiguratorItemMixin, XMLObject):
business_configuration = self.getBusinessConfigurationValue()
self.install(rule, business_configuration)
return ['Rule should be defined',]
return [self._createConstraintMessage('Rule should be defined')]
......@@ -90,5 +90,5 @@ class SaleTradeConditionConfiguratorItem(ConfiguratorItemMixin, XMLObject):
self.install(trade_condition, business_configuration)
return ['Sale Trade Condition with reference %s should be created' % \
self.getReference(),]
return [self._createConstraintMessage('Sale Trade Condition with reference %s should be created' % \
self.getReference(),)]
......@@ -61,7 +61,7 @@ class SecurityCategoryMappingConfiguratorItem(SkinConfiguratorItemMixin,
)
def _checkConsistency(self, fixit=False, **kw):
script_id = 'ERP5Type_getSecurityCategoryMapping'
error_list = ['%s should be created' % script_id,]
error_list = [self._createConstraintMessage('%s should be created' % script_id,)]
if fixit:
script_content = """return (
('ERP5Type_getSecurityCategoryFromAssignmentStrict', ['function']),
......
......@@ -72,4 +72,4 @@ class SitePropertyConfiguratorItem(ConfiguratorItemMixin, XMLObject):
bt = business_configuration.getSpecialiseValue()
bt.edit(template_site_property_id_list=id_list)
return ["The property %s should set on portal" % id_ for id_ in id_list]
return [self._createConstraintMessage("The property %s should set on portal" % id_) for id_ in id_list]
......@@ -83,4 +83,4 @@ class SolverConfiguratorItem(ConfiguratorItemMixin, XMLObject):
self.install(solver, business_configuration)
return ['Solvers should be created',]
return [self._createConstraintMessage('Solvers should be created')]
......@@ -625,7 +625,9 @@ class TestLiveConfiguratorWorkflowMixin(SecurityTestCase):
def stepViewAccount(self, sequence=None, sequence_list=None, **kw):
account = self.portal.account_module.newContent(
portal_type='Account')
portal_type='Account',
account_type='expense',
)
# in draft state,
self.assertEqual('draft', account.getValidationState())
# everybody can see
......@@ -687,7 +689,9 @@ class TestLiveConfiguratorWorkflowMixin(SecurityTestCase):
def stepCopyPasteAccount(self, sequence=None, sequence_list=None, **kw):
# tests copy / pasting accounts from account module
account = self.portal.account_module.newContent(
portal_type='Account')
portal_type='Account',
account_type='expense',
)
# in draft state,
self.assertEqual('draft', account.getValidationState())
......
......@@ -75,6 +75,7 @@ class StandardConfigurationMixin(TestLiveConfiguratorWorkflowMixin):
stepCheckPurchaseSimulationScenario
stepCheckSaleInvoiceAccountFallback
stepCheckPurchaseInvoiceAccountFallback
stepCheckConsistencyAlarm
'''
SECURITY_CONFIGURATION_SEQUENCE = """
......@@ -1871,6 +1872,57 @@ class StandardConfigurationMixin(TestLiveConfiguratorWorkflowMixin):
(100, 0, self.portal.account_module.purchase, None),
])
def stepCheckConsistencyAlarm(self, sequence):
"""Use erp5_administration's check_consistency alarm to verify that
in all modules and tools that there are no inconsistent documents after the
configuration.
"""
self.login()
# clone the check consistency alarm and enable it for all modules
alarm = self.portal.portal_alarms.check_consistency.Base_createCloneDocument(batch_mode=True)
alarm.setProperty(
'module_list',
[m[1] for m in alarm.Alarm_viewConsistencyCheckConfiguration.my_module_list.get_value('items')])
alarm.activeSense()
self.tic()
constraint_message_list = sum([
r.constraint_message_list for r in alarm.getLastActiveProcess().getResultList()], [])
# We ignore some constains here:
# - web sites: because web sites and web sections have some upgrader constraints that we
# don't run as part as configurator. TODO: probably we should integrate more configurator
# and upgrader, so that we run these constraints
constraint_message_list = [
c for c in constraint_message_list
if c.constraint_relative_url not in (
'portal_property_sheets/WebSectionUpgradeConstraint/default_page_modification_date_constraint',
'portal_property_sheets/WebSiteRenderJSUpgradeConstraint/translation_signature_constraint',
) ]
# - configurator items: because most configurator item do not implement checkConsistency
# fully, they only support applying the configuration, but not comparing the current
# state with the expected state.
# Fixing the configurator items is a TODO, then we'll be able to enable the check here.
constraint_message_list = [
c for c in constraint_message_list
if c.class_name not in set((
'Account Configurator Item',
'Accounting Period Configurator Item',
'Business Process Configurator Item',
'Catalog Keyword Key Configurator Item',
'Category Configurator Item',
'Categories Spreadsheet Configurator Item',
'Customer BT5 Configurator Item',
'Organisation Configurator Item',
'Person Configurator Item',
'Portal Type Roles Spreadsheet Configurator Item',
'Purchase Trade Condition Configurator Item',
'Rule Configurator Item',
'Sale Trade Condition Configurator Item',
'Security Category Mapping Configurator Item'))]
self.maxDiff = None
self.assertEqual(constraint_message_list, [])
class TestConsultingConfiguratorWorkflow(StandardConfigurationMixin):
"""
......
erp5_full_text_mroonga_catalog
\ No newline at end of file
erp5_full_text_mroonga_catalog
erp5_administration
\ No newline at end of file
......@@ -40,7 +40,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/accounting</string>
<string>trade_phase/trade/accounting</string>
</tuple>
</value>
</item>
......
......@@ -40,7 +40,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
</tuple>
</value>
</item>
......
......@@ -40,7 +40,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/payment</string>
<string>trade_phase/trade/payment</string>
</tuple>
</value>
</item>
......
......@@ -64,7 +64,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
</tuple>
</value>
</item>
......
......@@ -64,7 +64,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/accounting</string>
<string>trade_phase/trade/accounting</string>
</tuple>
</value>
</item>
......
......@@ -40,7 +40,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
</tuple>
</value>
</item>
......
......@@ -40,7 +40,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
</tuple>
</value>
</item>
......
......@@ -40,7 +40,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/order</string>
<string>trade_phase/trade/order</string>
</tuple>
</value>
</item>
......
......@@ -146,16 +146,6 @@
<value> <string>lines</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_type</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>lines</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
......@@ -213,16 +203,6 @@
<key> <string>edit_form_id</string> </key>
<value> <string>ERP5Site_viewContactPersonListGadgetPreferenceDialog</string> </value>
</item>
<item>
<key> <string>gadget_type</string> </key>
<value>
<tuple>
<string>erp5_front</string>
<string>web_section</string>
<string>web_front</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_gadget_contact_person</string> </value>
......
......@@ -146,16 +146,6 @@
<value> <string>lines</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_type</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>lines</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
......@@ -213,16 +203,6 @@
<key> <string>edit_form_id</string> </key>
<value> <string>ERP5Site_viewNewSaleOpportunityGadgetPreferenceDialog</string> </value>
</item>
<item>
<key> <string>gadget_type</string> </key>
<value>
<tuple>
<string>erp5_front</string>
<string>web_section</string>
<string>web_front</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_gadget_new_sale_opportunity</string> </value>
......
......@@ -79,7 +79,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
</tuple>
</value>
</item>
......
......@@ -79,7 +79,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/order</string>
<string>trade_phase/trade/order</string>
</tuple>
</value>
</item>
......
......@@ -79,7 +79,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
</tuple>
</value>
</item>
......
......@@ -79,7 +79,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/accounting</string>
<string>trade_phase/trade/accounting</string>
</tuple>
</value>
</item>
......
......@@ -89,7 +89,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/accounting</string>
<string>trade_phase/trade/accounting</string>
</tuple>
</value>
</item>
......
......@@ -79,7 +79,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
</tuple>
</value>
</item>
......
......@@ -79,7 +79,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
</tuple>
</value>
</item>
......
......@@ -89,7 +89,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/payment</string>
<string>trade_phase/trade/payment</string>
</tuple>
</value>
</item>
......
......@@ -40,7 +40,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/accounting</string>
<string>trade_phase/trade/accounting</string>
</tuple>
</value>
</item>
......
......@@ -40,7 +40,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
</tuple>
</value>
</item>
......
......@@ -40,7 +40,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
</tuple>
</value>
</item>
......
......@@ -40,7 +40,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
</tuple>
</value>
</item>
......
......@@ -40,7 +40,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
</tuple>
</value>
</item>
......
......@@ -40,7 +40,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/accounting</string>
<string>trade_phase/trade/accounting</string>
</tuple>
</value>
</item>
......
......@@ -40,7 +40,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/order</string>
<string>trade_phase/trade/order</string>
</tuple>
</value>
</item>
......
......@@ -40,7 +40,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/payment</string>
<string>trade_phase/trade/payment</string>
</tuple>
</value>
</item>
......
......@@ -49,8 +49,8 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/accounting</string>
<string>trade_date/trade_phase/default/accounting</string>
<string>trade_phase/trade/accounting</string>
<string>trade_date/trade_phase/trade/accounting</string>
</tuple>
</value>
</item>
......
......@@ -78,7 +78,7 @@
<tuple>
<string>delivery_builder/portal_deliveries/purchase_invoice_transaction_builder</string>
<string>delivery_builder/portal_deliveries/sale_invoice_transaction_builder</string>
<string>trade_phase/default/accounting</string>
<string>trade_phase/trade/accounting</string>
<string>predecessor/trade_state/invoiced</string>
<string>successor/trade_state/accounted</string>
</tuple>
......
......@@ -77,7 +77,7 @@
<value>
<tuple>
<string>delivery_builder/portal_deliveries/sale_packing_list_builder</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>predecessor/trade_state/ordered</string>
<string>successor/trade_state/delivered</string>
</tuple>
......
......@@ -69,8 +69,8 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/delivery</string>
<string>trade_date/trade_phase/default/order</string>
<string>trade_phase/trade/delivery</string>
<string>trade_date/trade_phase/trade/order</string>
<string>end_of/day</string>
</tuple>
</value>
......
......@@ -77,7 +77,7 @@
<value>
<tuple>
<string>delivery_builder/portal_deliveries/sale_invoice_builder</string>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>predecessor/trade_state/delivered</string>
<string>successor/trade_state/invoiced</string>
</tuple>
......
......@@ -49,8 +49,8 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_date/trade_phase/default/delivery</string>
<string>trade_phase/default/invoicing</string>
<string>trade_date/trade_phase/trade/delivery</string>
<string>trade_phase/trade/invoicing</string>
</tuple>
</value>
</item>
......
......@@ -76,7 +76,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/order</string>
<string>trade_phase/trade/order</string>
<string>successor/trade_state/ordered</string>
</tuple>
</value>
......
......@@ -50,8 +50,8 @@
<value>
<tuple>
<string>incoterm/a</string>
<string>trade_phase/default/order</string>
<string>trade_date/trade_phase/default/order</string>
<string>trade_phase/trade/order</string>
<string>trade_date/trade_phase/trade/order</string>
</tuple>
</value>
</item>
......
......@@ -77,7 +77,7 @@
<value>
<tuple>
<string>delivery_builder/portal_deliveries/payment_transaction_builder</string>
<string>trade_phase/default/payment</string>
<string>trade_phase/trade/payment</string>
<string>predecessor/trade_state/accounted</string>
<string>successor/trade_state/paid</string>
<string>source/account_module/bank</string>
......
......@@ -33,7 +33,7 @@
<string>resource/product_module/8</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/myorganisation</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>delivery_mode/air</string>
<string>destination_decision/person_module/11</string>
<string>specialise/sale_trade_condition_module/1</string>
......
......@@ -28,7 +28,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>delivery_mode/air</string>
<string>causality/business_process_module/maxma_business_process/invoice_path</string>
<string>causality/business_process_module/maxma_business_process/invoice</string>
......
......@@ -33,7 +33,7 @@
<string>resource/product_module/5</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/12</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>delivery_mode/air</string>
<string>destination_decision/person_module/5</string>
<string>specialise/purchase_trade_condition_module/3</string>
......
......@@ -34,7 +34,7 @@
<string>causality/business_process_module/maxma_business_process/invoice</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/12</string>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>destination/organisation_module/myorganisation</string>
<string>destination_decision/person_module/5</string>
<string>specialise/purchase_trade_condition_module/3</string>
......
......@@ -33,7 +33,7 @@
<string>resource/product_module/1</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/myorganisation</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>delivery_mode/air</string>
<string>destination_decision/person_module/15</string>
<string>specialise/sale_trade_condition_module/1</string>
......
......@@ -28,7 +28,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>delivery_mode/air</string>
<string>causality/business_process_module/maxma_business_process/invoice_path</string>
<string>causality/business_process_module/maxma_business_process/invoice</string>
......
......@@ -33,7 +33,7 @@
<string>resource/product_module/6</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/myorganisation</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>delivery_mode/air</string>
<string>destination_decision/person_module/11</string>
<string>specialise/sale_trade_condition_module/1</string>
......
......@@ -28,7 +28,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>delivery_mode/air</string>
<string>causality/business_process_module/maxma_business_process/invoice_path</string>
<string>causality/business_process_module/maxma_business_process/invoice</string>
......
......@@ -33,7 +33,7 @@
<string>resource/product_module/11</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/myorganisation</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>delivery_mode/air</string>
<string>destination_decision/person_module/16</string>
<string>specialise/sale_trade_condition_module/1</string>
......
......@@ -28,7 +28,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>delivery_mode/air</string>
<string>causality/business_process_module/maxma_business_process/invoice_path</string>
<string>causality/business_process_module/maxma_business_process/invoice</string>
......
......@@ -33,7 +33,7 @@
<string>resource/product_module/10</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/myorganisation</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>delivery_mode/air</string>
<string>destination_decision/person_module/16</string>
<string>specialise/sale_trade_condition_module/1</string>
......
......@@ -28,7 +28,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>delivery_mode/air</string>
<string>causality/business_process_module/maxma_business_process/invoice_path</string>
<string>causality/business_process_module/maxma_business_process/invoice</string>
......
......@@ -33,7 +33,7 @@
<string>resource/product_module/12</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/myorganisation</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>delivery_mode/air</string>
<string>destination_decision/person_module/16</string>
<string>specialise/sale_trade_condition_module/1</string>
......
......@@ -28,7 +28,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>delivery_mode/air</string>
<string>causality/business_process_module/maxma_business_process/invoice_path</string>
<string>causality/business_process_module/maxma_business_process/invoice</string>
......
......@@ -33,7 +33,7 @@
<string>resource/product_module/7</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/myorganisation</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>delivery_mode/air</string>
<string>destination_decision/person_module/10</string>
<string>specialise/sale_trade_condition_module/1</string>
......
......@@ -28,7 +28,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>delivery_mode/air</string>
<string>causality/business_process_module/maxma_business_process/invoice_path</string>
<string>causality/business_process_module/maxma_business_process/invoice</string>
......
......@@ -33,7 +33,7 @@
<string>resource/product_module/2</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/myorganisation</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>delivery_mode/air</string>
<string>destination_decision/person_module/14</string>
<string>specialise/sale_trade_condition_module/1</string>
......
......@@ -28,7 +28,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>delivery_mode/air</string>
<string>causality/business_process_module/maxma_business_process/invoice_path</string>
<string>causality/business_process_module/maxma_business_process/invoice</string>
......
......@@ -33,7 +33,7 @@
<string>resource/product_module/7</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/myorganisation</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>delivery_mode/air</string>
<string>destination_decision/person_module/10</string>
<string>specialise/sale_trade_condition_module/1</string>
......
......@@ -28,7 +28,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>delivery_mode/air</string>
<string>causality/business_process_module/maxma_business_process/invoice_path</string>
<string>causality/business_process_module/maxma_business_process/invoice</string>
......
......@@ -33,7 +33,7 @@
<string>resource/product_module/6</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/myorganisation</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>delivery_mode/air</string>
<string>destination_decision/person_module/10</string>
<string>specialise/sale_trade_condition_module/1</string>
......
......@@ -28,7 +28,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>delivery_mode/air</string>
<string>causality/business_process_module/maxma_business_process/invoice_path</string>
<string>causality/business_process_module/maxma_business_process/invoice</string>
......
......@@ -33,7 +33,7 @@
<string>resource/product_module/8</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/myorganisation</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>delivery_mode/air</string>
<string>destination_decision/person_module/10</string>
<string>specialise/sale_trade_condition_module/1</string>
......
......@@ -28,7 +28,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>delivery_mode/air</string>
<string>causality/business_process_module/maxma_business_process/invoice_path</string>
<string>causality/business_process_module/maxma_business_process/invoice</string>
......
......@@ -33,7 +33,7 @@
<string>resource/product_module/7</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/myorganisation</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>delivery_mode/air</string>
<string>destination_decision/person_module/10</string>
<string>specialise/sale_trade_condition_module/1</string>
......
......@@ -28,7 +28,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>delivery_mode/air</string>
<string>causality/business_process_module/maxma_business_process/invoice_path</string>
<string>causality/business_process_module/maxma_business_process/invoice</string>
......
......@@ -33,7 +33,7 @@
<string>resource/product_module/6</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/myorganisation</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>delivery_mode/air</string>
<string>destination_decision/person_module/11</string>
<string>specialise/sale_trade_condition_module/1</string>
......
......@@ -28,7 +28,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>delivery_mode/air</string>
<string>causality/business_process_module/maxma_business_process/invoice_path</string>
<string>causality/business_process_module/maxma_business_process/invoice</string>
......
......@@ -33,7 +33,7 @@
<string>resource/product_module/10</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/11</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>delivery_mode/air</string>
<string>destination_decision/person_module/5</string>
<string>specialise/purchase_trade_condition_module/1</string>
......
......@@ -34,7 +34,7 @@
<string>causality/business_process_module/maxma_business_process/invoice</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/11</string>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>destination/organisation_module/myorganisation</string>
<string>destination_decision/person_module/5</string>
<string>specialise/purchase_trade_condition_module/1</string>
......
......@@ -33,7 +33,7 @@
<string>resource/product_module/5</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/myorganisation</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>delivery_mode/air</string>
<string>destination_decision/person_module/9</string>
<string>specialise/sale_trade_condition_module/1</string>
......
......@@ -28,7 +28,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>delivery_mode/air</string>
<string>causality/business_process_module/maxma_business_process/invoice_path</string>
<string>causality/business_process_module/maxma_business_process/invoice</string>
......
......@@ -33,7 +33,7 @@
<string>resource/product_module/3</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/myorganisation</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>delivery_mode/air</string>
<string>destination_decision/person_module/13</string>
<string>specialise/sale_trade_condition_module/1</string>
......
......@@ -28,7 +28,7 @@
<key> <string>categories</string> </key>
<value>
<tuple>
<string>trade_phase/default/invoicing</string>
<string>trade_phase/trade/invoicing</string>
<string>delivery_mode/air</string>
<string>causality/business_process_module/maxma_business_process/invoice_path</string>
<string>causality/business_process_module/maxma_business_process/invoice</string>
......
......@@ -33,7 +33,7 @@
<string>resource/product_module/12</string>
<string>quantity_unit/unit/piece</string>
<string>source_section/organisation_module/myorganisation</string>
<string>trade_phase/default/delivery</string>
<string>trade_phase/trade/delivery</string>
<string>delivery_mode/air</string>
<string>destination_decision/person_module/16</string>
<string>specialise/sale_trade_condition_module/1</string>
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment