Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
7
Merge Requests
7
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
Jérome Perrin
erp5
Commits
ea0850ca
Commit
ea0850ca
authored
Jan 13, 2023
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'upstream/master' into zope4py2
parents
336384d8
ab137095
Changes
47
Hide whitespace changes
Inline
Side-by-side
Showing
47 changed files
with
2125 additions
and
253 deletions
+2125
-253
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getBankAccountItemList.py
...s/erp5_accounting/AccountModule_getBankAccountItemList.py
+56
-38
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getBankAccountItemList.xml
.../erp5_accounting/AccountModule_getBankAccountItemList.xml
+1
-1
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_getDestinationPaymentItemList.py
...ng/AccountingTransaction_getDestinationPaymentItemList.py
+6
-4
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_getSourcePaymentItemList.py
...ounting/AccountingTransaction_getSourcePaymentItemList.py
+6
-4
bt5/erp5_accounting/TestTemplateItem/portal_components/test.erp5.testAccounting.py
...emplateItem/portal_components/test.erp5.testAccounting.py
+235
-75
bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/script_validateTransactionLines.py
...ow/accounting_workflow/script_validateTransactionLines.py
+16
-9
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/bank.xml
...counting_ui_test/PathTemplateItem/account_module/bank.xml
+85
-0
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/collected_vat.xml
...ui_test/PathTemplateItem/account_module/collected_vat.xml
+85
-0
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/equity.xml
...unting_ui_test/PathTemplateItem/account_module/equity.xml
+85
-0
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/fixed_assets.xml
..._ui_test/PathTemplateItem/account_module/fixed_assets.xml
+85
-0
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/goods_purchase.xml
...i_test/PathTemplateItem/account_module/goods_purchase.xml
+85
-0
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/goods_sales.xml
...g_ui_test/PathTemplateItem/account_module/goods_sales.xml
+85
-0
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/payable.xml
...nting_ui_test/PathTemplateItem/account_module/payable.xml
+85
-0
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/receivable.xml
...ng_ui_test/PathTemplateItem/account_module/receivable.xml
+85
-0
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/refundable_vat.xml
...i_test/PathTemplateItem/account_module/refundable_vat.xml
+85
-0
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/stocks.xml
...unting_ui_test/PathTemplateItem/account_module/stocks.xml
+85
-0
bt5/erp5_accounting_ui_test/PathTemplateItem/currency_module/euro.xml
...ounting_ui_test/PathTemplateItem/currency_module/euro.xml
+85
-8
bt5/erp5_accounting_ui_test/PathTemplateItem/currency_module/usd.xml
...counting_ui_test/PathTemplateItem/currency_module/usd.xml
+85
-8
bt5/erp5_accounting_ui_test/PathTemplateItem/currency_module/yen.xml
...counting_ui_test/PathTemplateItem/currency_module/yen.xml
+85
-8
bt5/erp5_accounting_ui_test/PathTemplateItem/organisation_module/client_1.xml
...ui_test/PathTemplateItem/organisation_module/client_1.xml
+86
-9
bt5/erp5_accounting_ui_test/PathTemplateItem/organisation_module/client_2.xml
...ui_test/PathTemplateItem/organisation_module/client_2.xml
+86
-9
bt5/erp5_accounting_ui_test/PathTemplateItem/organisation_module/main_organisation.xml
...athTemplateItem/organisation_module/main_organisation.xml
+85
-8
bt5/erp5_accounting_ui_test/PathTemplateItem/organisation_module/my_organisation.xml
.../PathTemplateItem/organisation_module/my_organisation.xml
+85
-8
bt5/erp5_accounting_ui_test/PathTemplateItem/organisation_module/my_organisation/my_bank.xml
...plateItem/organisation_module/my_organisation/my_bank.xml
+85
-8
bt5/erp5_accounting_ui_test/PathTemplateItem/organisation_module/supplier.xml
...ui_test/PathTemplateItem/organisation_module/supplier.xml
+85
-0
bt5/erp5_accounting_ui_test/PathTemplateItem/person_module/john_smith.xml
...ing_ui_test/PathTemplateItem/person_module/john_smith.xml
+85
-8
bt5/erp5_accounting_ui_test/SkinTemplateItem/portal_skins/erp5_accounting_ui_test/ERP5Site_resetConfigurationForAccountingTest.py
...g_ui_test/ERP5Site_resetConfigurationForAccountingTest.py
+2
-21
bt5/erp5_accounting_ui_test/bt/template_keep_last_workflow_history_only_path_list
...est/bt/template_keep_last_workflow_history_only_path_list
+25
-0
bt5/erp5_bank_reconciliation/SkinTemplateItem/portal_skins/erp5_bank_reconciliation/BankReconciliation_view/my_source_payment.xml
...onciliation/BankReconciliation_view/my_source_payment.xml
+1
-1
bt5/erp5_configurator/SkinTemplateItem/portal_skins/erp5_configurator_wizard/ConfiguratorTool_viewInstallationStatus.zpt
...urator_wizard/ConfiguratorTool_viewInstallationStatus.zpt
+1
-2
bt5/erp5_configurator/SkinTemplateItem/portal_skins/erp5_configurator_wizard/wizard_template_erp5_xhtml_style.zpt
..._configurator_wizard/wizard_template_erp5_xhtml_style.zpt
+1
-1
bt5/erp5_jquery_sheet_editor/SkinTemplateItem/portal_skins/erp5_jquery_sheet_editor/sheet_editor_support.zpt
...l_skins/erp5_jquery_sheet_editor/sheet_editor_support.zpt
+8
-8
bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransactionGroup_getSourcePaymentItemList.py
..._mean/PaymentTransactionGroup_getSourcePaymentItemList.py
+1
-2
bt5/erp5_payment_mean_sepa/SkinTemplateItem/portal_skins/erp5_payment_mean_sepa/AccountingTransactionLine_getSEPACreditTransferRemittanceInformation.py
...sactionLine_getSEPACreditTransferRemittanceInformation.py
+1
-1
bt5/erp5_payment_mean_sepa/SkinTemplateItem/portal_skins/erp5_payment_mean_sepa/PaymentTransactionGroup_getSEPACreditTransferDataDict.py
.../PaymentTransactionGroup_getSEPACreditTransferDataDict.py
+1
-1
bt5/erp5_payment_mean_sepa/TestTemplateItem/portal_components/test.erp5.testPaymentTransactionGroupSEPA.py
...l_components/test.erp5.testPaymentTransactionGroupSEPA.py
+48
-0
bt5/erp5_payment_mean_ui_test/SkinTemplateItem/portal_skins/erp5_payment_mean_ui_test/ERP5Site_createPaymentMeanUiTestData.py
...ment_mean_ui_test/ERP5Site_createPaymentMeanUiTestData.py
+3
-0
bt5/erp5_trade/TestTemplateItem/portal_components/test.erp5.testOrder.py
...TestTemplateItem/portal_components/test.erp5.testOrder.py
+1
-1
bt5/erp5_user_tutorial_ui_test/SkinTemplateItem/portal_skins/erp5_user_tutorial_ui_test/Zuite_setUpSaleOrderTest.py
...ns/erp5_user_tutorial_ui_test/Zuite_setUpSaleOrderTest.py
+1
-0
bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/admin_toolbox.zpt
...em/portal_skins/erp5_web_widget_library/admin_toolbox.zpt
+1
-1
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/dialog_main.zpt
...emplateItem/portal_skins/erp5_xhtml_style/dialog_main.zpt
+1
-1
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/documentation_template.zpt
.../portal_skins/erp5_xhtml_style/documentation_template.zpt
+2
-2
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.zpt
...Item/portal_skins/erp5_xhtml_style/global_definitions.zpt
+0
-1
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/login_form.zpt
...TemplateItem/portal_skins/erp5_xhtml_style/login_form.zpt
+1
-1
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/planning_dhtml.py
...plateItem/portal_skins/erp5_xhtml_style/planning_dhtml.py
+1
-1
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/template_erp5_xhtml_style.zpt
...rtal_skins/erp5_xhtml_style/template_erp5_xhtml_style.zpt
+1
-1
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/view_main.zpt
...nTemplateItem/portal_skins/erp5_xhtml_style/view_main.zpt
+2
-2
No files found.
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getBankAccountItemList.py
View file @
ea0850ca
"""Returns an item list of the acceptable bank accounts.
If `organisation` is passed, then we only show bank accounts available for that
organisation, using the following policy:
- if organisation is independ
a
nt accounting entity (ie. have accounting periods),
only bank accounts from this organisation can be selected
- if organisation is independ
e
nt accounting entity (ie. have accounting periods),
only bank accounts from this organisation can be selected
.
- 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 us
ed
- if organisation higher in the group hierarchy contains bank accounts, bank
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
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
()
search_kw
=
dict
(
portal_type
=
portal
.
getPortalPaymentNodeTypeList
())
if
skip_invalidated_bank_accounts
:
search_kw
[
'validation_state'
]
=
'!=invalidated'
if
organisation
:
organisation_value
=
portal
.
restrictedTraverse
(
organisation
)
search_kw
=
dict
(
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.
if
organisation_value
==
organisation_value
.
Organisation_getMappingRelatedOrganisation
():
bank_account_list
=
organisation_value
.
searchFolder
(
**
search_kw
)
if
entity_value
.
getPortalType
()
!=
'Organisation'
\
or
entity_value
==
entity_value
.
Organisation_getMappingRelatedOrganisation
():
bank_account_list
=
entity_value
.
searchFolder
(
**
search_kw
)
# else we lookup in organisations from parent groups.
else
:
group_value
=
organisation
_value
.
getGroupValue
(
None
)
group_value
=
entity
_value
.
getGroupValue
(
None
)
if
group_value
is
not
None
:
uid_list
=
[]
while
group_value
.
getPortalType
()
!=
'Base Category'
:
...
...
@@ -50,36 +59,45 @@ else:
item_list
=
[(
''
,
''
)]
# If we have bank accounts from more than one
organisation
, include
# the
organisation as hierarchy to show which organisation
the bank
# If we have bank accounts from more than one
entity
, include
# the
entity as hierarchy to show which entity
the bank
# 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
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
# organisation are consecutive
for
brain
in
sorted
(
bank_account_list
,
key
=
lambda
b
:
b
.
path
):
bank
=
brain
.
getObject
()
if
include_organisation_hierarchy
:
organisation
=
bank
.
getParentValue
()
if
organisation
!=
previous_organisation
:
previous_organisation
=
organisation
# entity are consecutive
for
bank
in
bank_account_list
:
if
include_entity_hierarchy
:
entity
=
bank
.
getParentValue
()
if
entity
!=
previous_entity
:
previous_entity
=
entity
# include non-selectable element to show hierarchy
item_list
.
append
((
organisation
.
getTranslatedTitle
(),
None
))
if
bank
.
getReference
()
and
bank
.
getTitle
()
\
and
bank
.
getReference
()
!=
bank
.
getTitle
():
item_list
.
append
((
'%s - %s'
%
(
bank
.
getReference
(),
bank
.
getTitle
()
or
bank
.
getSourceFreeText
()
or
bank
.
getSourceTitle
()),
bank
.
getRelativeUrl
()))
else
:
item_list
.
append
((
bank
.
getReference
()
or
bank
.
getTitle
()
or
bank
.
getSourceFreeText
()
or
bank
.
getSourceTitle
(),
bank
.
getRelativeUrl
()
))
item_list
.
append
((
entity
.
getTranslatedTitle
(),
None
))
item_list
.
append
(
getItemList
(
bank
))
if
base_category
is
not
None
:
current_value
=
context
.
getProperty
(
base_category
+
'_value'
)
if
current_value
and
current_value
not
in
bank_account_list
:
item_list
.
append
((
translateString
(
'Invalid bank account from ${entity_title}'
,
mapping
=
{
'entity_title'
:
current_value
.
getParentTitle
()}),
None
))
item_list
.
append
(
getItemList
(
current_value
))
return
item_list
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getBankAccountItemList.xml
View file @
ea0850ca
...
...
@@ -50,7 +50,7 @@
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
organisation=None, s
kip_invalidated_bank_accounts=0, section_category=None, section_category_strict_membership=Fals
e
</string>
</value>
<value>
<string>
organisation=None, s
ection_category=None, section_category_strict_membership=False, base_category=Non
e
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
...
...
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_getDestinationPaymentItemList.py
View file @
ea0850ca
return
context
.
AccountModule_getBankAccountItemList
(
organisation
=
context
.
getDestinationSection
(),
skip_invalidated_bank_accounts
=
(
context
.
getSimulationState
()
!=
'delivered'
))
section
=
context
.
getDestinationSection
()
if
section
:
return
context
.
AccountModule_getBankAccountItemList
(
organisation
=
section
,
base_category
=
'destination_payment'
)
return
[(
''
,
''
)]
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransaction_getSourcePaymentItemList.py
View file @
ea0850ca
return
context
.
AccountModule_getBankAccountItemList
(
organisation
=
context
.
getSourceSection
(),
skip_invalidated_bank_accounts
=
(
context
.
getSimulationState
()
!=
'delivered'
))
section
=
context
.
getSourceSection
()
if
section
:
return
context
.
AccountModule_getBankAccountItemList
(
organisation
=
section
,
base_category
=
'source_payment'
)
return
[(
''
,
''
)]
bt5/erp5_accounting/TestTemplateItem/portal_components/test.erp5.testAccounting.py
View file @
ea0850ca
...
...
@@ -694,8 +694,10 @@ class TestTransactionValidation(AccountingTestCase):
self
.
assertRaises
(
ValidationFailed
,
self
.
portal
.
portal_workflow
.
doActionFor
,
accounting_transaction
,
'stop_action'
)
# with bank account, it's OK
# with
validated
bank account, it's OK
bank_account
=
self
.
section
.
newContent
(
portal_type
=
'Bank Account'
)
bank_account
.
validate
()
self
.
tic
()
accounting_transaction
.
setSourcePaymentValue
(
bank_account
)
self
.
portal
.
portal_workflow
.
doActionFor
(
accounting_transaction
,
'stop_action'
)
...
...
@@ -704,6 +706,7 @@ class TestTransactionValidation(AccountingTestCase):
# bank account
bank_account
=
self
.
section
.
newContent
(
portal_type
=
'Bank Account'
,
price_currency_value
=
self
.
currency_module
.
euro
)
bank_account
.
validate
()
accounting_transaction
=
self
.
_makeOne
(
portal_type
=
'Payment Transaction'
,
start_date
=
DateTime
(
'2007/01/02'
),
...
...
@@ -725,6 +728,112 @@ class TestTransactionValidation(AccountingTestCase):
accounting_transaction
.
setResourceValue
(
self
.
currency_module
.
euro
)
self
.
portal
.
portal_workflow
.
doActionFor
(
accounting_transaction
,
'stop_action'
)
def
test_PaymentTransactionValidationCheckBankAccountValidationState
(
self
):
for
section
,
mirror_section
in
(
(
self
.
main_section
,
self
.
portal
.
organisation_module
.
client_1
),
(
self
.
main_section
,
self
.
portal
.
person_module
.
newContent
()),
# with person member of section's group
(
self
.
main_section
,
self
.
portal
.
person_module
.
john_smith
),
(
self
.
section
,
self
.
portal
.
organisation_module
.
client_1
),
(
self
.
main_section
,
self
.
portal
.
person_module
.
newContent
()),
(
self
.
main_section
,
self
.
section
),
):
section_bank_account
=
section
.
newContent
(
title
=
'section bank account'
,
portal_type
=
'Bank Account'
,
price_currency_value
=
self
.
currency_module
.
euro
)
mirror_section_bank_account
=
mirror_section
.
newContent
(
title
=
'mirror section bank account'
,
portal_type
=
'Bank Account'
,
price_currency_value
=
self
.
currency_module
.
euro
)
accounting_transaction
=
self
.
_makeOne
(
portal_type
=
'Payment Transaction'
,
start_date
=
DateTime
(
'2007/01/02'
),
source_section_value
=
section
,
source_payment_value
=
section_bank_account
,
destination_section_value
=
mirror_section
,
destination_payment_value
=
mirror_section_bank_account
,
payment_mode
=
'default'
,
resource_value
=
self
.
currency_module
.
euro
,
lines
=
(
dict
(
source_value
=
self
.
account_module
.
bank
,
source_debit
=
500
),
dict
(
source_value
=
self
.
account_module
.
receivable
,
source_credit
=
500
)))
self
.
assertRaisesRegex
(
ValidationFailed
,
"Bank Account section bank account is invalid."
,
self
.
portal
.
portal_workflow
.
doActionFor
,
accounting_transaction
,
'stop_action'
,
)
section_bank_account
.
validate
()
self
.
tic
()
self
.
assertRaisesRegex
(
ValidationFailed
,
"Bank Account mirror section bank account is invalid."
,
self
.
portal
.
portal_workflow
.
doActionFor
,
accounting_transaction
,
'stop_action'
,
)
mirror_section_bank_account
.
validate
()
self
.
tic
()
self
.
portal
.
portal_workflow
.
doActionFor
(
accounting_transaction
,
'stop_action'
)
def
test_PaymentTransactionValidationCheckBankAccountOwner
(
self
):
main_section_bank_account
=
self
.
main_section
.
newContent
(
title
=
'main section bank account'
,
portal_type
=
'Bank Account'
,
price_currency_value
=
self
.
currency_module
.
euro
)
main_section_bank_account
.
validate
()
client_1_bank_account
=
self
.
portal
.
organisation_module
.
client_1
.
newContent
(
title
=
'client_1 bank account'
,
portal_type
=
'Bank Account'
,
price_currency_value
=
self
.
currency_module
.
euro
)
client_1_bank_account
.
validate
()
# main_section_bank_account can be used by both main_section and section.
for
section
in
self
.
main_section
,
self
.
section
:
accounting_transaction
=
self
.
_makeOne
(
portal_type
=
'Payment Transaction'
,
start_date
=
DateTime
(
'2007/01/02'
),
source_section_value
=
section
,
source_payment_value
=
main_section_bank_account
,
destination_section_value
=
self
.
portal
.
organisation_module
.
client_1
,
destination_payment_value
=
client_1_bank_account
,
payment_mode
=
'default'
,
resource_value
=
self
.
currency_module
.
euro
,
lines
=
(
dict
(
source_value
=
self
.
account_module
.
bank
,
source_debit
=
500
),
dict
(
source_value
=
self
.
account_module
.
receivable
,
source_credit
=
500
)))
self
.
portal
.
portal_workflow
.
doActionFor
(
accounting_transaction
,
'stop_action'
)
# client_1's bank account can only be used with client 1, not with client 2
accounting_transaction
=
self
.
_makeOne
(
portal_type
=
'Payment Transaction'
,
start_date
=
DateTime
(
'2007/01/02'
),
source_section_value
=
self
.
main_section
,
source_payment_value
=
main_section_bank_account
,
destination_section_value
=
self
.
portal
.
organisation_module
.
client_2
,
destination_payment_value
=
client_1_bank_account
,
payment_mode
=
'default'
,
resource_value
=
self
.
currency_module
.
euro
,
lines
=
(
dict
(
source_value
=
self
.
account_module
.
bank
,
source_debit
=
500
),
dict
(
source_value
=
self
.
account_module
.
receivable
,
source_credit
=
500
)))
self
.
assertRaisesRegex
(
ValidationFailed
,
"Bank Account client_1 bank account is invalid."
,
self
.
portal
.
portal_workflow
.
doActionFor
,
accounting_transaction
,
'stop_action'
,
)
def
test_NonBalancedAccountingTransaction
(
self
):
# Accounting Transactions have to be balanced to be validated
accounting_transaction
=
self
.
_makeOne
(
...
...
@@ -3490,6 +3599,8 @@ class TestTransactions(AccountingTestCase):
def
test_Invoice_createRelatedPaymentTransactionSimple
(
self
):
# Simple case of creating a related payment transaction.
payment_node
=
self
.
section
.
newContent
(
portal_type
=
'Bank Account'
)
payment_node
.
validate
()
self
.
tic
()
invoice
=
self
.
_makeOne
(
destination_section_value
=
self
.
organisation_module
.
client_1
,
lines
=
(
dict
(
source_value
=
self
.
account_module
.
goods_purchase
,
...
...
@@ -3507,6 +3618,8 @@ class TestTransactions(AccountingTestCase):
# Simple creating a related payment transaction when grouping reference of
# some lines is already set.
payment_node
=
self
.
section
.
newContent
(
portal_type
=
'Bank Account'
)
payment_node
.
validate
()
self
.
tic
()
invoice
=
self
.
_makeOne
(
destination_section_value
=
self
.
organisation_module
.
client_1
,
lines
=
(
dict
(
source_value
=
self
.
account_module
.
goods_purchase
,
...
...
@@ -3528,6 +3641,8 @@ class TestTransactions(AccountingTestCase):
# Simple creating a related payment transaction when we have two line for
# 2 different destination sections.
payment_node
=
self
.
section
.
newContent
(
portal_type
=
'Bank Account'
)
payment_node
.
validate
()
self
.
tic
()
invoice
=
self
.
_makeOne
(
destination_section_value
=
self
.
organisation_module
.
client_1
,
lines
=
(
dict
(
source_value
=
self
.
account_module
.
goods_purchase
,
...
...
@@ -3549,6 +3664,8 @@ class TestTransactions(AccountingTestCase):
# Simple creating a related payment transaction when we have related
# transactions.
payment_node
=
self
.
section
.
newContent
(
portal_type
=
'Bank Account'
)
payment_node
.
validate
()
self
.
tic
()
invoice
=
self
.
_makeOne
(
destination_section_value
=
self
.
organisation_module
.
client_1
,
lines
=
(
dict
(
source_value
=
self
.
account_module
.
goods_purchase
,
...
...
@@ -3580,6 +3697,8 @@ class TestTransactions(AccountingTestCase):
# Simple creating a related payment transaction when we have related
# transactions with different side
payment_node
=
self
.
section
.
newContent
(
portal_type
=
'Bank Account'
)
payment_node
.
validate
()
self
.
tic
()
invoice
=
self
.
_makeOne
(
destination_section_value
=
self
.
organisation_module
.
client_1
,
lines
=
(
dict
(
source_value
=
self
.
account_module
.
goods_purchase
,
...
...
@@ -3610,6 +3729,8 @@ class TestTransactions(AccountingTestCase):
# Simple creating a related payment transaction when we have related
# transactions in draft/cancelled state (they are ignored)
payment_node
=
self
.
section
.
newContent
(
portal_type
=
'Bank Account'
)
payment_node
.
validate
()
self
.
tic
()
invoice
=
self
.
_makeOne
(
destination_section_value
=
self
.
organisation_module
.
client_1
,
lines
=
(
dict
(
source_value
=
self
.
account_module
.
goods_purchase
,
...
...
@@ -3644,6 +3765,8 @@ class TestTransactions(AccountingTestCase):
def
test_Invoice_createRelatedPaymentTransactionDifferentCurrency
(
self
):
payment_node
=
self
.
section
.
newContent
(
portal_type
=
'Bank Account'
)
payment_node
.
validate
()
self
.
tic
()
invoice
=
self
.
_makeOne
(
destination_section_value
=
self
.
organisation_module
.
client_1
,
resource_value
=
self
.
portal
.
currency_module
.
usd
,
...
...
@@ -3678,6 +3801,8 @@ class TestTransactions(AccountingTestCase):
"""Checks in case of deleted Payments related to invoice"""
# Simple case of creating a related payment transaction.
payment_node
=
self
.
section
.
newContent
(
portal_type
=
'Bank Account'
)
payment_node
.
validate
()
self
.
tic
()
invoice
=
self
.
_makeOne
(
destination_section_value
=
self
.
organisation_module
.
client_1
,
lines
=
(
dict
(
source_value
=
self
.
account_module
.
goods_purchase
,
...
...
@@ -4644,6 +4769,58 @@ class TestTransactions(AccountingTestCase):
(
'BA-1'
,
bank_account
.
getRelativeUrl
()),
at
.
AccountingTransaction_getDestinationPaymentItemList
())
def
test_AccountingTransaction_getSourcePaymentItemList_no_section
(
self
):
bank_account
=
self
.
section
.
newContent
(
portal_type
=
'Bank Account'
,
reference
=
'BA-1'
)
bank_account
.
validate
()
self
.
tic
()
at
=
self
.
_makeOne
(
portal_type
=
'Payment Transaction'
,
destination_section_value
=
self
.
organisation_module
.
client_1
,
lines
=
(
dict
(
source_value
=
self
.
account_module
.
goods_purchase
,
source_debit
=
500
),
dict
(
source_value
=
self
.
account_module
.
receivable
,
source_credit
=
500
)))
at
.
setSourceSectionValue
(
None
)
at
.
setDestinationSectionValue
(
None
)
self
.
assertEqual
(
at
.
AccountingTransaction_getSourcePaymentItemList
(),
[(
''
,
''
)])
self
.
assertEqual
(
at
.
AccountingTransaction_getDestinationPaymentItemList
(),
[(
''
,
''
)])
def
test_AccountingTransaction_getSourcePaymentItemList_person_member_of_group
(
self
):
bank_account
=
self
.
main_section
.
newContent
(
portal_type
=
'Bank Account'
,
reference
=
'should not be displayed'
)
bank_account
.
validate
()
self
.
tic
()
source_transaction
=
self
.
_makeOne
(
portal_type
=
'Payment Transaction'
,
source_section_value
=
self
.
section
,
destination_section_value
=
self
.
person_module
.
john_smith
,
lines
=
(
dict
(
source_value
=
self
.
account_module
.
goods_purchase
,
source_debit
=
500
),
dict
(
source_value
=
self
.
account_module
.
receivable
,
source_credit
=
500
)))
self
.
assertEqual
(
source_transaction
.
AccountingTransaction_getSourcePaymentItemList
(),
[(
''
,
''
)])
destination_transaction
=
self
.
_makeOne
(
portal_type
=
'Payment Transaction'
,
destination_section_value
=
self
.
section
,
source_section_value
=
self
.
person_module
.
john_smith
,
lines
=
(
dict
(
destination_value
=
self
.
account_module
.
goods_purchase
,
destination_debit
=
500
),
dict
(
destination_value
=
self
.
account_module
.
receivable
,
destination_credit
=
500
)))
self
.
assertEqual
(
destination_transaction
.
AccountingTransaction_getDestinationPaymentItemList
(),
[(
''
,
''
)])
def
test_AccountingTransaction_getSourcePaymentItemList_parent_section
(
self
):
# AccountingTransaction_getSourcePaymentItemList and AccountingTransaction_getDestinationPaymentItemList
# allows to select bank accounts from parent groups of source section
...
...
@@ -4783,6 +4960,63 @@ class TestTransactions(AccountingTestCase):
(
'from section'
,
bank_account
.
getRelativeUrl
()),
destination_transaction
.
AccountingTransaction_getDestinationPaymentItemList
())
def
test_AccountingTransaction_getSourcePaymentItemList_bank_accounts_from_other_entities
(
self
):
client_1_bank_account
=
self
.
portal
.
organisation_module
.
client_1
.
newContent
(
portal_type
=
'Bank Account'
,
title
=
'client_1 bank account'
)
client_1_bank_account
.
validate
()
source_transaction
=
self
.
_makeOne
(
portal_type
=
'Payment Transaction'
,
destination_section_value
=
self
.
section
,
# section is client 2 but account is for client 1
source_section_value
=
self
.
organisation_module
.
client_2
,
source_payment_value
=
client_1_bank_account
,
lines
=
(
dict
(
destination_value
=
self
.
account_module
.
goods_purchase
,
destination_debit
=
500
),
dict
(
destination_value
=
self
.
account_module
.
receivable
,
destination_credit
=
500
)))
self
.
assertEqual
(
[
(
str
(
label
),
value
)
for
(
label
,
value
)
in
source_transaction
.
AccountingTransaction_getSourcePaymentItemList
()
],
[
(
''
,
''
),
(
'Invalid bank account from Client 1'
,
None
),
(
'client_1 bank account'
,
client_1_bank_account
.
getRelativeUrl
()),
],
)
destination_transaction
=
self
.
_makeOne
(
portal_type
=
'Payment Transaction'
,
source_section_value
=
self
.
section
,
# section is client 2 but account is for client 1
destination_section_value
=
self
.
organisation_module
.
client_2
,
destination_payment_value
=
client_1_bank_account
,
lines
=
(
dict
(
destination_value
=
self
.
account_module
.
goods_purchase
,
destination_debit
=
500
),
dict
(
destination_value
=
self
.
account_module
.
receivable
,
destination_credit
=
500
)))
self
.
assertEqual
(
[
(
str
(
label
),
value
)
for
(
label
,
value
)
in
destination_transaction
.
AccountingTransaction_getDestinationPaymentItemList
()
],
[
(
''
,
''
),
(
'Invalid bank account from Client 1'
,
None
),
(
'client_1 bank account'
,
client_1_bank_account
.
getRelativeUrl
()),
],
)
class
TestAccountingWithSequences
(
ERP5TypeTestCase
):
"""The first test for Accounting
...
...
@@ -5667,68 +5901,6 @@ class TestAccountingWithSequences(ERP5TypeTestCase):
except
ValidationFailed
as
err
:
raise
AssertionError
(
"Validation failed : %s"
%
err
.
msg
)
def
stepValidateNoPayment
(
self
,
sequence
,
sequence_list
=
None
,
**
kw
)
:
"""Check validation behaviour related to payment & mirror_payment.
If we use an account of type asset/cash/bank, we must use set a Bank
Account as source_payment or destination_payment.
This this source/destination payment must be a portal type from the
`payment node` portal type group. It can be defined on transaction
or line.
"""
def
useBankAccount
(
accounting_transaction
):
"""Modify the transaction, so that a line will use an account member of
account_type/cash/bank , which requires to use a payment category.
"""
# get the default and replace income account by bank
income_account_found
=
0
for
line
in
accounting_transaction
.
getMovementList
()
:
source_account
=
line
.
getSourceValue
()
if
source_account
.
isMemberOf
(
'account_type/income'
)
:
income_account_found
=
1
line
.
edit
(
source_value
=
sequence
.
get
(
'bank_account'
),
destination_value
=
sequence
.
get
(
'bank_account'
)
)
self
.
assertTrue
(
income_account_found
)
# XXX
accounting_transaction
=
sequence
.
get
(
'transaction'
)
useBankAccount
(
accounting_transaction
)
self
.
assertRaises
(
ValidationFailed
,
self
.
getWorkflowTool
().
doActionFor
,
accounting_transaction
,
'stop_action'
)
source_section_value
=
accounting_transaction
.
getSourceSectionValue
()
destination_section_value
=
accounting_transaction
.
getDestinationSectionValue
()
for
ptype
in
self
.
getPortal
().
getPortalPaymentNodeTypeList
()
:
source_payment_value
=
source_section_value
.
newContent
(
portal_type
=
ptype
,
)
destination_payment_value
=
destination_section_value
.
newContent
(
portal_type
=
ptype
,
)
accounting_transaction
=
self
.
createAccountingTransaction
(
destination_section_value
=
self
.
other_vendor
)
useBankAccount
(
accounting_transaction
)
# payment node have to be set on both sides if both sides have accounting
# lines
accounting_transaction
.
setSourcePaymentValue
(
source_payment_value
)
accounting_transaction
.
setDestinationPaymentValue
(
None
)
self
.
assertRaises
(
ValidationFailed
,
self
.
getWorkflowTool
().
doActionFor
,
accounting_transaction
,
'stop_action'
)
accounting_transaction
.
setSourcePaymentValue
(
None
)
accounting_transaction
.
setDestinationPaymentValue
(
destination_payment_value
)
self
.
assertRaises
(
ValidationFailed
,
self
.
getWorkflowTool
().
doActionFor
,
accounting_transaction
,
'stop_action'
)
accounting_transaction
.
setSourcePaymentValue
(
source_payment_value
)
accounting_transaction
.
setDestinationPaymentValue
(
destination_payment_value
)
try
:
self
.
getWorkflowTool
().
doActionFor
(
accounting_transaction
,
'stop_action'
)
self
.
assertEqual
(
accounting_transaction
.
getSimulationState
(),
'stopped'
)
except
ValidationFailed
as
err
:
self
.
fail
(
"Validation failed : %s"
%
err
.
msg
)
def
stepValidateRemoveEmptyLines
(
self
,
sequence
,
sequence_list
=
None
,
**
kw
):
"""Check validating a transaction remove empty lines. """
accounting_transaction
=
sequence
.
get
(
'transaction'
)
...
...
@@ -5905,18 +6077,6 @@ class TestAccountingWithSequences(ERP5TypeTestCase):
stepCreateValidAccountingTransaction
stepValidateNotBalanced"""
,
quiet
=
quiet
)
def
test_AccountingTransactionValidationPayment
(
self
,
quiet
=
QUIET
,
run
=
RUN_ALL_TESTS
):
"""Transaction validation and payment"""
if
not
run
:
return
self
.
playSequence
(
"""
stepCreateEntities
stepCreateCurrencies
stepCreateAccounts
stepCreateValidAccountingTransaction
stepValidateNoPayment
"""
,
quiet
=
quiet
)
def
test_AccountingTransactionValidationRemoveEmptyLines
(
self
,
quiet
=
QUIET
,
run
=
RUN_ALL_TESTS
):
"""Transaction validation removes empty lines"""
...
...
bt5/erp5_accounting/WorkflowTemplateItem/portal_workflow/accounting_workflow/script_validateTransactionLines.py
View file @
ea0850ca
...
...
@@ -20,17 +20,24 @@ container.script_validateTransaction(state_change)
# parties or bank accounts
transaction_lines
=
transaction
.
objectValues
(
portal_type
=
transaction
.
getPortalAccountingMovementTypeList
())
id_to_delete_list
=
[]
getBankAccountItemList
=
portal
.
AccountModule_getBankAccountItemList
for
line
in
transaction_lines
:
for
account
,
third_party
,
bank_account
in
(
(
line
.
getSourceValue
(
portal_type
=
'Account'
),
for
account
,
third_party
,
bank_account
,
bank_account_relative_url_list_getter
in
(
(
line
.
getSourceValue
(
portal_type
=
'Account'
),
line
.
getDestinationSectionValue
(
portal_type
=
section_portal_type_list
),
line
.
getSourcePaymentValue
(
portal_type
=
bank_account_portal_type
),),
(
line
.
getDestinationValue
(
portal_type
=
'Account'
),
line
.
getSourcePaymentValue
(
portal_type
=
bank_account_portal_type
),
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
.
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'
:
raise
ValidationFailed
(
translateString
(
"Account ${account_title} is not validated."
,
...
...
@@ -43,7 +50,7 @@ for line in transaction_lines:
mapping
=
dict
(
third_party_name
=
third_party
.
getTitle
())))
if
bank_account
is
not
None
:
if
bank_account
.
get
ValidationState
()
in
invalid_state_list
:
if
bank_account
.
get
RelativeUrl
()
not
in
bank_account_relative_url_list_getter
()
:
raise
ValidationFailed
(
translateString
(
"Bank Account ${bank_account_reference} is invalid."
,
mapping
=
dict
(
bank_account_reference
=
bank_account
.
getReference
())))
...
...
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/bank.xml
View file @
ea0850ca
...
...
@@ -104,6 +104,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
Bank
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -129,4 +135,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/collected_vat.xml
View file @
ea0850ca
...
...
@@ -104,6 +104,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
Collected VAT 10%
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -129,4 +135,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/equity.xml
View file @
ea0850ca
...
...
@@ -104,6 +104,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
Equity
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -129,4 +135,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/fixed_assets.xml
View file @
ea0850ca
...
...
@@ -104,6 +104,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
Fixed Assets
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -129,4 +135,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/goods_purchase.xml
View file @
ea0850ca
...
...
@@ -104,6 +104,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
Goods Purchase
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -129,4 +135,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/goods_sales.xml
View file @
ea0850ca
...
...
@@ -104,6 +104,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
Goods Sales
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -129,4 +135,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/payable.xml
View file @
ea0850ca
...
...
@@ -104,6 +104,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
Payable
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -129,4 +135,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/receivable.xml
View file @
ea0850ca
...
...
@@ -104,6 +104,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
Receivable
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -129,4 +135,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/refundable_vat.xml
View file @
ea0850ca
...
...
@@ -104,6 +104,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
Refundable VAT 10%
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -129,4 +135,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/account_module/stocks.xml
View file @
ea0850ca
...
...
@@ -104,6 +104,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
Stocks
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -129,4 +135,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/currency_module/euro.xml
View file @
ea0850ca
...
...
@@ -14,9 +14,7 @@
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -27,9 +25,7 @@
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -40,9 +36,7 @@
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -54,9 +48,7 @@
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -98,6 +90,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
Euro
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -123,4 +121,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/currency_module/usd.xml
View file @
ea0850ca
...
...
@@ -14,9 +14,7 @@
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -27,9 +25,7 @@
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -40,9 +36,7 @@
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -54,9 +48,7 @@
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -98,6 +90,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
US Dollar
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -123,4 +121,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/currency_module/yen.xml
View file @
ea0850ca
...
...
@@ -14,9 +14,7 @@
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -27,9 +25,7 @@
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -40,9 +36,7 @@
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -54,9 +48,7 @@
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -98,6 +90,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
Yen
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -123,4 +121,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/organisation_module/client_1.xml
View file @
ea0850ca
...
...
@@ -14,9 +14,7 @@
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -27,9 +25,7 @@
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -40,9 +36,7 @@
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -54,9 +48,7 @@
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -82,9 +74,9 @@
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
region/region
</string>
<string>
group/client
</string>
<string>
role/client
</string>
<string>
region/region
</string>
</tuple>
</value>
</item>
...
...
@@ -106,6 +98,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
Client 1
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -131,4 +129,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/organisation_module/client_2.xml
View file @
ea0850ca
...
...
@@ -14,9 +14,7 @@
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -27,9 +25,7 @@
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -40,9 +36,7 @@
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -54,9 +48,7 @@
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -82,8 +74,8 @@
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
region/region
</string>
<string>
role/client
</string>
<string>
region/region
</string>
</tuple>
</value>
</item>
...
...
@@ -105,6 +97,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
Client 2
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -130,4 +128,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/organisation_module/main_organisation.xml
View file @
ea0850ca
...
...
@@ -14,9 +14,7 @@
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -27,9 +25,7 @@
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -40,9 +36,7 @@
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -54,9 +48,7 @@
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -135,6 +127,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
My Master Organisation
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -160,4 +158,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/organisation_module/my_organisation.xml
View file @
ea0850ca
...
...
@@ -14,9 +14,7 @@
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -27,9 +25,7 @@
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -40,9 +36,7 @@
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -54,9 +48,7 @@
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -135,6 +127,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
My Organisation
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -160,4 +158,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/organisation_module/my_organisation/my_bank.xml
View file @
ea0850ca
...
...
@@ -14,9 +14,7 @@
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -27,9 +25,7 @@
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -40,9 +36,7 @@
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -54,9 +48,7 @@
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -108,6 +100,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
My default bank account
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -133,4 +131,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/organisation_module/supplier.xml
View file @
ea0850ca
...
...
@@ -104,6 +104,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string>
Supplier
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -129,4 +135,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/PathTemplateItem/person_module/john_smith.xml
View file @
ea0850ca
...
...
@@ -14,9 +14,7 @@
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -27,9 +25,7 @@
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -40,9 +36,7 @@
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -54,9 +48,7 @@
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
...
...
@@ -124,6 +116,12 @@
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
...
...
@@ -149,4 +147,83 @@
<none/>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
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>
bt5/erp5_accounting_ui_test/SkinTemplateItem/portal_skins/erp5_accounting_ui_test/ERP5Site_resetConfigurationForAccountingTest.py
View file @
ea0850ca
...
...
@@ -6,31 +6,12 @@ for rule in portal.portal_rules.objectValues():
if
rule
.
getValidationState
()
!=
'validated'
:
rule
.
validate
()
validated
=
False
# 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
# validate all accounts, because we have test invalidating accounts, see
# accounting_zuite/accounting_transaction_zuite/test_accounting_transaction_input_invalidated_accounts.html
for
account
in
portal
.
account_module
.
objectValues
():
if
account
.
getValidationState
()
!=
'validated'
:
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
ptool
=
portal
.
portal_preferences
pref
=
ptool
.
accounting_zuite_preference
...
...
bt5/erp5_accounting_ui_test/bt/template_keep_last_workflow_history_only_path_list
0 → 100644
View file @
ea0850ca
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
bt5/erp5_bank_reconciliation/SkinTemplateItem/portal_skins/erp5_bank_reconciliation/BankReconciliation_view/my_source_payment.xml
View file @
ea0850ca
...
...
@@ -118,7 +118,7 @@
<dictionary>
<item>
<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>
</dictionary>
</pickle>
...
...
bt5/erp5_configurator/SkinTemplateItem/portal_skins/erp5_configurator_wizard/ConfiguratorTool_viewInstallationStatus.zpt
View file @
ea0850ca
...
...
@@ -18,8 +18,7 @@
<tal:block metal:use-macro="here/wizard_main_template/macros/master">
<tal:block metal:fill-slot="main">
<script type="text/javascript"
language="javascript"
<script language="javascript"
tal:content="here/ConfiguratorTool_generateJavaScript"/>
<div class="dialog_box">
...
...
bt5/erp5_configurator/SkinTemplateItem/portal_skins/erp5_configurator_wizard/wizard_template_erp5_xhtml_style.zpt
View file @
ea0850ca
...
...
@@ -45,7 +45,7 @@ IDEAS:
<link
tal:attributes=
"href css"
type=
"text/css"
rel=
"stylesheet"
/>
</tal:block>
<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>
<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"
/>
...
...
bt5/erp5_jquery_sheet_editor/SkinTemplateItem/portal_skins/erp5_jquery_sheet_editor/sheet_editor_support.zpt
View file @
ea0850ca
<script
type="text/javascript"
src="jquery/core/jquery.js"></script>
<script
type="text/javascript"
src="jquery/plugin/sheet/jquery.sheet.js"></script>
<script
type="text/javascript"
src="jquery/plugin/mbmenu/mbMenu.min.js"></script>
<script
type="text/javascript"
src="jquery/ui/js/jquery-ui.js"></script>
<script
type="text/javascript"
src="jquery/plugin/jqchart/jgcharts.min.js"></script>
<script
type="text/javascript"
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/core/jquery.js"></script>
<script src="jquery/plugin/sheet/jquery.sheet.js"></script>
<script src="jquery/plugin/mbmenu/mbMenu.min.js"></script>
<script src="jquery/ui/js/jquery-ui.js"></script>
<script src="jquery/plugin/jqchart/jgcharts.min.js"></script>
<script src="jquery/plugin/colorpicker/jquery.colorPicker.min.js"></script>
<script src="jquery/plugin/elastic/jquery.elastic.min.js"></script>
<script
type="text/javascript"
>
<script>
$("button.save").click(function(event){
source = $.sheet.instance[0].getSource(true);
$("input#my_text_content").attr("value", source)
...
...
bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransactionGroup_getSourcePaymentItemList.py
View file @
ea0850ca
return
context
.
AccountModule_getBankAccountItemList
(
organisation
=
context
.
getSourceSection
(),
skip_invalidated_bank_accounts
=
(
context
.
getValidationState
()
!=
'delivered'
))
base_category
=
'source_payment'
)
bt5/erp5_payment_mean_sepa/SkinTemplateItem/portal_skins/erp5_payment_mean_sepa/AccountingTransactionLine_getSEPACreditTransferRemittanceInformation.py
View file @
ea0850ca
...
...
@@ -11,7 +11,7 @@ if ptg.getSourcePayment() == context.getSourcePayment():
else
:
third_party
=
context
.
getSourceSectionValue
()
third_party_name
=
third_party
.
get
CorporateName
(
)
or
third_party
.
getTitle
()
third_party_name
=
third_party
.
get
Property
(
'corporate_name'
)
or
third_party
.
getTitle
()
return
"{invoice_reference} {third_party_name}"
.
format
(
invoice_reference
=
context
.
getParentValue
().
getCausalityReference
()
or
''
,
...
...
bt5/erp5_payment_mean_sepa/SkinTemplateItem/portal_skins/erp5_payment_mean_sepa/PaymentTransactionGroup_getSEPACreditTransferDataDict.py
View file @
ea0850ca
...
...
@@ -78,7 +78,7 @@ for brain in context.PaymentTransactionGroup_getAccountingTransactionLineList():
'Ustrd'
:
transaction_line
.
AccountingTransactionLine_getSEPACreditTransferRemittanceInformation
(),
},
'Cdtr'
:
{
'Nm'
:
creditor_entity
.
get
CorporateName
(
)
or
creditor_entity
.
getTitle
(),
'Nm'
:
creditor_entity
.
get
Property
(
'corporate_name'
)
or
creditor_entity
.
getTitle
(),
'PstlAdr'
:
(
creditor_entity
.
getDefaultAddressText
()
or
''
).
splitlines
(),
'Ctry'
:
creditor_entity
.
getDefaultAddressRegion
()
and
creditor_entity
.
getDefaultAddressValue
().
getRegionReference
(),
},
...
...
bt5/erp5_payment_mean_sepa/TestTemplateItem/portal_components/test.erp5.testPaymentTransactionGroupSEPA.py
View file @
ea0850ca
...
...
@@ -198,6 +198,54 @@ class TestPaymentTransactionGroupPaymentSEPA(AccountingTestCase):
[
'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
):
ptg
=
self
.
_createPTG
()
ret
=
ptg
.
PaymentTransactionGroup_generateSEPACreditTransferFile
(
...
...
bt5/erp5_payment_mean_ui_test/SkinTemplateItem/portal_skins/erp5_payment_mean_ui_test/ERP5Site_createPaymentMeanUiTestData.py
View file @
ea0850ca
...
...
@@ -22,12 +22,15 @@ organisation = portal.organisation_module.newContent(
title
=
organisation_id
,
group_value
=
portal
.
portal_categories
.
group
.
demo_group
,
)
organisation
.
validate
()
bank_account_id
=
"erp5_payment_mean_bank"
bank_account
=
organisation
.
newContent
(
portal_type
=
'Bank Account'
,
id
=
bank_account_id
,
title
=
bank_account_id
)
bank_account
.
validate
()
payment_mean_id
=
"erp5_payment_mean_ui_test_payment_transaction_group"
payment_mean
=
portal
.
payment_transaction_group_module
.
newContent
(
...
...
bt5/erp5_trade/TestTemplateItem/portal_components/test.erp5.testOrder.py
View file @
ea0850ca
...
...
@@ -314,7 +314,7 @@ class TestOrderMixin(SubcontentReindexingWrapper):
portal_type
=
organisation_portal_type
)
organisation
.
newContent
(
id
=
'bank'
,
portal_type
=
'Bank Account'
,
title
=
'bank%s'
%
organisation
.
getId
())
title
=
'bank%s'
%
organisation
.
getId
())
.
validate
()
organisation
.
setDefaultAddressStreetAddress
(
'rue xv'
)
organisation
.
setDefaultAddressZipCode
(
'12345'
)
if
title
is
None
:
...
...
bt5/erp5_user_tutorial_ui_test/SkinTemplateItem/portal_skins/erp5_user_tutorial_ui_test/Zuite_setUpSaleOrderTest.py
View file @
ea0850ca
...
...
@@ -68,6 +68,7 @@ my_organisation.validate()
bank_account
=
my_organisation
.
newContent
(
portal_type
=
"Bank Account"
,
title
=
howto_dict
[
"sale_howto_bank_account_title"
],
reference
=
howto_dict
[
"sale_howto_bank_account_reference"
],)
bank_account
.
validate
()
organisation
=
portal
.
organisation_module
.
newContent
(
portal_type
=
'Organisation'
,
title
=
howto_dict
[
'sale_howto_organisation2_title'
],
...
...
bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/admin_toolbox.zpt
View file @
ea0850ca
...
...
@@ -135,7 +135,7 @@
</fieldset>
<script t
ype="text/javascript" t
al:content="string:
<script tal:content="string:
// preload action icons
if (document.images) {
clone_icon = new Image();
...
...
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/dialog_main.zpt
View file @
ea0850ca
...
...
@@ -38,7 +38,7 @@
tal:content="python:here.Base_getFormViewDialogActionButtonTitle(form)">Do Action</span>
</button>
</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:content="structure string:installDoubleSubmitDialogPrevention('$message');">
</script>
...
...
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/documentation_template.zpt
View file @
ea0850ca
...
...
@@ -207,7 +207,7 @@ div.listbox_dataline:hover {
</style>
</head>
<body
onload=
"toggle_all()"
>
<script
type=
"text/javascript"
>
<!--
<script>
<!--
function
toggle_all
()
{
my_elements
=
document
.
getElementsByName
(
"
toggleable
"
);
for
(
i
=
0
;
i
<
my_elements
.
length
;
i
++
)
{
...
...
@@ -292,4 +292,4 @@ div.listbox_dataline:hover {
</tal:block>
</body>
</html>
</tal:block>
</tal:block>
\ No newline at end of file
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/global_definitions.zpt
View file @
ea0850ca
...
...
@@ -80,7 +80,6 @@
><script
tal:define="dummy python: known.add(js)"
tal:attributes="src js"
type="text/javascript"
></script></tal:block></tal:block>
</tal:block>
<tal:block metal:define-macro="http_definitions">
...
...
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/login_form.zpt
View file @
ea0850ca
...
...
@@ -85,7 +85,7 @@
</div>
</tal:block>
</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">Do not forget to logout or exit your browser when you are done.</p>
</div>
...
...
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/planning_dhtml.py
View file @
ea0850ca
...
...
@@ -25,7 +25,7 @@ moving and resizing
block_string
=
','
.
join
([
'"%s"'
%
block
.
name
for
block
in
planning
.
content
if
\
not
context
.
PlanningBox_isFrozenBlock
(
block
=
block
)])
return
'<script
type="text/javascript"
>SET_DHTML(%s,'
\
return
'<script>SET_DHTML(%s,'
\
'"top"+CURSOR_N_RESIZE+VERTICAL, '
\
'"right"+CURSOR_E_RESIZE+HORIZONTAL, '
\
'"bottom"+CURSOR_S_RESIZE+VERTICAL, '
\
...
...
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/template_erp5_xhtml_style.zpt
View file @
ea0850ca
...
...
@@ -72,7 +72,7 @@ DEPRECATION:
<div
id=
"information_area"
class=
"information_area"
i18n:translate=
""
i18n:domain=
"ui"
>
Input data has errors. Please look at the error messages below.
</div>
<script
type=
"text/javascript"
>
changed
=
true
;
</script>
<script>
changed
=
true
;
</script>
</tal:block>
</div>
<div
id=
"master"
class=
"master"
>
...
...
product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/view_main.zpt
View file @
ea0850ca
...
...
@@ -18,7 +18,7 @@
<tal:block metal:use-macro="here/context_box_render/macros/master" />
</tal:block>
<tal:block metal:fill-slot="main">
<script
type="text/javascript"
<script
tal:condition="portal/portal_preferences/getPreferredHtmlStyleUnsavedFormWarning"
tal:define="message python:context.Base_translateString('You have unsaved changes').replace('\\', '\\\\').replace('\'', '\\\'')"
tal:content="structure string:installUnsavedChangesWarning('$message');">
...
...
@@ -76,4 +76,4 @@
</tal:block>
</tal:block>
</tal:block>
</tal:block>
</tal:block>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment