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
Léo-Paul Géneau
erp5
Commits
c1529be7
Commit
c1529be7
authored
Jul 20, 2021
by
Xiaowu Zhang
Browse files
Options
Browse Files
Download
Plain Diff
erp5_web_renderjs_ui&test: allow anonymous access if has allowed list
See merge request
nexedi/erp5!1465
parents
e8e7f5d1
7bee2168
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
586 additions
and
3 deletions
+586
-3
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_xhtml_disabled/Base_checkUserCanViewERP5XHTMLStyleOrRaise.py
...ml_disabled/Base_checkUserCanViewERP5XHTMLStyleOrRaise.py
+3
-2
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_disable_xhtml_zuite.xml
...lateItem/portal_tests/renderjs_ui_disable_xhtml_zuite.xml
+26
-0
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_disable_xhtml_zuite/testDisableXHtmlStyle.xml
...renderjs_ui_disable_xhtml_zuite/testDisableXHtmlStyle.xml
+58
-0
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_disable_xhtml_zuite/testDisableXHtmlStyle.zpt
...renderjs_ui_disable_xhtml_zuite/testDisableXHtmlStyle.zpt
+315
-0
bt5/erp5_web_renderjs_ui_test/TestTemplateItem/portal_components/test.erp5.testFunctionalDisableXHtml.py
...portal_components/test.erp5.testFunctionalDisableXHtml.py
+47
-0
bt5/erp5_web_renderjs_ui_test/TestTemplateItem/portal_components/test.erp5.testFunctionalDisableXHtml.xml
...ortal_components/test.erp5.testFunctionalDisableXHtml.xml
+133
-0
bt5/erp5_web_renderjs_ui_test/bt/template_path_list
bt5/erp5_web_renderjs_ui_test/bt/template_path_list
+2
-0
bt5/erp5_web_renderjs_ui_test/bt/template_test_id_list
bt5/erp5_web_renderjs_ui_test/bt/template_test_id_list
+2
-1
No files found.
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_xhtml_disabled/Base_checkUserCanViewERP5XHTMLStyleOrRaise.py
View file @
c1529be7
...
...
@@ -5,6 +5,7 @@ preference_tool = context.getPortalObject().portal_preferences
if
preference_tool
.
isPreferredHtmlStyleDisabled
():
u
=
getSecurityManager
().
getUser
()
user_id
=
u
.
getId
()
if
user_id
not
in
preference_tool
.
getPreferredHtmlStyleAllowedUserIdList
():
allowed_user_id_list
=
preference_tool
.
getPreferredHtmlStyleAllowedUserIdList
()
#user is not in allowed list or anonymous access when allowed list is empty
if
(
user_id
and
user_id
not
in
allowed_user_id_list
)
or
(
not
user_id
and
not
allowed_user_id_list
):
raise
Forbidden
(
'xhtml_style is disabled. Please use ERP5JS'
)
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_disable_xhtml_zuite.xml
0 → 100644
View file @
c1529be7
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Zuite"
module=
"Products.Zelenium.zuite"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_objects
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
renderjs_ui_disable_xhtml_zuite
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_disable_xhtml_zuite/testDisableXHtmlStyle.xml
0 → 100644
View file @
c1529be7
<?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>
testDisableXHtmlStyle
</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_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_disable_xhtml_zuite/testDisableXHtmlStyle.zpt
0 → 100644
View file @
c1529be7
<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>
Test Disable Xhtml Style
</title>
</head>
<body>
<table
cellpadding=
"1"
cellspacing=
"1"
border=
"1"
>
<thead>
<tr><td
rowspan=
"1"
colspan=
"3"
>
Test Disable Xhtml Style
</td></tr>
</thead><tbody>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplate/macros/init"
/>
<tr>
<td>
openAndWait
</td>
<td>
${base_url}/ERP5Site_createPersonWhoHasPermissionToAccess
</td>
<td></td>
</tr>
<tr>
<td>
assertTextPresent
</td>
<td>
done
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplate/macros/wait_for_activities"
/>
<tr>
<td>
assertTextPresent
</td>
<td>
Done.
</td>
<td></td>
</tr>
<tr>
<td>
open
</td>
<td>
${base_url}/web_site_module/renderjs_runner/#/portal_preferences/default_system_preference
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//p[@id='field_my_translated_preference_state_title' and text()='Globally Enabled']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplate/Zuite_CommonTemplateForRenderjsUi/macros/toggle_editable_mode"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@value="default_system_preference"]
</td>
<td></td>
</tr>
<tal:block
tal:define=
"click_configuration python: {'text': 'XHTML'}"
>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_panel_link"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name='field_my_preferred_html_style_disabled']
</td>
<td></td>
</tr>
<tr>
<td>
check
</td>
<td>
//input[@name='field_my_preferred_html_style_disabled']
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//textarea[@name='field_my_preferred_html_style_allowed_user_id_list']
</td>
<td>
user_logout_test
</td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/save"
/>
<tal:block
tal:define=
"click_configuration python: {'text': 'Logout'}"
>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_panel_link"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@value='Confirm']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//input[@value='Confirm']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@value='Login']
</td>
<td></td>
</tr>
<tr>
<td>
openAndWait
</td>
<td>
${base_url}
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name='__ac_name']
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='__ac_name']
</td>
<td>
user_logout_test
</td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='__ac_password']
</td>
<td>
user_logout_test
</td>
</tr>
<tr>
<td>
clickAndWait
</td>
<td>
//input[@value='Login']
</td>
<td></td>
</tr>
<tr>
<td>
waitForTextPresent
</td>
<td>
Welcome to ERP5
</td>
<td></td>
</tr>
<tr>
<td>
open
</td>
<td>
${base_url}/web_site_module/renderjs_runner/#/portal_preferences/default_system_preference
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//p[@id='field_my_translated_preference_state_title' and text()='Globally Enabled']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplate/Zuite_CommonTemplateForRenderjsUi/macros/toggle_editable_mode"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@value="default_system_preference"]
</td>
<td></td>
</tr>
<tal:block
tal:define=
"click_configuration python: {'text': 'XHTML'}"
>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_panel_link"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//textarea[@name='field_my_preferred_html_style_allowed_user_id_list']
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//textarea[@name='field_my_preferred_html_style_allowed_user_id_list']
</td>
<td>
dummy
</td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/save"
/>
<tal:block
tal:define=
"click_configuration python: {'text': 'Logout'}"
>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_panel_link"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@value='Confirm']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//input[@value='Confirm']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@value='Login']
</td>
<td></td>
</tr>
<tr>
<td>
openAndWait
</td>
<td>
${base_url}
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name='__ac_name']
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='__ac_name']
</td>
<td>
user_logout_test
</td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='__ac_password']
</td>
<td>
user_logout_test
</td>
</tr>
<tr>
<td>
clickAndWait
</td>
<td>
//input[@value='Login']
</td>
<td></td>
</tr>
<tr>
<td>
waitForTextPresent
</td>
<td>
xhtml_style is disabled. Please use ERP5JS
</td>
<td></td>
</tr>
<tr>
<td>
open
</td>
<td>
${base_url}/web_site_module/renderjs_runner/#/portal_preferences/default_system_preference
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//p[@id='field_my_translated_preference_state_title' and text()='Globally Enabled']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplate/Zuite_CommonTemplateForRenderjsUi/macros/toggle_editable_mode"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@value="default_system_preference"]
</td>
<td></td>
</tr>
<tal:block
tal:define=
"click_configuration python: {'text': 'XHTML'}"
>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_panel_link"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//textarea[@name='field_my_preferred_html_style_allowed_user_id_list']
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//textarea[@name='field_my_preferred_html_style_allowed_user_id_list']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/save"
/>
<tal:block
tal:define=
"click_configuration python: {'text': 'Logout'}"
>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_panel_link"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@value='Confirm']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//input[@value='Confirm']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@value='Login']
</td>
<td></td>
</tr>
<tr>
<td>
openAndWait
</td>
<td>
${base_url}
</td>
<td></td>
</tr>
<tr>
<td>
waitForTextPresent
</td>
<td>
xhtml_style is disabled. Please use ERP5JS
</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
\ No newline at end of file
bt5/erp5_web_renderjs_ui_test/TestTemplateItem/portal_components/test.erp5.testFunctionalDisableXHtml.py
0 → 100644
View file @
c1529be7
##############################################################################
#
# Copyright (c) 2011 Nexedi SARL and Contributors. All Rights Reserved.
# Kazuhiko <kazuhiko@nexedi.com>
# Rafael Monnerat <rafael@nexedi.com>
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
import
unittest
from
Products.ERP5Type.tests.ERP5TypeFunctionalTestCase
import
ERP5TypeFunctionalTestCase
class
TestRenderJSUIServiceWorker
(
ERP5TypeFunctionalTestCase
):
foreground
=
0
run_only
=
"renderjs_ui_disable_xhtml_zuite"
def
getBusinessTemplateList
(
self
):
return
(
'erp5_web_renderjs_ui'
,
'erp5_web_renderjs_ui_test'
,
'erp5_ui_test_core'
,
)
def
test_suite
():
suite
=
unittest
.
TestSuite
()
suite
.
addTest
(
unittest
.
makeSuite
(
TestRenderJSUIServiceWorker
))
return
suite
\ No newline at end of file
bt5/erp5_web_renderjs_ui_test/TestTemplateItem/portal_components/test.erp5.testFunctionalDisableXHtml.xml
0 → 100644
View file @
c1529be7
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Test Component"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_recorded_property_dict
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
testFunctionalDisableXHtml
</string>
</value>
</item>
<item>
<key>
<string>
default_source_reference
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
test.erp5.testFunctionalDisableXHtml
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Test Component
</string>
</value>
</item>
<item>
<key>
<string>
sid
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
text_content_error_message
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
version
</string>
</key>
<value>
<string>
erp5
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<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>
validation_state
</string>
</key>
<value>
<string>
validated
</string>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_renderjs_ui_test/bt/template_path_list
View file @
c1529be7
...
...
@@ -4,6 +4,8 @@ portal_tests/renderjs_ui_date_time_field_zuite
portal_tests/renderjs_ui_date_time_field_zuite/**
portal_tests/renderjs_ui_developer_mode_zuite
portal_tests/renderjs_ui_developer_mode_zuite/**
portal_tests/renderjs_ui_disable_xhtml_zuite
portal_tests/renderjs_ui_disable_xhtml_zuite/**
portal_tests/renderjs_ui_dms_zuite
portal_tests/renderjs_ui_dms_zuite/**
portal_tests/renderjs_ui_editor_gadget_zuite
...
...
bt5/erp5_web_renderjs_ui_test/bt/template_test_id_list
View file @
c1529be7
...
...
@@ -27,4 +27,5 @@ test.erp5.testFunctionalRJSDms
test.erp5.testRJSPortalType
test.erp5.testRJSUpgrader
test.erp5.testFunctionalRJSServiceWorker
test.erp5.testFunctionalRJSParallelListField
\ No newline at end of file
test.erp5.testFunctionalRJSParallelListField
test.erp5.testFunctionalDisableXHtml
\ 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