Commit 4b3b9b2a authored by Jérome Perrin's avatar Jérome Perrin

payment_mean: New mode to select payments

Instead of selecting already stopped payments, introduce a new "mode" field in
the dialog, where user can choose the previous behavior of selecting stopped
payments, or a new behavior where user would select planned or confirmed payments,
in that case the payments will be automatically stopped before being added to
the group.
parent c346047d
from Products.ERP5Type.Message import translateString
portal = context.getPortalObject()
payment_transaction_group = portal.restrictedTraverse(aggregate)
payment_transaction = context.getParentValue()
payment_transaction.setDefaultActivateParameterDict({"activate_kw": activate_kw})
if payment_transaction.getSimulationState() == 'planned':
payment_transaction.Base_workflowStatusModify(
workflow_action='confirm_action',
batch_mode=True,
)
if payment_transaction.getSimulationState() == 'confirmed':
payment_transaction.Base_workflowStatusModify(
workflow_action='start_action',
batch_mode=True,
)
payment_transaction.Base_workflowStatusModify(
workflow_action='stop_action',
comment=translateString(
"Posted automatically with payment transaction group ${payment_transaction_group_reference}",
mapping={'payment_transaction_group_reference': payment_transaction_group.getReference()}),
batch_mode=True,
)
if payment_transaction.getSimulationState() == 'stopped':
context.setAggregateValue(payment_transaction_group)
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>aggregate, activate_kw</string> </value>
</item>
<item>
<key> <string>_proxy_roles</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>AccountingTransactionLine_stopAndSetAggregate</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
portal = context.getPortalObject() portal = context.getPortalObject()
if mode == 'stopped_or_delivered':
simulation_state = ('delivered', 'stopped')
else:
assert mode == 'planned_or_confirmed', "Unknown mode, %r" % mode
simulation_state = ('planned', 'confirmed')
search_kw = dict( search_kw = dict(
parent_portal_type='Payment Transaction', parent_portal_type='Payment Transaction',
limit=None, limit=None,
simulation_state=('delivered', 'stopped'), simulation_state=simulation_state,
section_uid=context.getSourceSectionUid(), section_uid=context.getSourceSectionUid(),
payment_uid=context.getSourcePaymentUid(), payment_uid=context.getSourcePaymentUid(),
resource_uid=context.getPriceCurrencyUid(), resource_uid=context.getPriceCurrencyUid(),
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>select_limit=None, start_date_range_min=None, start_date_range_max=None, sign=None, **kw</string> </value> <value> <string>select_limit=None, start_date_range_min=None, start_date_range_max=None, sign=None, mode=None, **kw</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
...@@ -12,6 +12,7 @@ context.activate(tag=tag).PaymentTransactionGroup_selectPaymentTransactionLineLi ...@@ -12,6 +12,7 @@ context.activate(tag=tag).PaymentTransactionGroup_selectPaymentTransactionLineLi
start_date_range_min=start_date_range_min, start_date_range_min=start_date_range_min,
start_date_range_max=start_date_range_max, start_date_range_max=start_date_range_max,
sign=sign, sign=sign,
mode=mode,
tag=tag) tag=tag)
return context.Base_redirect(form_id, return context.Base_redirect(form_id,
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>form_id=\'view\', select_limit=None, start_date_range_min=None, start_date_range_max=None, sign=None, **kw</string> </value> <value> <string>form_id=\'view\', select_limit=None, start_date_range_min=None, start_date_range_max=None, sign=None, mode=None, **kw</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
...@@ -10,7 +10,15 @@ payment_relative_url_list = [brain.relative_url for brain ...@@ -10,7 +10,15 @@ payment_relative_url_list = [brain.relative_url for brain
select_limit=select_limit, select_limit=select_limit,
start_date_range_min=start_date_range_min, start_date_range_min=start_date_range_min,
start_date_range_max=start_date_range_max, start_date_range_max=start_date_range_max,
sign=sign,)] sign=sign,
mode=mode,)]
if mode == 'stopped_or_delivered':
method_id = 'AccountingTransactionLine_setAggregate'
else:
assert mode == 'planned_or_confirmed', "Unknown mode, %r" % mode
method_id = 'AccountingTransactionLine_stopAndSetAggregate'
object_list_len = len(payment_relative_url_list) object_list_len = len(payment_relative_url_list)
activate = context.getPortalObject().portal_activities.activate activate = context.getPortalObject().portal_activities.activate
...@@ -18,6 +26,6 @@ for i in xrange(0, object_list_len, batch_size): ...@@ -18,6 +26,6 @@ for i in xrange(0, object_list_len, batch_size):
current_path_list = payment_relative_url_list[i:i+batch_size] current_path_list = payment_relative_url_list[i:i+batch_size]
activate(activity='SQLQueue', activate_kw=activate_kw,).callMethodOnObjectList( activate(activity='SQLQueue', activate_kw=activate_kw,).callMethodOnObjectList(
current_path_list, current_path_list,
'AccountingTransactionLine_setAggregate', method_id,
aggregate=aggregate, aggregate=aggregate,
activate_kw=activate_kw) activate_kw=activate_kw)
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>select_limit=None, start_date_range_min=None, start_date_range_max=None, sign=None, tag=\'\'</string> </value> <value> <string>select_limit=None, start_date_range_min=None, start_date_range_max=None, sign=None, mode=None, tag=\'\'</string> </value>
</item> </item>
<item> <item>
<key> <string>_proxy_roles</string> </key> <key> <string>_proxy_roles</string> </key>
......
...@@ -102,6 +102,7 @@ ...@@ -102,6 +102,7 @@
<string>your_start_date_range_min</string> <string>your_start_date_range_min</string>
<string>your_start_date_range_max</string> <string>your_start_date_range_max</string>
<string>your_sign</string> <string>your_sign</string>
<string>your_mode</string>
</list> </list>
</value> </value>
</item> </item>
......
2021-04-23
* New "Select Planned or Confirmed Payments and Post them to General Ledger" mode to select payments.
2011-07-13 Gabriel: 2011-07-13 Gabriel:
* Add field on PaymentTransactionGroup_view to display the source_administration property * Add field on PaymentTransactionGroup_view to display the source_administration property
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>testPaymentTransactionGroupSelectPlannedOrConfirmedPaymentsFastInput</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title tal:content="template/title_or_id"></title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3" tal:content="template/title_or_id"></td></tr>
</thead><tbody>
<tal:block metal:use-macro="here/Zuite_viewCommonTemplatePaymentMeanRenderJsUiTest/macros/init" />
<tal:block metal:use-macro="here/Zuite_viewCommonTemplatePaymentMeanRenderJsUiTest/macros/prepare_data" />
<tal:block metal:use-macro="here/Zuite_viewCommonTemplatePaymentMeanRenderJsUiTest/macros/view_fast_input" />
<tr>
<td>assertSelected</td>
<td>field_your_mode</td>
<td>Select already Posted to General Ledger or Closed Payments</td>
</tr>
<!-- update dialog -->
<tr>
<td>select</td>
<td>field_your_mode</td>
<td>Select Planned or Confirmed Payments and Post them to General Ledger</td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/update_dialog" />
<!-- out of the 3, one is not consistent -->
<tal:block tal:define="pagination_configuration python: {'header': '(3)', 'footer': '3 Records'}">
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/check_listbox_pagination_text" />
</tal:block>
<!-- select -->
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/submit_dialog" />
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" />
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_listbox_loaded" />
<tal:block tal:define="notification_configuration python: {'class': 'success',
'text': 'Payment selection in progress.'}">
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_notification" />
</tal:block>
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" />
<tr>
<td>open</td>
<td>${renderjs_url}/payment_transaction_group_module/erp5_payment_mean_ui_test_payment_transaction_group</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_app_loaded" />
<!-- the not consistent transaction was not selected, we selected and validated the two consistent ones -->
<tal:block tal:define="pagination_configuration python: {'header': '(2)', 'footer': '2 Records'}">
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/check_listbox_pagination_text" />
</tal:block>
<tr>
<td>assertTextPresent</td>
<td>Posted to General Ledger</td>
<td></td>
</tr>
<!-- XXX we don't really need to wait for activities here, but we need to `open` a different page so that we can
open erp5_payment_mean_ui_test_confirmed_not_consistent_outgoing_payment later.
selenium open command expect that a new page is loaded, without this we would just re-open the same page with
a different fragment and selenium would never notice with open is executed.
-->
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" />
<!-- the not consistent transaction is left separately, there's a note in history explaining why it could not be selected -->
<tr>
<td>open</td>
<td>${renderjs_url}/accounting_module/erp5_payment_mean_ui_test_confirmed_not_consistent_outgoing_payment</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_app_loaded" />
<tal:block tal:define="click_configuration python: {'text': 'Views'}">
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_header_link" />
</tal:block>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" />
<tal:block tal:define="click_configuration python: {'text': 'History'}">
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_page_link" />
</tal:block>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" />
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_listbox_loaded" />
<tr>
<td>assertTextPresent</td>
<td>Transaction is not balanced for erp5_payment_mean_ui_test_organisation</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
\ No newline at end of file
...@@ -2,12 +2,12 @@ ...@@ -2,12 +2,12 @@
xmlns:metal="http://xml.zope.org/namespaces/metal"> xmlns:metal="http://xml.zope.org/namespaces/metal">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title tal:replace="template/title_or_id"></title> <title tal:content="template/title_or_id"></title>
</head> </head>
<body> <body>
<table cellpadding="1" cellspacing="1" border="1"> <table cellpadding="1" cellspacing="1" border="1">
<thead> <thead>
<tr><td rowspan="1" colspan="3" tal:replace="template/title_or_id"></td></tr> <tr><td rowspan="1" colspan="3" tal:content="template/title_or_id"></td></tr>
</thead><tbody> </thead><tbody>
<tal:block metal:use-macro="here/Zuite_viewCommonTemplatePaymentMeanUiTest/macros/init" /> <tal:block metal:use-macro="here/Zuite_viewCommonTemplatePaymentMeanUiTest/macros/init" />
...@@ -16,50 +16,17 @@ ...@@ -16,50 +16,17 @@
<tr> <tr>
<td>assertSelected</td> <td>assertSelected</td>
<td>field_your_sign</td> <td>field_your_mode</td>
<td>Outgoing</td> <td>Select already Posted to General Ledger or Closed Payments</td>
</tr> </tr>
<!-- update dialog --> <!-- update dialog -->
<tr>
<td>clickAndWait</td>
<td>dialog_update_button</td>
<td></td>
</tr>
<tr>
<td>assertText</td>
<td>//span[@class="listbox-current-page-total-number"]</td>
<td>2 records</td>
</tr>
<!-- choose sign -->
<tr> <tr>
<td>select</td> <td>select</td>
<td>field_your_sign</td> <td>field_your_mode</td>
<td>Incoming</td> <td>Select Planned or Confirmed Payments and Post them to General Ledger</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>dialog_update_button</td>
<td></td>
</tr>
<tr>
<td>assertText</td>
<td>//span[@class="listbox-current-page-total-number"]</td>
<td>1 records</td>
</tr> </tr>
<!-- choose limit -->
<tr>
<td>select</td>
<td>field_your_sign</td>
<td>Incoming</td>
</tr>
<tr>
<td>type</td>
<td>//input[@name='field_your_limit']</td>
<td>1</td>
</tr>
<tr> <tr>
<td>clickAndWait</td> <td>clickAndWait</td>
<td>dialog_update_button</td> <td>dialog_update_button</td>
...@@ -68,40 +35,8 @@ ...@@ -68,40 +35,8 @@
<tr> <tr>
<td>assertText</td> <td>assertText</td>
<td>//span[@class="listbox-current-page-total-number"]</td> <td>//span[@class="listbox-current-page-total-number"]</td>
<!-- XXX this is not cool to have "sample of " here, but since we pass a limit, listbox detects that the limit was reached --> <!-- out of the 3, one is not consistent -->
<td>sample of 1 records</td> <td>3 records</td>
</tr>
<!-- choose dates -->
<tr>
<td>type</td>
<td>//input[@name='field_your_limit']</td>
<td>10</td>
</tr>
<tr>
<td>type</td>
<td>//input[@name='subfield_field_your_start_date_range_max_year']</td>
<td>2019</td>
</tr>
<tr>
<td>type</td>
<td>//input[@name='subfield_field_your_start_date_range_max_month']</td>
<td>10</td>
</tr>
<tr>
<td>type</td>
<td>//input[@name='subfield_field_your_start_date_range_max_day']</td>
<td>20</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>dialog_update_button</td>
<td></td>
</tr>
<tr>
<td>assertText</td>
<td>//span[@class="listbox-current-page-total-number"]</td>
<td>1 records</td>
</tr> </tr>
<!-- select --> <!-- select -->
...@@ -122,12 +57,28 @@ ...@@ -122,12 +57,28 @@
<td>${base_url}/payment_transaction_group_module/erp5_payment_mean_ui_test_payment_transaction_group</td> <td>${base_url}/payment_transaction_group_module/erp5_payment_mean_ui_test_payment_transaction_group</td>
<td></td> <td></td>
</tr> </tr>
<!-- the not consistent transaction was not selected, we selected and validated the two consistent ones -->
<tr> <tr>
<td>assertText</td> <td>assertText</td>
<td>//span[@class="listbox-current-page-total-number"]</td> <td>//span[@class="listbox-current-page-total-number"]</td>
<td>1 records</td> <td>2 records</td>
</tr>
<tr>
<td>assertTextPresent</td>
<td>Posted to General Ledger</td>
<td></td>
</tr>
<!-- the not consistent transaction is left separately, there's a note in history explaining why it could not be selected -->
<tr>
<td>open</td>
<td>${base_url}/accounting_module/erp5_payment_mean_ui_test_confirmed_not_consistent_outgoing_payment/Base_viewHistory</td>
<td></td>
</tr>
<tr>
<td>assertTextPresent</td>
<td>Transaction is not balanced for erp5_payment_mean_ui_test_organisation</td>
<td></td>
</tr> </tr>
</tbody></table> </tbody></table>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -7,6 +7,14 @@ for rule in portal.portal_rules.contentValues(): ...@@ -7,6 +7,14 @@ for rule in portal.portal_rules.contentValues():
if rule.getValidationState() != 'validated': if rule.getValidationState() != 'validated':
rule.validate() rule.validate()
# validate other documents used in this test
for document in (
portal.account_module.equity,
portal.account_module.bank,
portal.currency_module.euro, ):
if document.getValidationState() != 'validated':
document.validate()
organisation_id = "erp5_payment_mean_ui_test_organisation" organisation_id = "erp5_payment_mean_ui_test_organisation"
organisation = portal.organisation_module.newContent( organisation = portal.organisation_module.newContent(
portal_type='Organisation', portal_type='Organisation',
...@@ -35,94 +43,40 @@ payment_mean = portal.payment_transaction_group_module.newContent( ...@@ -35,94 +43,40 @@ payment_mean = portal.payment_transaction_group_module.newContent(
) )
payment_mean.open() payment_mean.open()
incoming_payment = portal.accounting_module.newContent( for id_, date, resource_value, payment_mode_value, quantity, state, consistent in (
portal_type='Payment Transaction', ('erp5_payment_mean_ui_test_incoming_payment', DateTime('2019/10/20'), portal.currency_module.euro, portal.portal_categories.payment_mode.cash, -100, 'stopped', True),
id="erp5_payment_mean_ui_test_incoming_payment", ('erp5_payment_mean_ui_test_outgoing_payment', DateTime('2019/10/20'), portal.currency_module.euro, portal.portal_categories.payment_mode.cash, 100, 'stopped', True),
title="Incoming payment", ('erp5_payment_mean_ui_test_second_outgoing_payment', DateTime('2019/10/21'), portal.currency_module.euro, portal.portal_categories.payment_mode.cash, 100, 'stopped', True),
source_section_value=organisation, ('erp5_payment_mean_ui_test_planned_outgoing_payment', DateTime('2019/10/20'), portal.currency_module.euro, portal.portal_categories.payment_mode.cash, 100, 'planned', True),
destination_section_value=organisation, ('erp5_payment_mean_ui_test_confirmed_outgoing_payment', DateTime('2019/10/20'), portal.currency_module.euro, portal.portal_categories.payment_mode.cash, 100, 'confirmed', True),
source_payment_value=bank_account, ('erp5_payment_mean_ui_test_confirmed_not_consistent_outgoing_payment', DateTime('2019/10/20'), portal.currency_module.euro, portal.portal_categories.payment_mode.cash, 100, 'confirmed', False),
start_date=DateTime('2019/10/20'), ('erp5_payment_mean_ui_test_wrong_payment_mode_outgoing_payment', DateTime('2019/10/20'), portal.currency_module.euro, portal.portal_categories.payment_mode.check, 100, 'stopped', True),
resource_value=portal.currency_module.euro, ('erp5_payment_mean_ui_test_wrong_currency_outgoing_payment', DateTime('2019/10/20'), portal.currency_module.yen, portal.portal_categories.payment_mode.cash, 100, 'stopped', True),
payment_mode_value=portal.portal_categories.payment_mode.cash, ):
specialise_value=portal.business_process_module.erp5_default_business_process, payment = portal.accounting_module.newContent(
) portal_type='Payment Transaction',
incoming_payment.bank.edit( id=id_,
source_value=portal.account_module.bank, source_section_value=organisation,
source_debit=100, source_payment_value=bank_account,
) start_date=date,
incoming_payment.stop() resource_value=resource_value,
payment_mode_value=payment_mode_value,
outgoing_payment = portal.accounting_module.newContent( specialise_value=portal.business_process_module.erp5_default_business_process,
portal_type='Payment Transaction', )
id="erp5_payment_mean_ui_test_outgoing_payment", payment.bank.edit(
title="Outgoing payment", source_value=portal.account_module.bank,
source_section_value=organisation, quantity=quantity
destination_section_value=organisation, )
source_payment_value=bank_account, payment.receivable.edit(
start_date=DateTime('2019/10/20'), source_value=portal.account_module.equity if consistent else None,
resource_value=portal.currency_module.euro, quantity=-quantity
payment_mode_value=portal.portal_categories.payment_mode.cash, )
specialise_value=portal.business_process_module.erp5_default_business_process, if state == 'planned':
) payment.plan()
outgoing_payment.bank.edit( elif state == 'confirmed':
source_value=portal.account_module.bank, payment.confirm()
source_credit=100, elif state == 'stopped':
) payment.stop()
outgoing_payment.stop() else:
raise ValueError("unknown state", state)
second_outgoing_payment = portal.accounting_module.newContent(
portal_type='Payment Transaction',
id="erp5_payment_mean_ui_test_second_outgoing_payment",
title="Second outgoing payment",
source_section_value=organisation,
destination_section_value=organisation,
source_payment_value=bank_account,
start_date=DateTime('2019/10/21'),
resource_value=portal.currency_module.euro,
payment_mode_value=portal.portal_categories.payment_mode.cash,
specialise_value=portal.business_process_module.erp5_default_business_process,
)
second_outgoing_payment.bank.edit(
source_value=portal.account_module.bank,
source_credit=100,
)
second_outgoing_payment.stop()
wrong_payment_mode_outgoing_payment = portal.accounting_module.newContent(
portal_type='Payment Transaction',
id="erp5_payment_mean_ui_test_wrong_payment_mode_outgoing_payment",
title="Wrong Payment Mode outgoing payment",
source_section_value=organisation,
destination_section_value=organisation,
source_payment_value=bank_account,
start_date=DateTime('2019/10/22'),
resource_value=portal.currency_module.euro,
payment_mode_value=portal.portal_categories.payment_mode.check,
specialise_value=portal.business_process_module.erp5_default_business_process,
)
wrong_payment_mode_outgoing_payment.bank.edit(
source_value=portal.account_module.bank,
source_credit=100,
)
wrong_payment_mode_outgoing_payment.stop()
wrong_currency_outgoing_payment = portal.accounting_module.newContent(
portal_type='Payment Transaction',
id="erp5_payment_mean_ui_test_wrong_currency_outgoing_payment",
title="Wrong Currency outgoing payment",
source_section_value=organisation,
destination_section_value=organisation,
source_payment_value=bank_account,
start_date=DateTime('2019/10/23'),
resource_value=portal.currency_module.yen,
payment_mode_value=portal.portal_categories.payment_mode.cash,
specialise_value=portal.business_process_module.erp5_default_business_process,
)
wrong_currency_outgoing_payment.bank.edit(
source_value=portal.account_module.bank,
source_credit=100,
)
wrong_currency_outgoing_payment.stop()
return "Test Data Created." return "Test Data Created."
...@@ -6,6 +6,9 @@ for portal_type, document_id_list in ( ...@@ -6,6 +6,9 @@ for portal_type, document_id_list in (
('Payment Transaction', ( ('Payment Transaction', (
'erp5_payment_mean_ui_test_incoming_payment', 'erp5_payment_mean_ui_test_incoming_payment',
'erp5_payment_mean_ui_test_outgoing_payment', 'erp5_payment_mean_ui_test_outgoing_payment',
'erp5_payment_mean_ui_test_planned_outgoing_payment',
'erp5_payment_mean_ui_test_confirmed_outgoing_payment',
'erp5_payment_mean_ui_test_confirmed_not_consistent_outgoing_payment',
'erp5_payment_mean_ui_test_second_outgoing_payment', 'erp5_payment_mean_ui_test_second_outgoing_payment',
'erp5_payment_mean_ui_test_wrong_payment_mode_outgoing_payment', 'erp5_payment_mean_ui_test_wrong_payment_mode_outgoing_payment',
'erp5_payment_mean_ui_test_wrong_currency_outgoing_payment', 'erp5_payment_mean_ui_test_wrong_currency_outgoing_payment',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment