Commit ea0850ca authored by Jérome Perrin's avatar Jérome Perrin

Merge remote-tracking branch 'upstream/master' into zope4py2

parents 336384d8 ab137095
"""Returns an item list of the acceptable bank accounts. """Returns an item list of the acceptable bank accounts.
If `organisation` is passed, then we only show bank accounts available for that If `organisation` is passed, then we only show bank accounts available for that
organisation, using the following policy: organisation, using the following policy:
- if organisation is independant accounting entity (ie. have accounting periods), - if organisation is independent accounting entity (ie. have accounting periods),
only bank accounts from this organisation can be selected only bank accounts from this organisation can be selected.
- otherwise, bank accounts from this organisation and all organisation directly - otherwise, bank accounts from this organisation and all organisation directly
members of the parent groups can be us members of the parent groups can be used
- if organisation higher in the group hierarchy contains bank accounts, bank - if organisation higher in the group hierarchy contains bank accounts, bank
accounts from parent organisations can be selected accounts from parent organisations can be selected
`organisation` can actually be a person or other portal types, in this case they
are assumed to be independent accounting entities.
If organisation is not passed, this script will return all bank accounts If organisation is not passed, this script will return all bank accounts
applicable for section_category and section_category_strict_membership. applicable for section_category and section_category_strict_membership.
If `base_category` is passed, the currently linked bank account with the specified
base_category is anyway included.
""" """
from Products.ERP5Type.Message import translateString
portal = context.getPortalObject() portal = context.getPortalObject()
search_kw = dict(portal_type=portal.getPortalPaymentNodeTypeList())
if skip_invalidated_bank_accounts:
search_kw['validation_state'] = '!=invalidated'
if organisation: search_kw = dict(
organisation_value = portal.restrictedTraverse(organisation) portal_type=portal.getPortalPaymentNodeTypeList(),
validation_state='validated',
)
# if organisation is an independant accounting section and contains bank accounts, if organisation:
entity_value = portal.restrictedTraverse(organisation)
# if entity is an independent accounting section and contains bank accounts,
# only take into account those. # only take into account those.
if organisation_value == organisation_value.Organisation_getMappingRelatedOrganisation(): if entity_value.getPortalType() != 'Organisation' \
bank_account_list = organisation_value.searchFolder(**search_kw) or entity_value == entity_value.Organisation_getMappingRelatedOrganisation():
bank_account_list = entity_value.searchFolder(**search_kw)
# else we lookup in organisations from parent groups. # else we lookup in organisations from parent groups.
else: else:
group_value = organisation_value.getGroupValue(None) group_value = entity_value.getGroupValue(None)
if group_value is not None: if group_value is not None:
uid_list = [] uid_list = []
while group_value.getPortalType() != 'Base Category': while group_value.getPortalType() != 'Base Category':
...@@ -50,36 +59,45 @@ else: ...@@ -50,36 +59,45 @@ else:
item_list = [('', '')] item_list = [('', '')]
# If we have bank accounts from more than one organisation, include # If we have bank accounts from more than one entity, include
# the organisation as hierarchy to show which organisation the bank # the entity as hierarchy to show which entity the bank
# account belongs to. # account belongs to.
include_organisation_hierarchy = len(set( include_entity_hierarchy = len(set(
['/'.join(b.path.split('/')[:-1]) for b in bank_account_list])) > 1 ['/'.join(b.path.split('/')[:-1]) for b in bank_account_list])) > 1
previous_organisation = None bank_account_list = [brain.getObject() for brain in sorted(
bank_account_list, key=lambda b:b.path
)]
def getItemList(bank_account):
reference = bank_account.getReference()
title = bank_account.getTitle() or bank_account.getSourceFreeText() or bank_account.getSourceTitle()
label = title
if reference != title:
label = '{} - {}'.format(reference, title)
return (label, bank_account.getRelativeUrl())
previous_entity = None
# sort bank accounts in a way that bank accounts from the same # sort bank accounts in a way that bank accounts from the same
# organisation are consecutive # entity are consecutive
for brain in sorted(bank_account_list, key=lambda b:b.path): for bank in bank_account_list:
bank = brain.getObject() if include_entity_hierarchy:
if include_organisation_hierarchy: entity = bank.getParentValue()
organisation = bank.getParentValue() if entity != previous_entity:
if organisation != previous_organisation: previous_entity = entity
previous_organisation = organisation
# include non-selectable element to show hierarchy # include non-selectable element to show hierarchy
item_list.append((organisation.getTranslatedTitle(), None)) item_list.append((entity.getTranslatedTitle(), None))
item_list.append(getItemList(bank))
if bank.getReference() and bank.getTitle() \
and bank.getReference() != bank.getTitle(): if base_category is not None:
item_list.append(('%s - %s' % ( bank.getReference(), current_value = context.getProperty(base_category + '_value')
bank.getTitle() or if current_value and current_value not in bank_account_list:
bank.getSourceFreeText() or item_list.append((
bank.getSourceTitle()), translateString(
bank.getRelativeUrl())) 'Invalid bank account from ${entity_title}',
else: mapping={'entity_title': current_value.getParentTitle()}), None))
item_list.append(( bank.getReference() or item_list.append(getItemList(current_value))
bank.getTitle() or
bank.getSourceFreeText() or
bank.getSourceTitle(),
bank.getRelativeUrl() ))
return item_list return item_list
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>organisation=None, skip_invalidated_bank_accounts=0, section_category=None, section_category_strict_membership=False</string> </value> <value> <string>organisation=None, section_category=None, section_category_strict_membership=False, base_category=None</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
return context.AccountModule_getBankAccountItemList( section = context.getDestinationSection()
organisation=context.getDestinationSection(), if section:
skip_invalidated_bank_accounts= return context.AccountModule_getBankAccountItemList(
(context.getSimulationState() != 'delivered')) organisation=section,
base_category='destination_payment')
return [('', '')]
return context.AccountModule_getBankAccountItemList( section = context.getSourceSection()
organisation=context.getSourceSection(), if section:
skip_invalidated_bank_accounts= return context.AccountModule_getBankAccountItemList(
(context.getSimulationState() != 'delivered')) organisation=section,
base_category='source_payment')
return [('', '')]
...@@ -20,17 +20,24 @@ container.script_validateTransaction(state_change) ...@@ -20,17 +20,24 @@ container.script_validateTransaction(state_change)
# parties or bank accounts # parties or bank accounts
transaction_lines = transaction.objectValues(portal_type=transaction.getPortalAccountingMovementTypeList()) transaction_lines = transaction.objectValues(portal_type=transaction.getPortalAccountingMovementTypeList())
id_to_delete_list = [] id_to_delete_list = []
getBankAccountItemList = portal.AccountModule_getBankAccountItemList
for line in transaction_lines: for line in transaction_lines:
for account, third_party, bank_account, bank_account_relative_url_list_getter in (
for account, third_party, bank_account in ( (
( line.getSourceValue(portal_type='Account'), line.getSourceValue(portal_type='Account'),
line.getDestinationSectionValue(portal_type=section_portal_type_list), line.getDestinationSectionValue(portal_type=section_portal_type_list),
line.getSourcePaymentValue(portal_type=bank_account_portal_type),), line.getSourcePaymentValue(portal_type=bank_account_portal_type),
( line.getDestinationValue(portal_type='Account'), lambda: (x[1] for x in getBankAccountItemList(
organisation=line.getSourceSection(portal_type=section_portal_type_list))),
),
(
line.getDestinationValue(portal_type='Account'),
line.getSourceSectionValue(portal_type=section_portal_type_list), line.getSourceSectionValue(portal_type=section_portal_type_list),
line.getDestinationPaymentValue(portal_type=bank_account_portal_type),), line.getDestinationPaymentValue(portal_type=bank_account_portal_type),
lambda: (x[1] for x in getBankAccountItemList(
organisation=line.getDestinationSection(portal_type=section_portal_type_list))),
),
): ):
if account is not None and account.getValidationState() != 'validated': if account is not None and account.getValidationState() != 'validated':
raise ValidationFailed(translateString( raise ValidationFailed(translateString(
"Account ${account_title} is not validated.", "Account ${account_title} is not validated.",
...@@ -43,7 +50,7 @@ for line in transaction_lines: ...@@ -43,7 +50,7 @@ for line in transaction_lines:
mapping=dict(third_party_name=third_party.getTitle()))) mapping=dict(third_party_name=third_party.getTitle())))
if bank_account is not None: if bank_account is not None:
if bank_account.getValidationState() in invalid_state_list: if bank_account.getRelativeUrl() not in bank_account_relative_url_list_getter():
raise ValidationFailed(translateString( raise ValidationFailed(translateString(
"Bank Account ${bank_account_reference} is invalid.", "Bank Account ${bank_account_reference} is invalid.",
mapping=dict(bank_account_reference=bank_account.getReference()))) mapping=dict(bank_account_reference=bank_account.getReference())))
......
...@@ -104,6 +104,12 @@ ...@@ -104,6 +104,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Bank</string> </value> <value> <string>Bank</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -129,4 +135,83 @@ ...@@ -129,4 +135,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>account_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671430065.86</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -104,6 +104,12 @@ ...@@ -104,6 +104,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Collected VAT 10%</string> </value> <value> <string>Collected VAT 10%</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -129,4 +135,83 @@ ...@@ -129,4 +135,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>account_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671430065.87</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -104,6 +104,12 @@ ...@@ -104,6 +104,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Equity</string> </value> <value> <string>Equity</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -129,4 +135,83 @@ ...@@ -129,4 +135,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>account_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671430065.87</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -104,6 +104,12 @@ ...@@ -104,6 +104,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Fixed Assets</string> </value> <value> <string>Fixed Assets</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -129,4 +135,83 @@ ...@@ -129,4 +135,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>account_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671430065.88</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -104,6 +104,12 @@ ...@@ -104,6 +104,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Goods Purchase</string> </value> <value> <string>Goods Purchase</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -129,4 +135,83 @@ ...@@ -129,4 +135,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>account_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671430065.88</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -104,6 +104,12 @@ ...@@ -104,6 +104,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Goods Sales</string> </value> <value> <string>Goods Sales</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -129,4 +135,83 @@ ...@@ -129,4 +135,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>account_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671430065.88</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -104,6 +104,12 @@ ...@@ -104,6 +104,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Payable</string> </value> <value> <string>Payable</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -129,4 +135,83 @@ ...@@ -129,4 +135,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>account_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671430065.88</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -104,6 +104,12 @@ ...@@ -104,6 +104,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Receivable</string> </value> <value> <string>Receivable</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -129,4 +135,83 @@ ...@@ -129,4 +135,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>account_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671430065.89</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -104,6 +104,12 @@ ...@@ -104,6 +104,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Refundable VAT 10%</string> </value> <value> <string>Refundable VAT 10%</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -129,4 +135,83 @@ ...@@ -129,4 +135,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>account_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671430065.89</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -104,6 +104,12 @@ ...@@ -104,6 +104,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Stocks</string> </value> <value> <string>Stocks</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -129,4 +135,83 @@ ...@@ -129,4 +135,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>account_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671430065.89</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -14,9 +14,7 @@ ...@@ -14,9 +14,7 @@
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Auditor</string> <string>Auditor</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -27,9 +25,7 @@ ...@@ -27,9 +25,7 @@
<string>Assignee</string> <string>Assignee</string>
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -40,9 +36,7 @@ ...@@ -40,9 +36,7 @@
<string>Assignee</string> <string>Assignee</string>
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -54,9 +48,7 @@ ...@@ -54,9 +48,7 @@
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Auditor</string> <string>Auditor</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -98,6 +90,12 @@ ...@@ -98,6 +90,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Euro</string> </value> <value> <string>Euro</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -123,4 +121,83 @@ ...@@ -123,4 +121,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>validation_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671675304.94</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -14,9 +14,7 @@ ...@@ -14,9 +14,7 @@
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Auditor</string> <string>Auditor</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -27,9 +25,7 @@ ...@@ -27,9 +25,7 @@
<string>Assignee</string> <string>Assignee</string>
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -40,9 +36,7 @@ ...@@ -40,9 +36,7 @@
<string>Assignee</string> <string>Assignee</string>
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -54,9 +48,7 @@ ...@@ -54,9 +48,7 @@
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Auditor</string> <string>Auditor</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -98,6 +90,12 @@ ...@@ -98,6 +90,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>US Dollar</string> </value> <value> <string>US Dollar</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -123,4 +121,83 @@ ...@@ -123,4 +121,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>validation_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671675358.82</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -14,9 +14,7 @@ ...@@ -14,9 +14,7 @@
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Auditor</string> <string>Auditor</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -27,9 +25,7 @@ ...@@ -27,9 +25,7 @@
<string>Assignee</string> <string>Assignee</string>
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -40,9 +36,7 @@ ...@@ -40,9 +36,7 @@
<string>Assignee</string> <string>Assignee</string>
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -54,9 +48,7 @@ ...@@ -54,9 +48,7 @@
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Auditor</string> <string>Auditor</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -98,6 +90,12 @@ ...@@ -98,6 +90,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Yen</string> </value> <value> <string>Yen</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -123,4 +121,83 @@ ...@@ -123,4 +121,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>validation_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671675358.82</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -14,9 +14,7 @@ ...@@ -14,9 +14,7 @@
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Auditor</string> <string>Auditor</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -27,9 +25,7 @@ ...@@ -27,9 +25,7 @@
<string>Assignee</string> <string>Assignee</string>
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -40,9 +36,7 @@ ...@@ -40,9 +36,7 @@
<string>Assignee</string> <string>Assignee</string>
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -54,9 +48,7 @@ ...@@ -54,9 +48,7 @@
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Auditor</string> <string>Auditor</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -82,9 +74,9 @@ ...@@ -82,9 +74,9 @@
<key> <string>categories</string> </key> <key> <string>categories</string> </key>
<value> <value>
<tuple> <tuple>
<string>region/region</string>
<string>group/client</string> <string>group/client</string>
<string>role/client</string> <string>role/client</string>
<string>region/region</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -106,6 +98,12 @@ ...@@ -106,6 +98,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Client 1</string> </value> <value> <string>Client 1</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -131,4 +129,83 @@ ...@@ -131,4 +129,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>validation_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671675358.82</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -14,9 +14,7 @@ ...@@ -14,9 +14,7 @@
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Auditor</string> <string>Auditor</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -27,9 +25,7 @@ ...@@ -27,9 +25,7 @@
<string>Assignee</string> <string>Assignee</string>
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -40,9 +36,7 @@ ...@@ -40,9 +36,7 @@
<string>Assignee</string> <string>Assignee</string>
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -54,9 +48,7 @@ ...@@ -54,9 +48,7 @@
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Auditor</string> <string>Auditor</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -82,8 +74,8 @@ ...@@ -82,8 +74,8 @@
<key> <string>categories</string> </key> <key> <string>categories</string> </key>
<value> <value>
<tuple> <tuple>
<string>region/region</string>
<string>role/client</string> <string>role/client</string>
<string>region/region</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -105,6 +97,12 @@ ...@@ -105,6 +97,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Client 2</string> </value> <value> <string>Client 2</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -130,4 +128,83 @@ ...@@ -130,4 +128,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>validation_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671675358.83</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -14,9 +14,7 @@ ...@@ -14,9 +14,7 @@
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Auditor</string> <string>Auditor</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -27,9 +25,7 @@ ...@@ -27,9 +25,7 @@
<string>Assignee</string> <string>Assignee</string>
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -40,9 +36,7 @@ ...@@ -40,9 +36,7 @@
<string>Assignee</string> <string>Assignee</string>
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -54,9 +48,7 @@ ...@@ -54,9 +48,7 @@
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Auditor</string> <string>Auditor</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -135,6 +127,12 @@ ...@@ -135,6 +127,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>My Master Organisation</string> </value> <value> <string>My Master Organisation</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -160,4 +158,83 @@ ...@@ -160,4 +158,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>validation_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671675249.39</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -14,9 +14,7 @@ ...@@ -14,9 +14,7 @@
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Auditor</string> <string>Auditor</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -27,9 +25,7 @@ ...@@ -27,9 +25,7 @@
<string>Assignee</string> <string>Assignee</string>
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -40,9 +36,7 @@ ...@@ -40,9 +36,7 @@
<string>Assignee</string> <string>Assignee</string>
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -54,9 +48,7 @@ ...@@ -54,9 +48,7 @@
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Auditor</string> <string>Auditor</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -135,6 +127,12 @@ ...@@ -135,6 +127,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>My Organisation</string> </value> <value> <string>My Organisation</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -160,4 +158,83 @@ ...@@ -160,4 +158,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>validation_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671675234.31</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -14,9 +14,7 @@ ...@@ -14,9 +14,7 @@
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Auditor</string> <string>Auditor</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -27,9 +25,7 @@ ...@@ -27,9 +25,7 @@
<string>Assignee</string> <string>Assignee</string>
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -40,9 +36,7 @@ ...@@ -40,9 +36,7 @@
<string>Assignee</string> <string>Assignee</string>
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -54,9 +48,7 @@ ...@@ -54,9 +48,7 @@
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Auditor</string> <string>Auditor</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -108,6 +100,12 @@ ...@@ -108,6 +100,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>My default bank account</string> </value> <value> <string>My default bank account</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -133,4 +131,83 @@ ...@@ -133,4 +131,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>validation_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671675290.36</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -104,6 +104,12 @@ ...@@ -104,6 +104,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Supplier</string> </value> <value> <string>Supplier</string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -129,4 +135,83 @@ ...@@ -129,4 +135,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>validation_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671430065.91</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -14,9 +14,7 @@ ...@@ -14,9 +14,7 @@
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Auditor</string> <string>Auditor</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -27,9 +25,7 @@ ...@@ -27,9 +25,7 @@
<string>Assignee</string> <string>Assignee</string>
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -40,9 +36,7 @@ ...@@ -40,9 +36,7 @@
<string>Assignee</string> <string>Assignee</string>
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -54,9 +48,7 @@ ...@@ -54,9 +48,7 @@
<string>Assignor</string> <string>Assignor</string>
<string>Associate</string> <string>Associate</string>
<string>Auditor</string> <string>Auditor</string>
<string>Author</string>
<string>Manager</string> <string>Manager</string>
<string>Owner</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -124,6 +116,12 @@ ...@@ -124,6 +116,12 @@
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
...@@ -149,4 +147,83 @@ ...@@ -149,4 +147,83 @@
<none/> <none/>
</pickle> </pickle>
</record> </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>validation_workflow</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="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>ERP5TypeTestCase</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1671675256.23</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -6,31 +6,12 @@ for rule in portal.portal_rules.objectValues(): ...@@ -6,31 +6,12 @@ for rule in portal.portal_rules.objectValues():
if rule.getValidationState() != 'validated': if rule.getValidationState() != 'validated':
rule.validate() rule.validate()
# validate all accounts, because we have test invalidating accounts, see
validated = False # accounting_zuite/accounting_transaction_zuite/test_accounting_transaction_input_invalidated_accounts.html
# validate currencies and clear cache if we have validated new currencies
for currency in portal.currency_module.objectValues():
if currency.getValidationState() != 'validated':
currency.validate()
validated = True
if validated:
portal.portal_caches.clearCache(cache_factory_list=('erp5_ui_short', ))
# validate all accounts
for account in portal.account_module.objectValues(): for account in portal.account_module.objectValues():
if account.getValidationState() != 'validated': if account.getValidationState() != 'validated':
account.validate() account.validate()
# validate third parties and set them a dummy region, because it's required
for entity in ( portal.organisation_module.objectValues() +
portal.person_module.objectValues() ):
if entity.getValidationState() != 'validated':
entity.setRegion('region')
entity.validate()
# create accounting periods ?
# XXX
# enable preference # enable preference
ptool = portal.portal_preferences ptool = portal.portal_preferences
pref = ptool.accounting_zuite_preference pref = ptool.accounting_zuite_preference
......
account_module/bank
account_module/collected_vat
account_module/equity
account_module/fixed_assets
account_module/goods_purchase
account_module/goods_sales
account_module/payable
account_module/receivable
account_module/refundable_vat
account_module/stocks
currency_module/euro
currency_module/usd
currency_module/yen
organisation_module/client_1
organisation_module/client_1/**
organisation_module/client_2
organisation_module/client_2/**
organisation_module/main_organisation
organisation_module/main_organisation/**
organisation_module/my_organisation
organisation_module/my_organisation/**
organisation_module/supplier
organisation_module/supplier/**
person_module/john_smith
person_module/john_smith/**
\ No newline at end of file
...@@ -118,7 +118,7 @@ ...@@ -118,7 +118,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>python: context.AccountModule_getBankAccountItemList(organisation=context.getSourceSection(), skip_invalidated_bank_accounts=(context.getValidationState() != \'validated\'))</string> </value> <value> <string>python: context.AccountModule_getBankAccountItemList(organisation=context.getSourceSection(), base_category=\'source_payment\')</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -18,8 +18,7 @@ ...@@ -18,8 +18,7 @@
<tal:block metal:use-macro="here/wizard_main_template/macros/master"> <tal:block metal:use-macro="here/wizard_main_template/macros/master">
<tal:block metal:fill-slot="main"> <tal:block metal:fill-slot="main">
<script type="text/javascript" <script language="javascript"
language="javascript"
tal:content="here/ConfiguratorTool_generateJavaScript"/> tal:content="here/ConfiguratorTool_generateJavaScript"/>
<div class="dialog_box"> <div class="dialog_box">
......
...@@ -45,7 +45,7 @@ IDEAS: ...@@ -45,7 +45,7 @@ IDEAS:
<link tal:attributes="href css" type="text/css" rel="stylesheet" /> <link tal:attributes="href css" type="text/css" rel="stylesheet" />
</tal:block> </tal:block>
<tal:block tal:repeat="js python: js_list"> <tal:block tal:repeat="js python: js_list">
<script tal:attributes="src js" type="text/javascript"></script> <script tal:attributes="src js"></script>
</tal:block> </tal:block>
<link rel="icon" tal:attributes="href string:${portal_path}/favicon.ico" type="image/x-icon" /> <link rel="icon" tal:attributes="href string:${portal_path}/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" tal:attributes="href string:${portal_path}/favicon.ico" type="image/x-icon" /> <link rel="shortcut icon" tal:attributes="href string:${portal_path}/favicon.ico" type="image/x-icon" />
......
<script type="text/javascript" src="jquery/core/jquery.js"></script> <script src="jquery/core/jquery.js"></script>
<script type="text/javascript" src="jquery/plugin/sheet/jquery.sheet.js"></script> <script src="jquery/plugin/sheet/jquery.sheet.js"></script>
<script type="text/javascript" src="jquery/plugin/mbmenu/mbMenu.min.js"></script> <script src="jquery/plugin/mbmenu/mbMenu.min.js"></script>
<script type="text/javascript" src="jquery/ui/js/jquery-ui.js"></script> <script src="jquery/ui/js/jquery-ui.js"></script>
<script type="text/javascript" src="jquery/plugin/jqchart/jgcharts.min.js"></script> <script src="jquery/plugin/jqchart/jgcharts.min.js"></script>
<script type="text/javascript" src="jquery/plugin/colorpicker/jquery.colorPicker.min.js"></script> <script src="jquery/plugin/colorpicker/jquery.colorPicker.min.js"></script>
<script type="text/javascript" src="jquery/plugin/elastic/jquery.elastic.min.js"></script> <script src="jquery/plugin/elastic/jquery.elastic.min.js"></script>
<script type="text/javascript"> <script>
$("button.save").click(function(event){ $("button.save").click(function(event){
source = $.sheet.instance[0].getSource(true); source = $.sheet.instance[0].getSource(true);
$("input#my_text_content").attr("value", source) $("input#my_text_content").attr("value", source)
......
return context.AccountModule_getBankAccountItemList( return context.AccountModule_getBankAccountItemList(
organisation=context.getSourceSection(), organisation=context.getSourceSection(),
skip_invalidated_bank_accounts= base_category='source_payment')
(context.getValidationState() != 'delivered'))
...@@ -11,7 +11,7 @@ if ptg.getSourcePayment() == context.getSourcePayment(): ...@@ -11,7 +11,7 @@ if ptg.getSourcePayment() == context.getSourcePayment():
else: else:
third_party = context.getSourceSectionValue() third_party = context.getSourceSectionValue()
third_party_name = third_party.getCorporateName() or third_party.getTitle() third_party_name = third_party.getProperty('corporate_name') or third_party.getTitle()
return "{invoice_reference} {third_party_name}".format( return "{invoice_reference} {third_party_name}".format(
invoice_reference=context.getParentValue().getCausalityReference() or '', invoice_reference=context.getParentValue().getCausalityReference() or '',
......
...@@ -78,7 +78,7 @@ for brain in context.PaymentTransactionGroup_getAccountingTransactionLineList(): ...@@ -78,7 +78,7 @@ for brain in context.PaymentTransactionGroup_getAccountingTransactionLineList():
'Ustrd': transaction_line.AccountingTransactionLine_getSEPACreditTransferRemittanceInformation(), 'Ustrd': transaction_line.AccountingTransactionLine_getSEPACreditTransferRemittanceInformation(),
}, },
'Cdtr': { 'Cdtr': {
'Nm': creditor_entity.getCorporateName() or creditor_entity.getTitle(), 'Nm': creditor_entity.getProperty('corporate_name') or creditor_entity.getTitle(),
'PstlAdr': (creditor_entity.getDefaultAddressText() or '').splitlines(), 'PstlAdr': (creditor_entity.getDefaultAddressText() or '').splitlines(),
'Ctry': creditor_entity.getDefaultAddressRegion() and creditor_entity.getDefaultAddressValue().getRegionReference(), 'Ctry': creditor_entity.getDefaultAddressRegion() and creditor_entity.getDefaultAddressValue().getRegionReference(),
}, },
......
...@@ -198,6 +198,54 @@ class TestPaymentTransactionGroupPaymentSEPA(AccountingTestCase): ...@@ -198,6 +198,54 @@ class TestPaymentTransactionGroupPaymentSEPA(AccountingTestCase):
['PT-1', 'PT-2'], ['PT-1', 'PT-2'],
) )
def test_PaymentTransactionGroup_viewAsSEPACreditTransferPain_001_001_02_with_person(self):
ptg = self._createPTG()
person = self.portal.person_module.newContent(
portal_type='Person',
first_name='John',
last_name='Doe',
)
bank_account_person = person.newContent(
portal_type='Bank Account',
iban='FR4610096000306768831487U66',
bic_code='TESTXXXX'
)
bank_account_person.validate()
self._makeOne(
portal_type='Payment Transaction',
simulation_state='delivered',
title='three',
reference='PT-3',
destination_section_value=self.section,
destination_payment_value=self.bank_account,
source_section_value=person,
source_payment_value=bank_account_person,
start_date=DateTime(2021, 1, 2),
lines=(
dict(
destination_value=self.portal.account_module.payable,
destination_debit=300),
dict(
destination_value=self.portal.account_module.bank,
destination_credit=300,
aggregate_value=ptg)))
self.tic()
pain = lxml.etree.fromstring(
getattr(ptg, 'PaymentTransactionGroup_viewAsSEPACreditTransferPain.001.001.02')().encode('utf-8'))
xmlschema = lxml.etree.XMLSchema(
lxml.etree.fromstring(str(getattr(self.portal, 'pain.001.001.02.xsd').data)))
xmlschema.assertValid(pain)
self.assertEqual(
sorted([node.text for node in pain.findall('.//{*}CdtTrfTxInf/{*}Cdtr/{*}Nm')]),
['John Doe', 'Supplier1', 'Supplier2'],
)
self.assertEqual(
sorted([node.text for node in pain.findall('.//{*}CdtTrfTxInf/{*}RmtInf/{*}Ustrd')]),
['INVOICE1 Supplier1', 'John Doe', 'Supplier2'],
)
def test_generate_sepa_credit_transfer_action(self): def test_generate_sepa_credit_transfer_action(self):
ptg = self._createPTG() ptg = self._createPTG()
ret = ptg.PaymentTransactionGroup_generateSEPACreditTransferFile( ret = ptg.PaymentTransactionGroup_generateSEPACreditTransferFile(
......
...@@ -22,12 +22,15 @@ organisation = portal.organisation_module.newContent( ...@@ -22,12 +22,15 @@ organisation = portal.organisation_module.newContent(
title=organisation_id, title=organisation_id,
group_value=portal.portal_categories.group.demo_group, group_value=portal.portal_categories.group.demo_group,
) )
organisation.validate()
bank_account_id = "erp5_payment_mean_bank" bank_account_id = "erp5_payment_mean_bank"
bank_account = organisation.newContent( bank_account = organisation.newContent(
portal_type='Bank Account', portal_type='Bank Account',
id=bank_account_id, id=bank_account_id,
title=bank_account_id title=bank_account_id
) )
bank_account.validate()
payment_mean_id = "erp5_payment_mean_ui_test_payment_transaction_group" payment_mean_id = "erp5_payment_mean_ui_test_payment_transaction_group"
payment_mean = portal.payment_transaction_group_module.newContent( payment_mean = portal.payment_transaction_group_module.newContent(
......
...@@ -314,7 +314,7 @@ class TestOrderMixin(SubcontentReindexingWrapper): ...@@ -314,7 +314,7 @@ class TestOrderMixin(SubcontentReindexingWrapper):
portal_type=organisation_portal_type) portal_type=organisation_portal_type)
organisation.newContent(id='bank', organisation.newContent(id='bank',
portal_type='Bank Account', portal_type='Bank Account',
title='bank%s' % organisation.getId()) title='bank%s' % organisation.getId()).validate()
organisation.setDefaultAddressStreetAddress('rue xv') organisation.setDefaultAddressStreetAddress('rue xv')
organisation.setDefaultAddressZipCode('12345') organisation.setDefaultAddressZipCode('12345')
if title is None: if title is None:
......
...@@ -68,6 +68,7 @@ my_organisation.validate() ...@@ -68,6 +68,7 @@ my_organisation.validate()
bank_account = my_organisation.newContent(portal_type="Bank Account", bank_account = my_organisation.newContent(portal_type="Bank Account",
title=howto_dict["sale_howto_bank_account_title"], title=howto_dict["sale_howto_bank_account_title"],
reference=howto_dict["sale_howto_bank_account_reference"],) reference=howto_dict["sale_howto_bank_account_reference"],)
bank_account.validate()
organisation = portal.organisation_module.newContent(portal_type='Organisation', organisation = portal.organisation_module.newContent(portal_type='Organisation',
title=howto_dict['sale_howto_organisation2_title'], title=howto_dict['sale_howto_organisation2_title'],
......
...@@ -135,7 +135,7 @@ ...@@ -135,7 +135,7 @@
</fieldset> </fieldset>
<script type="text/javascript" tal:content="string: <script tal:content="string:
// preload action icons // preload action icons
if (document.images) { if (document.images) {
clone_icon = new Image(); clone_icon = new Image();
......
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
tal:content="python:here.Base_getFormViewDialogActionButtonTitle(form)">Do Action</span> tal:content="python:here.Base_getFormViewDialogActionButtonTitle(form)">Do Action</span>
</button> </button>
</div> </div>
<script type="text/javascript" <script
tal:define="message python:context.Base_translateString('This dialog has already been submitted. Do you want to submit again ?').replace('\\', '\\\\').replace('\'', '\\\'')" tal:define="message python:context.Base_translateString('This dialog has already been submitted. Do you want to submit again ?').replace('\\', '\\\\').replace('\'', '\\\'')"
tal:content="structure string:installDoubleSubmitDialogPrevention('$message');"> tal:content="structure string:installDoubleSubmitDialogPrevention('$message');">
</script> </script>
......
...@@ -207,7 +207,7 @@ div.listbox_dataline:hover { ...@@ -207,7 +207,7 @@ div.listbox_dataline:hover {
</style> </style>
</head> </head>
<body onload="toggle_all()"> <body onload="toggle_all()">
<script type="text/javascript"><!-- <script><!--
function toggle_all() { function toggle_all() {
my_elements = document.getElementsByName("toggleable"); my_elements = document.getElementsByName("toggleable");
for(i=0; i<my_elements.length; i++) { for(i=0; i<my_elements.length; i++) {
......
...@@ -80,7 +80,6 @@ ...@@ -80,7 +80,6 @@
><script ><script
tal:define="dummy python: known.add(js)" tal:define="dummy python: known.add(js)"
tal:attributes="src js" tal:attributes="src js"
type="text/javascript"
></script></tal:block></tal:block> ></script></tal:block></tal:block>
</tal:block> </tal:block>
<tal:block metal:define-macro="http_definitions"> <tal:block metal:define-macro="http_definitions">
......
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
</div> </div>
</tal:block> </tal:block>
</fieldset> </fieldset>
<script type="text/javascript">setFocus()</script> <script>setFocus()</script>
<p i18n:translate="" i18n:domain="ui">Having trouble logging in? Make sure to enable cookies in your web browser.</p> <p i18n:translate="" i18n:domain="ui">Having trouble logging in? Make sure to enable cookies in your web browser.</p>
<p i18n:translate="" i18n:domain="ui">Do not forget to logout or exit your browser when you are done.</p> <p i18n:translate="" i18n:domain="ui">Do not forget to logout or exit your browser when you are done.</p>
</div> </div>
......
...@@ -25,7 +25,7 @@ moving and resizing ...@@ -25,7 +25,7 @@ moving and resizing
block_string = ','.join(['"%s"' % block.name for block in planning.content if \ block_string = ','.join(['"%s"' % block.name for block in planning.content if \
not context.PlanningBox_isFrozenBlock(block=block)]) not context.PlanningBox_isFrozenBlock(block=block)])
return '<script type="text/javascript">SET_DHTML(%s,' \ return '<script>SET_DHTML(%s,' \
'"top"+CURSOR_N_RESIZE+VERTICAL, ' \ '"top"+CURSOR_N_RESIZE+VERTICAL, ' \
'"right"+CURSOR_E_RESIZE+HORIZONTAL, ' \ '"right"+CURSOR_E_RESIZE+HORIZONTAL, ' \
'"bottom"+CURSOR_S_RESIZE+VERTICAL, ' \ '"bottom"+CURSOR_S_RESIZE+VERTICAL, ' \
......
...@@ -72,7 +72,7 @@ DEPRECATION: ...@@ -72,7 +72,7 @@ DEPRECATION:
<div id="information_area" class="information_area" i18n:translate="" i18n:domain="ui"> <div id="information_area" class="information_area" i18n:translate="" i18n:domain="ui">
Input data has errors. Please look at the error messages below. Input data has errors. Please look at the error messages below.
</div> </div>
<script type="text/javascript">changed = true;</script> <script>changed = true;</script>
</tal:block> </tal:block>
</div> </div>
<div id="master" class="master"> <div id="master" class="master">
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<tal:block metal:use-macro="here/context_box_render/macros/master" /> <tal:block metal:use-macro="here/context_box_render/macros/master" />
</tal:block> </tal:block>
<tal:block metal:fill-slot="main"> <tal:block metal:fill-slot="main">
<script type="text/javascript" <script
tal:condition="portal/portal_preferences/getPreferredHtmlStyleUnsavedFormWarning" tal:condition="portal/portal_preferences/getPreferredHtmlStyleUnsavedFormWarning"
tal:define="message python:context.Base_translateString('You have unsaved changes').replace('\\', '\\\\').replace('\'', '\\\'')" tal:define="message python:context.Base_translateString('You have unsaved changes').replace('\\', '\\\\').replace('\'', '\\\'')"
tal:content="structure string:installUnsavedChangesWarning('$message');"> tal:content="structure string:installUnsavedChangesWarning('$message');">
......
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