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
Nikola Balog
erp5
Commits
083d1aee
Commit
083d1aee
authored
3 years ago
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Plain Diff
Repair proxy listbox ids defining parameters (like "Suppliers" or "Clients")
See merge request
nexedi/erp5!1439
parents
7479fa63
afa5c0fc
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
471 additions
and
13 deletions
+471
-13
bt5/erp5_trade_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_trade_zuite/testRelationFieldProxyListboxId.xml
...nderjs_ui_trade_zuite/testRelationFieldProxyListboxId.xml
+58
-0
bt5/erp5_trade_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_trade_zuite/testRelationFieldProxyListboxId.zpt
...nderjs_ui_trade_zuite/testRelationFieldProxyListboxId.zpt
+159
-0
bt5/erp5_trade_ui_test/PathTemplateItem/portal_tests/trade_zuite/testRelationFieldProxyListboxId.xml
...tal_tests/trade_zuite/testRelationFieldProxyListboxId.xml
+58
-0
bt5/erp5_trade_ui_test/PathTemplateItem/portal_tests/trade_zuite/testRelationFieldProxyListboxId.zpt
...tal_tests/trade_zuite/testRelationFieldProxyListboxId.zpt
+137
-0
bt5/erp5_trade_ui_test/SkinTemplateItem/portal_skins/erp5_trade_ui_test/Zuite_deleteDataForTradeZuite.py
...skins/erp5_trade_ui_test/Zuite_deleteDataForTradeZuite.py
+4
-0
bt5/erp5_trade_ui_test/SkinTemplateItem/portal_skins/erp5_trade_ui_test/Zuite_resetForTradeZuite.py
...rtal_skins/erp5_trade_ui_test/Zuite_resetForTradeZuite.py
+30
-1
product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_getRelatedObjectParameter.py
.../portal_skins/erp5_core/Base_getRelatedObjectParameter.py
+25
-12
No files found.
bt5/erp5_trade_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_trade_zuite/testRelationFieldProxyListboxId.xml
0 → 100644
View file @
083d1aee
<?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>
testRelationFieldProxyListboxId
</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>
This diff is collapsed.
Click to expand it.
bt5/erp5_trade_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_trade_zuite/testRelationFieldProxyListboxId.zpt
0 → 100644
View file @
083d1aee
<html>
<head><title>
Test Proxy Listbox Ids on relation fields.
</title></head>
<body>
<table
cellpadding=
"1"
cellspacing=
"1"
border=
"1"
>
<thead>
<tr><td
rowspan=
"1"
colspan=
"4"
>
Test Proxy Listbox Ids on relation fields.
</td></tr>
</thead>
<tbody
tal:define=
"init_method string:Zuite_createSaleOrderForTradeZuite;"
>
<!-- Setup {{{ -->
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForTradeZuite/macros/init"
/>
<tr>
<td>
open
</td>
<td>
${base_url}/web_site_module/renderjs_runner/#/sale_order_module/erp5_trade_ui_test_sale_order_1?editable=true
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_app_loaded"
/>
<!-- }}} -->
<tr>
<td>
type
</td>
<td>
//input[@name='field_my_source_title']
</td>
<td>
%
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//input[@name='field_my_source_title']
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//li[@data-explore="true"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//li[@data-explore="true"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[@data-gadget-url='${base_url}/web_site_module/renderjs_runner/gadget_erp5_pt_form_list.html']//input[@name="search"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
proxy_form_id_list
</td>
<td></td>
</tr>
<tr>
<td>
assertSelected
</td>
<td>
proxy_form_id_list
</td>
<td>
All
</td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_listbox_loaded"
/>
<tal:block
tal:repeat=
"node_title python: ('Organisation supplier', 'Organisation client', 'Person supplier', 'Person client')"
>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[@data-gadget-scope="field_listbox"]//tbody/tr/td[1]/a[text() = "
<tal:block
tal:replace=
"node_title"
/>
"]
</td>
<td></td>
</tr>
</tal:block>
<tr>
<td>
select
</td>
<td>
proxy_form_id_list
</td>
<td>
Suppliers
</td>
</tr>
<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:repeat=
"node_title python: ('Organisation supplier', 'Person supplier', )"
>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[@data-gadget-scope="field_listbox"]//tbody/tr/td[1]/a[text() = "
<tal:block
tal:replace=
"node_title"
/>
"]
</td>
<td></td>
</tr>
</tal:block>
<tal:block
tal:repeat=
"node_title python: ('Organisation client', 'Person client')"
>
<tr>
<td>
assertElementNotPresent
</td>
<td>
//div[@data-gadget-scope="field_listbox"]//tbody/tr/td[1]/a[text() = "
<tal:block
tal:replace=
"node_title"
/>
"]
</td>
<td></td>
</tr>
</tal:block>
<tr>
<td>
select
</td>
<td>
proxy_form_id_list
</td>
<td>
Clients
</td>
</tr>
<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:repeat=
"node_title python: ('Organisation client', 'Person client')"
>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[@data-gadget-scope="field_listbox"]//tbody/tr/td[1]/a[text() = "
<tal:block
tal:replace=
"node_title"
/>
"]
</td>
<td></td>
</tr>
</tal:block>
<tal:block
tal:repeat=
"node_title python: ('Organisation supplier', 'Person supplier', )"
>
<tr>
<td>
assertElementNotPresent
</td>
<td>
//div[@data-gadget-scope="field_listbox"]//tbody/tr/td[1]/a[text() = "
<tal:block
tal:replace=
"node_title"
/>
"]
</td>
<td></td>
</tr>
</tal:block>
<tr>
<td>
select
</td>
<td>
proxy_form_id_list
</td>
<td>
Organisations
</td>
</tr>
<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:repeat=
"node_title python: ('Organisation supplier', 'Organisation client', )"
>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[@data-gadget-scope="field_listbox"]//tbody/tr/td[1]/a[text() = "
<tal:block
tal:replace=
"node_title"
/>
"]
</td>
<td></td>
</tr>
</tal:block>
<tal:block
tal:repeat=
"node_title python: ('Person supplier', 'Person client')"
>
<tr>
<td>
assertElementNotPresent
</td>
<td>
//div[@data-gadget-scope="field_listbox"]//tbody/tr/td[1]/a[text() = "
<tal:block
tal:replace=
"node_title"
/>
"]
</td>
<td></td>
</tr>
</tal:block>
<tr>
<td>
select
</td>
<td>
proxy_form_id_list
</td>
<td>
Persons
</td>
</tr>
<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:repeat=
"node_title python: ('Person supplier', 'Person client')"
>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[@data-gadget-scope="field_listbox"]//tbody/tr/td[1]/a[text() = "
<tal:block
tal:replace=
"node_title"
/>
"]
</td>
<td></td>
</tr>
</tal:block>
<tal:block
tal:repeat=
"node_title python: ('Organisation supplier', 'Organisation client', )"
>
<tr>
<td>
assertElementNotPresent
</td>
<td>
//div[@data-gadget-scope="field_listbox"]//tbody/tr/td[1]/a[text() = "
<tal:block
tal:replace=
"node_title"
/>
"]
</td>
<td></td>
</tr>
</tal:block>
</tbody></table>
</body>
</html>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
bt5/erp5_trade_ui_test/PathTemplateItem/portal_tests/trade_zuite/testRelationFieldProxyListboxId.xml
0 → 100644
View file @
083d1aee
<?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>
testRelationFieldProxyListboxId
</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>
This diff is collapsed.
Click to expand it.
bt5/erp5_trade_ui_test/PathTemplateItem/portal_tests/trade_zuite/testRelationFieldProxyListboxId.zpt
0 → 100644
View file @
083d1aee
<html>
<head><title>
Test Proxy Listbox Ids on relation fields.
</title></head>
<body>
<table
cellpadding=
"1"
cellspacing=
"1"
border=
"1"
>
<thead>
<tr><td
rowspan=
"1"
colspan=
"4"
>
Test Proxy Listbox Ids on relation fields.
</td></tr>
</thead>
<tbody
tal:define=
"init_method string:Zuite_createSaleOrderForTradeZuite;"
>
<!-- Setup {{{ -->
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForTradeZuite/macros/init"
/>
<tr>
<td>
open
</td>
<td>
${base_url}/sale_order_module/erp5_trade_ui_test_sale_order_1
</td>
<td></td>
</tr>
<!-- }}} -->
<tr>
<td>
clickAndWait
</td>
<td>
//input[@name="field_my_source_title"]/../input[@alt="update..."]
</td>
<td></td>
</tr>
<tr>
<td>
assertSelected
</td>
<td>
select_dialog
</td>
<td>
All
</td>
</tr>
<tr>
<td>
assertTextNotPresent
</td>
<td>
Site Error
</td>
<td></td>
</tr>
<tr>
<td>
verifyPortalStatusMessage
</td>
<td>
Please select one object.
</td>
<td></td>
</tr>
<tr>
<td>
assertTextNotPresent
</td>
<td>
Site Error
</td>
<td></td>
</tr>
<tal:block
tal:repeat=
"node_title python: ('Organisation supplier', 'Organisation client', 'Person supplier', 'Person client')"
>
<tr>
<td>
assertElementPresent
</td>
<td>
//table[contains(@class, "listbox")]//tr/td[2]/a[text() = "
<tal:block
tal:replace=
"node_title"
/>
"]
</td>
<td></td>
</tr>
</tal:block>
<tr>
<td>
selectAndWait
</td>
<td>
select_dialog
</td>
<td>
Suppliers
</td>
</tr>
<tal:block
tal:repeat=
"node_title python: ('Organisation supplier', 'Person supplier', )"
>
<tr>
<td>
assertElementPresent
</td>
<td>
//table[contains(@class, "listbox")]//tr/td[2]/a[text() = "
<tal:block
tal:replace=
"node_title"
/>
"]
</td>
<td></td>
</tr>
</tal:block>
<tal:block
tal:repeat=
"node_title python: ('Organisation client', 'Person client')"
>
<tr>
<td>
assertElementNotPresent
</td>
<td>
//table[contains(@class, "listbox")]//tr/td[2]/a[text() = "
<tal:block
tal:replace=
"node_title"
/>
"]
</td>
<td></td>
</tr>
</tal:block>
<tr>
<td>
selectAndWait
</td>
<td>
select_dialog
</td>
<td>
Clients
</td>
</tr>
<tal:block
tal:repeat=
"node_title python: ('Organisation client', 'Person client')"
>
<tr>
<td>
assertElementPresent
</td>
<td>
//table[contains(@class, "listbox")]//tr/td[2]/a[text() = "
<tal:block
tal:replace=
"node_title"
/>
"]
</td>
<td></td>
</tr>
</tal:block>
<tal:block
tal:repeat=
"node_title python: ('Organisation supplier', 'Person supplier', )"
>
<tr>
<td>
assertElementNotPresent
</td>
<td>
//table[contains(@class, "listbox")]//tr/td[2]/a[text() = "
<tal:block
tal:replace=
"node_title"
/>
"]
</td>
<td></td>
</tr>
</tal:block>
<tr>
<td>
selectAndWait
</td>
<td>
select_dialog
</td>
<td>
Organisations
</td>
</tr>
<tal:block
tal:repeat=
"node_title python: ('Organisation supplier', 'Organisation client', )"
>
<tr>
<td>
assertElementPresent
</td>
<td>
//table[contains(@class, "listbox")]//tr/td[2]/a[text() = "
<tal:block
tal:replace=
"node_title"
/>
"]
</td>
<td></td>
</tr>
</tal:block>
<tal:block
tal:repeat=
"node_title python: ('Person supplier', 'Person client')"
>
<tr>
<td>
assertElementNotPresent
</td>
<td>
//table[contains(@class, "listbox")]//tr/td[2]/a[text() = "
<tal:block
tal:replace=
"node_title"
/>
"]
</td>
<td></td>
</tr>
</tal:block>
<tr>
<td>
selectAndWait
</td>
<td>
select_dialog
</td>
<td>
Persons
</td>
</tr>
<tal:block
tal:repeat=
"node_title python: ('Person supplier', 'Person client')"
>
<tr>
<td>
assertElementPresent
</td>
<td>
//table[contains(@class, "listbox")]//tr/td[2]/a[text() = "
<tal:block
tal:replace=
"node_title"
/>
"]
</td>
<td></td>
</tr>
</tal:block>
<tal:block
tal:repeat=
"node_title python: ('Organisation supplier', 'Organisation client', )"
>
<tr>
<td>
assertElementNotPresent
</td>
<td>
//table[contains(@class, "listbox")]//tr/td[2]/a[text() = "
<tal:block
tal:replace=
"node_title"
/>
"]
</td>
<td></td>
</tr>
</tal:block>
</tbody></table>
</body>
</html>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
bt5/erp5_trade_ui_test/SkinTemplateItem/portal_skins/erp5_trade_ui_test/Zuite_deleteDataForTradeZuite.py
View file @
083d1aee
...
...
@@ -4,6 +4,10 @@ object_value_list = [
getattr
(
portal
.
sale_order_module
,
'erp5_trade_ui_test_sale_order_1'
,
None
),
getattr
(
portal
.
organisation_module
,
'erp5_trade_ui_test_organisation_1'
,
None
),
getattr
(
portal
.
organisation_module
,
'erp5_trade_ui_test_organisation_2'
,
None
),
getattr
(
portal
.
organisation_module
,
'test_trade_ui_test_supplier'
,
None
),
getattr
(
portal
.
organisation_module
,
'test_trade_ui_test_client'
,
None
),
getattr
(
portal
.
person_module
,
'test_trade_ui_test_supplier'
,
None
),
getattr
(
portal
.
person_module
,
'test_trade_ui_test_client'
,
None
),
]
+
[
getattr
(
portal
.
getDefaultModule
(
portal_type
),
"erp5_trade_ui_test_trade_condition"
+
suffix
,
None
)
for
portal_type
in
(
"Internal Trade Condition"
,
"Purchase Trade Condition"
,
"Sale Trade Condition"
)
...
...
This diff is collapsed.
Click to expand it.
bt5/erp5_trade_ui_test/SkinTemplateItem/portal_skins/erp5_trade_ui_test/Zuite_resetForTradeZuite.py
View file @
083d1aee
portal
=
context
.
getPortalObject
()
# Reset selections
selection_tool
=
context
.
getPortalObject
()
.
portal_selections
selection_tool
=
portal
.
portal_selections
selection_tool
.
setSelectionFor
(
'sale_order_selection'
,
None
)
# Create role categories
role_base_category
=
portal
.
restrictedTraverse
(
'portal_categories/role'
)
for
role_id
,
role_title
in
(
(
'client'
,
'Client'
),
(
'supplier'
,
'Supplier'
)):
if
role_base_category
.
get
(
role_id
)
is
None
:
role_base_category
.
newContent
(
portal_type
=
'Category'
,
id
=
role_id
,
title
=
role_title
)
# Set system preferences
preference
=
portal
.
portal_preferences
.
getActiveSystemPreference
()
preference
.
setPreferredClientRoleList
([
'role/client'
])
preference
.
setPreferredSupplierRoleList
([
'role/supplier'
])
# Create some nodes
for
portal_type
in
(
'Person'
,
'Organisation'
):
for
role
in
(
'client'
,
'supplier'
):
portal
.
getDefaultModule
(
portal_type
).
newContent
(
id
=
'test_trade_ui_test_'
+
role
,
portal_type
=
portal_type
,
title
=
'%s %s'
%
(
portal_type
,
role
),
role_value
=
role_base_category
[
role
],
).
validate
()
return
"Reset Successfully."
This diff is collapsed.
Click to expand it.
product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_getRelatedObjectParameter.py
View file @
083d1aee
# This script is used in order to retrieve parameter in the listbox Displayed
# by Base_viewRelatedObjectList from the relation field
result
=
None
# This dialog can either display a generic listbox (Base_viewRelatedObjectList/listbox)
# that takes its configuration dynamically from the relation field configuration, or
# display listbox from "Proxy Listbox IDs".
# When using a listbox from "Proxy Listbox IDs", that listbox defines the configuration
# and have priority over the relation field configuration.
result
=
None
request
=
context
.
REQUEST
if
parameter
is
not
None
:
...
...
@@ -11,9 +17,18 @@ if parameter is not None:
form_id
=
request
.
get
(
'original_form_id'
,
None
)
\
or
request
.
get
(
'field_your_original_form_id'
,
None
)
\
or
request
.
get
(
'form_id'
)
listbox
=
getattr
(
context
,
form_id
).
get_field
(
field_id
)
dialog_id
=
listbox
.
get_value
(
'relation_form_id'
)
or
'Base_viewRelatedObjectList'
result
=
listbox
.
get_value
(
parameter
)
relation_field
=
getattr
(
context
,
form_id
).
get_field
(
field_id
)
dialog_id
=
relation_field
.
get_value
(
'relation_form_id'
)
or
'Base_viewRelatedObjectList'
# the listbox from "proxy listbox id"
proxied_listbox
=
None
relation_field_proxy_listbox
=
context
.
Base_getRelationFieldProxyListBoxId
()
if
relation_field_proxy_listbox
!=
\
'Base_viewRelatedObjectListBase/listbox'
:
proxied_listbox
=
context
.
restrictedTraverse
(
relation_field_proxy_listbox
,
None
)
result
=
relation_field
.
get_value
(
parameter
)
if
result
in
[
[],
(),
None
,
''
]:
if
parameter
==
'proxy_listbox_ids'
:
...
...
@@ -21,17 +36,15 @@ if parameter is not None:
if
parameter
!=
'parameter_list'
:
result
=
getattr
(
context
,
dialog_id
,
None
).
get_field
(
'listbox'
).
get_orig_value
(
parameter
)
if
parameter
==
'parameter_list'
:
if
proxied_listbox
is
None
:
return
result
return
proxied_listbox
.
get_value
(
'default_params'
)
if
parameter
==
'portal_type'
:
portal_type
=
listbox
.
get_value
(
'portal_type'
)
proxied_listbox
=
None
relation_field_proxy_listbox
=
context
.
Base_getRelationFieldProxyListBoxId
()
if
relation_field_proxy_listbox
!=
\
'Base_viewRelatedObjectListBase/listbox'
:
proxied_listbox
=
context
.
restrictedTraverse
(
relation_field_proxy_listbox
,
None
)
portal_type
=
relation_field
.
get_value
(
'portal_type'
)
if
proxied_listbox
is
None
:
return
portal_type
proxied_listbox_portal_type
=
proxied_listbox
.
get_value
(
'portal_types'
)
portal_type_first_item_list
=
[
x
[
0
]
for
x
in
portal_type
]
return
[
x
for
x
in
proxied_listbox_portal_type
if
x
[
0
]
in
portal_type_first_item_list
]
or
portal_type
...
...
This diff is collapsed.
Click to expand it.
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