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
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Titouan Soulard
erp5
Commits
9671e36a
Commit
9671e36a
authored
Jul 13, 2022
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'upstream/master' into zope4py2
parents
43060af5
0d8242de
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
433 additions
and
166 deletions
+433
-166
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getTransactionLineListForGroupingReference.py
...ctionModule_getTransactionLineListForGroupingReference.py
+15
-7
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getTransactionLineListForGroupingReference.xml
...tionModule_getTransactionLineListForGroupingReference.xml
+1
-1
bt5/erp5_accounting_ui_test/PathTemplateItem/portal_tests/accounting_zuite/test_grouping_reference/test_group_multi_pages_section_selection.html.xml
...ference/test_group_multi_pages_section_selection.html.xml
+58
-0
bt5/erp5_accounting_ui_test/PathTemplateItem/portal_tests/accounting_zuite/test_grouping_reference/test_group_multi_pages_section_selection.html.zpt
...ference/test_group_multi_pages_section_selection.html.zpt
+197
-0
bt5/erp5_accounting_ui_test/SkinTemplateItem/portal_skins/erp5_accounting_ui_test/AccountingTransactionModule_createAccountingTransactionList.py
...ntingTransactionModule_createAccountingTransactionList.py
+161
-157
bt5/erp5_accounting_ui_test/SkinTemplateItem/portal_skins/erp5_accounting_ui_test/AccountingTransactionModule_createAccountingTransactionList.xml
...tingTransactionModule_createAccountingTransactionList.xml
+1
-1
No files found.
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getTransactionLineListForGroupingReference.py
View file @
9671e36a
...
@@ -4,7 +4,7 @@ request = container.REQUEST
...
@@ -4,7 +4,7 @@ request = container.REQUEST
portal
=
context
.
getPortalObject
()
portal
=
context
.
getPortalObject
()
# we use a different selection for dialog params, because we never want this
# we use a different selection for dialog params, because we never want this
# selection to be reset
eted
# selection to be reset
dialog_selection_params
=
portal
.
portal_selections
.
getSelectionParamsFor
(
dialog_selection_params
=
portal
.
portal_selections
.
getSelectionParamsFor
(
'grouping_reference_fast_input_selection'
)
'grouping_reference_fast_input_selection'
)
...
@@ -26,12 +26,20 @@ for column in portal.portal_selections.getSelectionSortOrder(
...
@@ -26,12 +26,20 @@ for column in portal.portal_selections.getSelectionSortOrder(
continue
continue
sort_on
.
append
((
column_id
,
column
[
1
]))
sort_on
.
append
((
column_id
,
column
[
1
]))
section_category
=
request
.
get
(
# XXX ERP5JS does call list method with selection parameters, so we have to read in request.
'section_category'
,
section_category
=
section_category
\
portal
.
portal_preferences
.
getPreferredAccountingTransactionSectionCategory
())
or
request
.
get
(
'section_category'
)
\
section_category_strict
=
request
.
get
(
or
dialog_selection_params
.
get
(
'section_category'
)
\
'section_category_strict'
,
or
portal
.
portal_preferences
.
getPreferredAccountingTransactionSectionCategory
()
portal
.
portal_preferences
.
getPreferredAccountingSectionCategoryStrict
())
for
candidate
in
(
section_category_strict
,
request
.
get
(
'section_category_strict'
),
dialog_selection_params
.
get
(
'section_category_strict'
),
portal
.
portal_preferences
.
getPreferredAccountingSectionCategoryStrict
(),
):
if
candidate
is
not
None
:
section_category_strict
=
candidate
break
section_uid
=
portal
.
Base_getSectionUidListForSectionCategory
(
section_uid
=
portal
.
Base_getSectionUidListForSectionCategory
(
section_category
,
section_category_strict
)
section_category
,
section_category_strict
)
...
...
bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getTransactionLineListForGroupingReference.xml
View file @
9671e36a
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
_params
</string>
</key>
<key>
<string>
_params
</string>
</key>
<value>
<string>
selection=None, grouping=\'grouping\', node=\'\', mirror_section=\'\', ledger=\'\', title=None, delivery_reference=None, debit_price=None, credit_price=None, date=None, **kw
</string>
</value>
<value>
<string>
selection=None, grouping=\'grouping\', node=\'\', mirror_section=\'\', ledger=\'\', title=None, delivery_reference=None, debit_price=None, credit_price=None, date=None,
section_category=\'\', section_category_strict=None,
**kw
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
id
</string>
</key>
<key>
<string>
id
</string>
</key>
...
...
bt5/erp5_accounting_ui_test/PathTemplateItem/portal_tests/accounting_zuite/test_grouping_reference/test_group_multi_pages_section_selection.html.xml
0 → 100644
View file @
9671e36a
<?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>
test_group_multi_pages_section_selection.html
</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>
bt5/erp5_accounting_ui_test/PathTemplateItem/portal_tests/accounting_zuite/test_grouping_reference/test_group_multi_pages_section_selection.html.zpt
0 → 100644
View file @
9671e36a
<html>
<head><title>
Grouping with multiple pages and section selection
</title></head>
<body>
<table
cellpadding=
"1"
cellspacing=
"1"
border=
"1"
>
<thead>
<tr><td
rowspan=
"1"
colspan=
"4"
>
Grouping with multiple pages and section selection
</td></tr>
</thead><tbody
tal:define=
"init_method string:AccountingTransactionModule_createAccountingTransactionList?add_draft_transactions:int=0&month_count:int=6&add_related_payments:int=1&both_sections:int=1"
>
<!-- Setup {{{ -->
<tal:block
metal:use-macro=
"here/ERP5Site_viewAccountingZuiteCommonTemplate/macros/init"
/>
<tr>
<td>
selectAndWait
</td>
<td>
select_module
</td>
<td>
Organisations
</td>
</tr>
<tr>
<td>
clickAndWait
</td>
<td>
Folder_show:method
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<!-- title -->
<td>
//tr[@class='listbox-search-line']/th[2]/input
</td>
<td>
Client 1
</td>
</tr>
<tr>
<td>
clickAndWait
</td>
<td>
//input[@class="listbox-select-action"]
</td>
<td></td>
</tr>
<!-- }}} -->
<!-- {{{ Select Client 1 Organisation and use grouping fast input -->
<tr>
<td>
clickAndWait
</td>
<td>
link=Client 1
</td>
<td></td>
</tr>
<tr>
<td>
clickAndWait
</td>
<td>
//img[@alt='Grouping Reference Fast Input']
</td>
<td></td>
</tr>
<!-- The mode should be 'grouping' by default -->
<tr>
<td>
verifyValue
</td>
<td>
//input[@name='field_your_grouping' and @value='grouping']
</td>
<td>
on
</td>
</tr>
<tr>
<td>
verifyText
</td>
<td>
//label[contains(text(),"Total Selected Amount")]/../div[1]/
</td>
<td>
0.00
</td>
</tr>
<tr>
<td>
verifySelectedLabel
</td>
<td>
field_your_node
</td>
<td></td>
</tr>
<tr>
<td>
select
</td>
<td>
field_your_node
</td>
<td>
label=41 - Receivable
</td>
</tr>
<tr>
<td>
verifySelectedLabel
</td>
<td>
field_your_section_category
</td>
<td>
Demo Group
</td>
</tr>
<tr>
<td>
clickAndWait
</td>
<td>
//button[@id="dialog_update_button"]
</td>
<td></td>
</tr>
<tr>
<td>
assertPortalStatusMessage
</td>
<td>
Updated
</td>
<td></td>
</tr>
<tr>
<td>
assertText
</td>
<td>
//span[@class="listbox-current-page-total-number"]
</td>
<td>
24 records
</td>
</tr>
<tr>
<td>
select
</td>
<td>
field_your_section_category
</td>
<td>
Demo Group
</td>
</tr>
<tr>
<td>
click
</td>
<td>
field_your_section_category_strict
</td>
<td></td>
</tr>
<tr>
<td>
clickAndWait
</td>
<td>
//button[@id="dialog_update_button"]
</td>
<td></td>
</tr>
<tr>
<td>
assertPortalStatusMessage
</td>
<td>
Updated
</td>
<td></td>
</tr>
<tr>
<td>
assertText
</td>
<td>
//span[@class="listbox-current-page-total-number"]
</td>
<td>
12 records
</td>
</tr>
<tr>
<td>
clickAndWait
</td>
<td>
//button[@class='listbox_next_page']
</td>
<td></td>
</tr>
<tr>
<td>
verifyText
</td>
<td>
//span[@class='listbox-current-page-total-number']
</td>
<td>
12 records
</td>
</tr>
<tr>
<td>
clickAndWait
</td>
<td>
//button[@class='listbox_previous_page']
</td>
<td></td>
</tr>
<tr>
<td>
verifyText
</td>
<td>
//span[@class='listbox-current-page-total-number']
</td>
<td>
12 records
</td>
</tr>
<tr>
<td>
assertChecked
</td>
<td>
field_your_section_category_strict
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
field_your_section_category_strict
</td>
<td></td>
</tr>
<tr>
<td>
clickAndWait
</td>
<td>
//button[@id="dialog_update_button"]
</td>
<td></td>
</tr>
<tr>
<td>
assertPortalStatusMessage
</td>
<td>
Updated
</td>
<td></td>
</tr>
<tr>
<td>
assertText
</td>
<td>
//span[@class="listbox-current-page-total-number"]
</td>
<td>
24 records
</td>
</tr>
<tr>
<td>
select
</td>
<td>
field_your_section_category
</td>
<td>
Demo Group/Subsidiairy #1
</td>
</tr>
<tr>
<td>
clickAndWait
</td>
<td>
//button[@id="dialog_update_button"]
</td>
<td></td>
</tr>
<tr>
<td>
assertPortalStatusMessage
</td>
<td>
Updated
</td>
<td></td>
</tr>
<tr>
<td>
assertText
</td>
<td>
//span[@class="listbox-current-page-total-number"]
</td>
<td>
12 records
</td>
</tr>
<tr>
<td>
clickAndWait
</td>
<td>
//button[@class='listbox_next_page']
</td>
<td></td>
</tr>
<tr>
<td>
verifyText
</td>
<td>
//span[@class='listbox-current-page-total-number']
</td>
<td>
12 records
</td>
</tr>
</tbody></table>
</body>
</html>
\ No newline at end of file
bt5/erp5_accounting_ui_test/SkinTemplateItem/portal_skins/erp5_accounting_ui_test/AccountingTransactionModule_createAccountingTransactionList.py
View file @
9671e36a
...
@@ -2,7 +2,6 @@ from DateTime import DateTime
...
@@ -2,7 +2,6 @@ from DateTime import DateTime
from
Products.ZSQLCatalog.SQLCatalog
import
SimpleQuery
from
Products.ZSQLCatalog.SQLCatalog
import
SimpleQuery
# params
# params
section_title
=
'My Organisation'
portal
=
context
.
getPortalObject
()
portal
=
context
.
getPortalObject
()
accounting_module
=
portal
.
accounting_module
accounting_module
=
portal
.
accounting_module
year
=
2005
year
=
2005
...
@@ -14,9 +13,9 @@ business_process = portal.portal_catalog.getResultValue(
...
@@ -14,9 +13,9 @@ business_process = portal.portal_catalog.getResultValue(
portal_type
=
'Business Process'
).
getRelativeUrl
()
portal_type
=
'Business Process'
).
getRelativeUrl
()
# if the previous test didn't change input data, no need to recreate content
# if the previous test didn't change input data, no need to recreate content
current_script_data_id
=
'%s_month_count_%s_draft_%s_state_%s_payment_%s_leger_%s'
%
(
current_script_data_id
=
'%s_month_count_%s_draft_%s_state_%s_payment_%s_leger_%s
_both_sections_%s
'
%
(
month_count
,
add_draft_transactions
,
transaction_state
,
month_count
,
add_draft_transactions
,
transaction_state
,
add_related_payments
,
set_ledger
,
script
.
getId
())
add_related_payments
,
set_ledger
,
both_sections
,
script
.
getId
())
if
accounting_module
.
getProperty
(
'current_content_script'
,
if
accounting_module
.
getProperty
(
'current_content_script'
,
''
)
==
current_script_data_id
:
''
)
==
current_script_data_id
:
...
@@ -60,7 +59,10 @@ def getOrganisationByTitle(title):
...
@@ -60,7 +59,10 @@ def getOrganisationByTitle(title):
assert
len
(
document_list
)
==
1
,
\
assert
len
(
document_list
)
==
1
,
\
'%d organisation with title "%s"'
%
(
len
(
document_list
),
title
)
'%d organisation with title "%s"'
%
(
len
(
document_list
),
title
)
return
document_list
[
0
]
return
document_list
[
0
]
section
=
getOrganisationByTitle
(
section_title
)
section_list
=
[
getOrganisationByTitle
(
'My Organisation'
)]
if
both_sections
:
section_list
.
append
(
getOrganisationByTitle
(
'My Master Organisation'
))
euro_resource
=
'currency_module/euro'
euro_resource
=
'currency_module/euro'
...
@@ -75,6 +77,7 @@ else:
...
@@ -75,6 +77,7 @@ else:
title
=
'Dummy Product for testing'
)
title
=
'Dummy Product for testing'
)
for
_
in
range
(
random
.
randint
(
5
,
10
)):
for
_
in
range
(
random
.
randint
(
5
,
10
)):
for
section
in
section_list
:
pl
=
portal
.
sale_packing_list_module
.
newContent
(
pl
=
portal
.
sale_packing_list_module
.
newContent
(
portal_type
=
'Sale Packing List'
,
portal_type
=
'Sale Packing List'
,
title
=
'Dummy Packing List for testing'
,
title
=
'Dummy Packing List for testing'
,
...
@@ -94,7 +97,8 @@ for _ in range(random.randint(5, 10)):
...
@@ -94,7 +97,8 @@ for _ in range(random.randint(5, 10)):
#assert pl.getSimulationState() == 'stopped'
#assert pl.getSimulationState() == 'stopped'
#pl.recursiveReindexObject()
#pl.recursiveReindexObject()
for
month
in
range
(
1
,
month_count
+
1
):
for
section
in
section_list
:
for
month
in
range
(
1
,
month_count
+
1
):
default_date
=
DateTime
(
year
,
month
,
1
)
default_date
=
DateTime
(
year
,
month
,
1
)
tr
=
accounting_module
.
newContent
(
tr
=
accounting_module
.
newContent
(
title
=
'Accounts opening'
,
title
=
'Accounts opening'
,
...
@@ -244,7 +248,7 @@ for month in range(1, month_count + 1):
...
@@ -244,7 +248,7 @@ for month in range(1, month_count + 1):
# other cases not supported for now
# other cases not supported for now
assert
transaction_state
==
'draft'
assert
transaction_state
==
'draft'
if
add_draft_transactions
:
if
add_draft_transactions
:
# finally, add random accounting transcactions in draft state, which have no
# finally, add random accounting transcactions in draft state, which have no
# impact on the test
# impact on the test
for
client_title
,
amount
in
((
'Client 1'
,
2000
),
(
'Client 2'
,
3000
)):
for
client_title
,
amount
in
((
'Client 1'
,
2000
),
(
'Client 2'
,
3000
)):
...
...
bt5/erp5_accounting_ui_test/SkinTemplateItem/portal_skins/erp5_accounting_ui_test/AccountingTransactionModule_createAccountingTransactionList.xml
View file @
9671e36a
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
_params
</string>
</key>
<key>
<string>
_params
</string>
</key>
<value>
<string>
month_count=1, add_draft_transactions=1, transaction_state=\'validated\', add_related_payments=0, keep_grouping_reference=0, set_ledger=0
</string>
</value>
<value>
<string>
month_count=1, add_draft_transactions=1, transaction_state=\'validated\', add_related_payments=0, keep_grouping_reference=0, set_ledger=0
, both_sections=0
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
id
</string>
</key>
<key>
<string>
id
</string>
</key>
...
...
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