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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Eteri
erp5
Commits
70d38eee
Commit
70d38eee
authored
Dec 16, 2019
by
Romain Courteaud
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[erp5_hal/web_renderjs_ui/officejs] Fix python coding style
parent
f3c57d2d
Changes
32
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
135 additions
and
158 deletions
+135
-158
bt5/erp5_hal_json_style/ExtensionTemplateItem/portal_components/extension.erp5.HalStyle.py
...TemplateItem/portal_components/extension.erp5.HalStyle.py
+1
-2
bt5/erp5_hal_json_style/ExtensionTemplateItem/portal_components/extension.erp5.HalStyle.xml
...emplateItem/portal_components/extension.erp5.HalStyle.xml
+21
-20
bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/Base_callDialogMethod.py
...portal_skins/erp5_hal_json_style/Base_callDialogMethod.py
+2
-7
bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/Base_edit.py
...emplateItem/portal_skins/erp5_hal_json_style/Base_edit.py
+4
-6
bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/Base_redirect.py
...ateItem/portal_skins/erp5_hal_json_style/Base_redirect.py
+3
-0
bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/Base_redirect.xml
...teItem/portal_skins/erp5_hal_json_style/Base_redirect.xml
+1
-1
bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/ERP5Document_getHateoas.py
...rtal_skins/erp5_hal_json_style/ERP5Document_getHateoas.py
+12
-19
bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/Workflow_statusModify.py
...portal_skins/erp5_hal_json_style/Workflow_statusModify.py
+1
-1
bt5/erp5_hal_json_style/TestTemplateItem/portal_components/test.erp5.testHalJsonStyle.py
...plateItem/portal_components/test.erp5.testHalJsonStyle.py
+13
-13
bt5/erp5_hal_json_style/TestTemplateItem/portal_components/test.erp5.testHalRestrictedJsonStyle.py
...portal_components/test.erp5.testHalRestrictedJsonStyle.py
+4
-4
bt5/erp5_hal_json_style/TestTemplateItem/portal_components/test.erp5.testHalRestrictedJsonStyle.xml
...ortal_components/test.erp5.testHalRestrictedJsonStyle.xml
+20
-16
bt5/erp5_officejs/SkinTemplateItem/portal_skins/erp5_officejs_common/Form_getFieldsRawProperties.py
...skins/erp5_officejs_common/Form_getFieldsRawProperties.py
+1
-1
bt5/erp5_officejs/SkinTemplateItem/portal_skins/erp5_officejs_common/StaticWebSite_getRedirectSourceUrlForOfficeJSApplication.py
...aticWebSite_getRedirectSourceUrlForOfficeJSApplication.py
+4
-4
bt5/erp5_officejs/SkinTemplateItem/portal_skins/erp5_web_officejs_ui/Base_createAppConfigurationManifest.py
...p5_web_officejs_ui/Base_createAppConfigurationManifest.py
+1
-2
bt5/erp5_officejs/TestTemplateItem/portal_components/test.erp5.testErp5Officejs.py
...plateItem/portal_components/test.erp5.testErp5Officejs.py
+0
-1
bt5/erp5_officejs/TestTemplateItem/portal_components/test.erp5.testErp5Officejs.xml
...lateItem/portal_components/test.erp5.testErp5Officejs.xml
+20
-16
bt5/erp5_officejs_appstore_base/SkinTemplateItem/portal_skins/erp5_officejs_appstore_base/SoftwareProduct_getRelatedWebSite.py
...ficejs_appstore_base/SoftwareProduct_getRelatedWebSite.py
+0
-2
bt5/erp5_officejs_appstore_base/SkinTemplateItem/portal_skins/erp5_officejs_appstore_base/SoftwareProduct_init.py
...skins/erp5_officejs_appstore_base/SoftwareProduct_init.py
+0
-1
bt5/erp5_officejs_appstore_base/SkinTemplateItem/portal_skins/erp5_officejs_appstore_base/SoftwareProduct_updateApplication.py
...ficejs_appstore_base/SoftwareProduct_updateApplication.py
+2
-2
bt5/erp5_officejs_appstore_base/SkinTemplateItem/portal_skins/erp5_officejs_appstore_base/SoftwarePublication_selectVersion.py
...ficejs_appstore_base/SoftwarePublication_selectVersion.py
+0
-3
bt5/erp5_officejs_appstore_base/SkinTemplateItem/portal_skins/erp5_officejs_appstore_base/SoftwarePublication_submitSoftwarePublication.py
...ore_base/SoftwarePublication_submitSoftwarePublication.py
+2
-2
bt5/erp5_officejs_appstore_base/SkinTemplateItem/portal_skins/erp5_officejs_appstore_base/SoftwareRelease_publishRelatedWebDocument.py
...ppstore_base/SoftwareRelease_publishRelatedWebDocument.py
+0
-1
bt5/erp5_officejs_appstore_base/SkinTemplateItem/portal_skins/erp5_officejs_appstore_base/WebManifest_createCloneFile.py
...rp5_officejs_appstore_base/WebManifest_createCloneFile.py
+0
-2
bt5/erp5_officejs_appstore_base/WorkflowTemplateItem/portal_workflow/officejs_software_publication_workflow/scripts/checkConsistency.py
...software_publication_workflow/scripts/checkConsistency.py
+2
-2
bt5/erp5_officejs_support_request_ui/SkinTemplateItem/portal_skins/erp5_officejs_support_request/PostModule_createHTMLPostForSupportRequest.py
...ort_request/PostModule_createHTMLPostForSupportRequest.py
+0
-1
bt5/erp5_officejs_support_request_ui/SkinTemplateItem/portal_skins/erp5_officejs_support_request/SupportRequestModule_generateRSSLinkAsJson.py
...ort_request/SupportRequestModule_generateRSSLinkAsJson.py
+0
-1
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs/Base_createTranslateData.py
...ortal_skins/erp5_web_renderjs/Base_createTranslateData.py
+0
-5
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs/Base_getListFileFromAppcache.py
...l_skins/erp5_web_renderjs/Base_getListFileFromAppcache.py
+15
-16
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/File_viewAsWeb.py
...eItem/portal_skins/erp5_web_renderjs_ui/File_viewAsWeb.py
+4
-4
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/WebSection_renderDefaultPageAsGadget.py
...5_web_renderjs_ui/WebSection_renderDefaultPageAsGadget.py
+1
-1
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/WebSite_logout.py
...eItem/portal_skins/erp5_web_renderjs_ui/WebSite_logout.py
+0
-1
bt5/erp5_web_renderjs_ui_test/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui_test/ERP5Site_createPersonToAskAccountRecover.py
...derjs_ui_test/ERP5Site_createPersonToAskAccountRecover.py
+1
-1
No files found.
bt5/erp5_hal_json_style/ExtensionTemplateItem/portal_components/extension.erp5.HalStyle.py
View file @
70d38eee
...
...
@@ -2,7 +2,6 @@ from Acquisition import aq_self, aq_base, aq_inner
from
Products.ERP5Type.Utils
import
UpperCase
from
ZODB.POSException
import
ConflictError
from
AccessControl
import
Unauthorized
from
Products.ZSQLCatalog.zsqlbrain
import
ZSQLBrain
def
Base_aqSelf
(
self
):
...
...
@@ -68,7 +67,7 @@ def Listbox_getBrainValue(self, brain, obj, select, can_check_local_property, ed
default_field_value
=
default_field_value
()
except
(
ConflictError
,
RuntimeError
):
raise
except
:
except
Exception
:
default_field_value
=
None
# Listbox.py forces result to be an empty string
...
...
bt5/erp5_hal_json_style/ExtensionTemplateItem/portal_components/extension.erp5.HalStyle.xml
View file @
70d38eee
...
...
@@ -45,10 +45,7 @@
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<tuple>
<string>
W: 71, 4: No exception type(s) specified (bare-except)
</string>
<string>
W: 5, 0: Unused ZSQLBrain imported from Products.ZSQLCatalog.zsqlbrain (unused-import)
</string>
</tuple>
<tuple/>
</value>
</item>
<item>
...
...
@@ -103,24 +100,28 @@
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.
patches.WorkflowTool
"
/>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.
Workflow
"
/>
</pickle>
<pickle>
<tuple>
<none/>
<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>
</tuple>
<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_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/Base_callDialogMethod.py
View file @
70d38eee
...
...
@@ -12,13 +12,10 @@ There are runtime values hidden in every dialog form (injected by getHateoas Scr
extra_param_json - JSON serialized extra parameters for the dialog script
"""
from
Products.ERP5Type.Log
import
log
,
DEBUG
,
INFO
,
WARNING
,
ERROR
from
Products.Formulator.Errors
import
FormValidationError
,
ValidationError
from
ZTUtils
import
make_query
from
Products.ERP5Type.Log
import
log
,
WARNING
from
Products.Formulator.Errors
import
FormValidationError
import
json
DOCUMENT_COUNT_LIMIT
=
50
# http://stackoverflow.com/a/13105359
def
byteify
(
value
):
if
isinstance
(
value
,
dict
):
...
...
@@ -53,7 +50,6 @@ else:
# request.form holds POST data thus containing 'field_' + field.id items
# such as 'field_your_some_field'
request_form
=
request
.
form
error_message
=
''
translate
=
context
.
Base_translateString
portal
=
context
.
getPortalObject
()
...
...
@@ -161,7 +157,6 @@ except FormValidationError as validation_errors:
MARKER
=
[]
# A recognisable default value. Use with 'is', not '=='.
listbox_id_list
=
[]
# There should not be more than one listbox - but this give us a way to check.
file_id_list
=
[]
# For uploaded files.
for
field
in
form
.
get_fields
():
field_id
=
field
.
id
field_value
=
request
.
get
(
field_id
,
MARKER
)
...
...
bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/Base_edit.py
View file @
70d38eee
...
...
@@ -141,10 +141,10 @@ def editMatrixBox(matrixbox_field, matrixbox):
columns
=
matrixbox_field
.
get_value
(
'columns'
)
tabs
=
matrixbox_field
.
get_value
(
'tabs'
)
column_ids
=
map
(
lambda
x
:
x
[
0
],
columns
)
line_ids
=
map
(
lambda
x
:
x
[
0
],
lines
)
tab_ids
=
map
(
lambda
x
:
x
[
0
],
tabs
)
extra_dimension_category_list_list
=
[[
category
for
category
,
label
in
dimension_list
]
for
dimension_list
in
extra_dimension_list_list
]
column_ids
=
[
x
[
0
]
for
x
in
columns
]
line_ids
=
[
x
[
0
]
for
x
in
lines
]
tab_ids
=
[
x
[
0
]
for
x
in
tabs
]
extra_dimension_category_list_list
=
[[
category
for
category
,
_
in
dimension_list
]
for
dimension_list
in
extra_dimension_list_list
]
# There are 3 cases
# Case 1: we do 1 dimensional matrix
...
...
@@ -247,8 +247,6 @@ spp = context.getPhysicalPath()
spp
=
list
(
spp
)
s_url
=
request
[
"SERVER_URL"
]
spp
.
insert
(
0
,
s_url
)
#calculate direct the url instead of using absolute_url
new_url
=
'/'
.
join
(
spp
)
# for web mode, we should use 'view' instead of passed form_id
# after 'Save & View'.
...
...
bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/Base_redirect.py
View file @
70d38eee
...
...
@@ -7,6 +7,9 @@ from zExceptions import Redirect
from
ZTUtils
import
make_query
import
json
if
keep_items
is
None
:
keep_items
=
{}
request_form
=
context
.
REQUEST
.
form
previous_form_id
=
request_form
.
get
(
'form_id'
,
''
)
request_form
.
update
(
kw
)
...
...
bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/Base_redirect.xml
View file @
70d38eee
...
...
@@ -50,7 +50,7 @@
</item>
<item>
<key>
<string>
_params
</string>
</key>
<value>
<string>
form_id=\'view\', keep_items=
{}
, abort_transaction=False, **kw
</string>
</value>
<value>
<string>
form_id=\'view\', keep_items=
None
, abort_transaction=False, **kw
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
...
...
bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/ERP5Document_getHateoas.py
View file @
70d38eee
...
...
@@ -54,17 +54,18 @@ from DateTime import DateTime
from
ZODB.POSException
import
ConflictError
import
datetime
import
time
from
email.
U
tils
import
formatdate
from
email.
u
tils
import
formatdate
import
re
from
zExceptions
import
Unauthorized
from
Products.ERP5Type.Log
import
log
,
DEBUG
,
INFO
,
WARNING
,
ERROR
from
Products.ERP5Type.Log
import
log
,
WARNING
,
ERROR
from
Products.ERP5Type.Message
import
Message
from
Products.ERP5Type.Utils
import
UpperCase
from
Products.ZSQLCatalog.SQLCatalog
import
Query
,
ComplexQuery
from
collections
import
OrderedDict
from
Products.ERP5Form.Selection
import
Selection
from
Products.PythonScripts.standard
import
Object
MARKER
=
Object
()
MARKER
=
[]
COUNT_LIMIT
=
1000
if
REQUEST
is
None
:
...
...
@@ -77,12 +78,6 @@ if response is None:
response
=
REQUEST
.
RESPONSE
def
isFieldType
(
field
,
type_name
):
if
field
.
meta_type
==
'ProxyField'
:
field
=
field
.
getRecursiveTemplateField
()
return
field
.
meta_type
==
type_name
def
toBasicTypes
(
obj
):
"""Ensure that obj contains only basic types."""
if
obj
is
None
:
...
...
@@ -97,7 +92,7 @@ def toBasicTypes(obj):
return
obj
.
translate
()
try
:
return
{
toBasicTypes
(
key
):
toBasicTypes
(
obj
[
key
])
for
key
in
obj
}
except
:
except
Exception
:
log
(
'Cannot convert {!s} to basic types {!s}'
.
format
(
type
(
obj
),
obj
),
level
=
100
)
return
obj
...
...
@@ -246,7 +241,7 @@ def selectKwargsForCallable(func, initial_kwargs, kwargs_dict):
if
script_params
is
not
None
:
# In case the func is actualy Script (Python) or ERP5 Python Script
func_param_list
=
[
tuple
(
map
(
lambda
x
:
x
.
strip
(),
func_param
.
split
(
'='
))
)
func_param_list
=
[
tuple
(
[
x
.
strip
()
for
x
in
func_param
.
split
(
'='
)]
)
for
func_param
in
script_params
.
split
(
","
)
if
func_param
.
strip
()]
elif
hasattr
(
func
,
"func_args"
):
...
...
@@ -414,7 +409,7 @@ def renderField(traversed_document, field, form, value=MARKER, meta_type=None, k
# this listbox expects field_id to point to the "parent" relation field
# thus setting the field_id is optional and controlled by `request_field` argument
if
request_field
:
previous_request_field
=
REQUEST
.
other
.
pop
(
'field_id'
,
None
)
#
previous_request_field = REQUEST.other.pop('field_id', None)
REQUEST
.
other
[
'field_id'
]
=
field
.
id
if
meta_type
is
None
:
...
...
@@ -940,7 +935,6 @@ def renderForm(traversed_document, form, response_dict, key_prefix=None, selecti
proxy_form_id_list
=
[(
'Base_viewRelatedObjectListBase/listbox'
,
'default'
)]
# Create the possible choices
root_url
=
site_root
.
absolute_url
()
renderHiddenField
(
response_dict
,
"proxy_form_id_list"
,
''
)
response_dict
[
"proxy_form_id_list"
].
update
({
"items"
:
[(
Base_translateString
(
y
),
url_template_dict
[
'traverse_generator_action'
]
%
{
...
...
@@ -1403,7 +1397,7 @@ def calculateHateoas(is_portal=None, is_site_root=None, traversed_document=None,
'href'
:
'%s'
%
view_action
[
'url'
],
'name'
:
view_action
[
'id'
],
'icon'
:
view_action
[
'icon'
],
'title'
:
Base_translateString
(
view_action
[
'title'
])
'title'
:
Base_translateString
(
view_action
[
'title'
])
,
})
global_action_type
=
(
"view"
,
"workflow"
,
"object_new_content_action"
,
...
...
@@ -1549,7 +1543,6 @@ def calculateHateoas(is_portal=None, is_site_root=None, traversed_document=None,
}
elif
relative_url
==
'portal_preferences'
:
preference_tool
=
portal
.
portal_preferences
preference
=
traversed_document
.
getActiveUserPreference
()
if
preference
:
result_dict
[
'_links'
][
'active_preference'
]
=
{
...
...
@@ -1998,7 +1991,7 @@ def calculateHateoas(is_portal=None, is_site_root=None, traversed_document=None,
selection
=
catalog_kw
[
'selection'
],
selection_name
=
catalog_kw
[
'selection_name'
],
column_id
=
select
)
except
AttributeError
as
e
:
except
AttributeError
:
# In case the URL method is invalid or empty, we expect to have no link
# for the column to maintain compatibility with old UI, hence we create
# an empty url_parameter_dict for these cases.
...
...
@@ -2019,7 +2012,7 @@ def calculateHateoas(is_portal=None, is_site_root=None, traversed_document=None,
)
except
(
ConflictError
,
RuntimeError
):
raise
except
:
except
Exception
:
log
(
'could not evaluate the url method getListItemUrlDict with %r'
%
brain
,
level
=
800
)
...
...
bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/Workflow_statusModify.py
View file @
70d38eee
...
...
@@ -2,7 +2,7 @@ from Products.CMFCore.WorkflowCore import WorkflowException
from
Products.Formulator.Errors
import
FormValidationError
from
Products.DCWorkflow.DCWorkflow
import
ValidationFailed
from
Products.ERP5Type.Message
import
translateString
from
Products.ERP5Type.Log
import
log
,
WARNING
from
Products.ERP5Type.Log
import
WARNING
portal
=
context
.
getPortalObject
()
request
=
REQUEST
or
context
.
REQUEST
...
...
bt5/erp5_hal_json_style/TestTemplateItem/portal_components/test.erp5.testHalJsonStyle.py
View file @
70d38eee
...
...
@@ -140,20 +140,20 @@ def do_fake_request(request_method, headers=None, data=()):
def
replace_request
(
new_request
,
context
):
base_chain
=
[
aq_base
(
x
)
for
x
in
context
.
aq_chain
]
# Grab existig request (last chain item) and create a copy.
request_container
=
base_chain
.
pop
()
# request = request_container.REQUEST
base_chain
=
[
aq_base
(
x
)
for
x
in
context
.
aq_chain
]
# Grab existig request (last chain item) and create a copy.
request_container
=
base_chain
.
pop
()
# request = request_container.REQUEST
setRequest
(
new_request
)
setRequest
(
new_request
)
new_request_container
=
request_container
.
__class__
(
REQUEST
=
new_request
)
# Recreate acquisition chain.
my_self
=
new_request_container
base_chain
.
reverse
()
for
item
in
base_chain
:
my_self
=
item
.
__of__
(
my_self
)
return
my_self
new_request_container
=
request_container
.
__class__
(
REQUEST
=
new_request
)
# Recreate acquisition chain.
my_self
=
new_request_container
base_chain
.
reverse
()
for
item
in
base_chain
:
my_self
=
item
.
__of__
(
my_self
)
return
my_self
from
Products.ERP5Type.tests.ERP5TypeTestCase
import
ERP5TypeTestCase
...
...
@@ -2151,7 +2151,7 @@ return context.getPortalObject().portal_catalog(portal_type='Foo', sort_on=[('id
# Create the listbox selection
fake_request
=
do_fake_request
(
"GET"
)
result
=
self
.
portal
.
web_site_module
.
hateoas
.
ERP5Document_getHateoas
(
self
.
portal
.
web_site_module
.
hateoas
.
ERP5Document_getHateoas
(
REQUEST
=
fake_request
,
mode
=
"search"
,
local_roles
=
[
"Manager"
],
...
...
bt5/erp5_hal_json_style/TestTemplateItem/portal_components/test.erp5.testHalRestrictedJsonStyle.py
View file @
70d38eee
...
...
@@ -10,7 +10,7 @@ class TestHalRestricted(ERP5HALJSONStyleSkinsMixin):
def
test_mode_root
(
self
):
fake_request
=
do_fake_request
(
"GET"
)
self
.
logout
()
result
=
self
.
portal
.
web_site_module
.
hateoas
.
ERP5Document_getHateoas
(
REQUEST
=
fake_request
)
self
.
portal
.
web_site_module
.
hateoas
.
ERP5Document_getHateoas
(
REQUEST
=
fake_request
)
self
.
assertEquals
(
fake_request
.
RESPONSE
.
status
,
401
)
self
.
assertEquals
(
fake_request
.
RESPONSE
.
getHeader
(
'WWW-Authenticate'
),
'X-Delegate uri="%s/connection/login_form{?came_from}"'
%
self
.
portal
.
web_site_module
.
hateoas
.
absolute_url
()
...
...
@@ -25,7 +25,7 @@ class TestHalRestricted(ERP5HALJSONStyleSkinsMixin):
document_relative_url
=
self
.
_makeDocument
().
getRelativeUrl
()
fake_request
=
do_fake_request
(
"GET"
)
self
.
logout
()
result
=
self
.
portal
.
web_site_module
.
hateoas
.
ERP5Document_getHateoas
(
REQUEST
=
fake_request
,
mode
=
"traverse"
,
relative_url
=
document_relative_url
)
self
.
portal
.
web_site_module
.
hateoas
.
ERP5Document_getHateoas
(
REQUEST
=
fake_request
,
mode
=
"traverse"
,
relative_url
=
document_relative_url
)
self
.
assertEquals
(
fake_request
.
RESPONSE
.
status
,
401
)
self
.
assertEquals
(
fake_request
.
RESPONSE
.
getHeader
(
'WWW-Authenticate'
),
'X-Delegate uri="%s/connection/login_form{?came_from}"'
%
self
.
portal
.
web_site_module
.
hateoas
.
absolute_url
()
...
...
@@ -39,7 +39,7 @@ class TestHalRestricted(ERP5HALJSONStyleSkinsMixin):
def
test_mode_search
(
self
):
fake_request
=
do_fake_request
(
"GET"
)
self
.
logout
()
result
=
self
.
portal
.
web_site_module
.
hateoas
.
ERP5Document_getHateoas
(
REQUEST
=
fake_request
,
mode
=
"search"
)
self
.
portal
.
web_site_module
.
hateoas
.
ERP5Document_getHateoas
(
REQUEST
=
fake_request
,
mode
=
"search"
)
self
.
assertEquals
(
fake_request
.
RESPONSE
.
status
,
401
)
self
.
assertEquals
(
fake_request
.
RESPONSE
.
getHeader
(
'WWW-Authenticate'
),
'X-Delegate uri="%s/connection/login_form{?came_from}"'
%
self
.
portal
.
web_site_module
.
hateoas
.
absolute_url
()
...
...
@@ -53,7 +53,7 @@ class TestHalRestricted(ERP5HALJSONStyleSkinsMixin):
def
test_mode_worklist
(
self
):
fake_request
=
do_fake_request
(
"GET"
)
self
.
logout
()
result
=
self
.
portal
.
web_site_module
.
hateoas
.
ERP5Document_getHateoas
(
REQUEST
=
fake_request
,
mode
=
"worklist"
)
self
.
portal
.
web_site_module
.
hateoas
.
ERP5Document_getHateoas
(
REQUEST
=
fake_request
,
mode
=
"worklist"
)
self
.
assertEquals
(
fake_request
.
RESPONSE
.
status
,
401
)
self
.
assertEquals
(
fake_request
.
RESPONSE
.
getHeader
(
'WWW-Authenticate'
),
'X-Delegate uri="%s/connection/login_form{?came_from}"'
%
self
.
portal
.
web_site_module
.
hateoas
.
absolute_url
()
...
...
bt5/erp5_hal_json_style/TestTemplateItem/portal_components/test.erp5.testHalRestrictedJsonStyle.xml
View file @
70d38eee
...
...
@@ -100,24 +100,28 @@
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.
patches.WorkflowTool
"
/>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.
Workflow
"
/>
</pickle>
<pickle>
<tuple>
<none/>
<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>
</tuple>
<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_officejs/SkinTemplateItem/portal_skins/erp5_officejs_common/Form_getFieldsRawProperties.py
View file @
70d38eee
...
...
@@ -23,7 +23,7 @@ def getFieldRawProperties(field, meta_type=None, key=None, key_prefix=None):
gadget_field_patch
=
False
for
key
in
field
.
values
.
keys
():
# sometimes, field.values returns a key as string and also as a tuple
if
type
(
key
)
is
str
:
if
isinstance
(
key
,
str
)
:
result
[
"values"
][
key
]
=
field
.
values
[
key
]
if
key
==
"columns"
:
form_list_patch
=
True
...
...
bt5/erp5_officejs/SkinTemplateItem/portal_skins/erp5_officejs_common/StaticWebSite_getRedirectSourceUrlForOfficeJSApplication.py
View file @
70d38eee
...
...
@@ -19,11 +19,11 @@ except KeyError:
return
result_dict
try
:
encoded
=
name
.
replace
(
"definition_view/"
,
""
,
1
)
name
=
base64
.
decodestring
(
encoded
)
base_64
=
True
encoded
=
name
.
replace
(
"definition_view/"
,
""
,
1
)
name
=
base64
.
decodestring
(
encoded
)
base_64
=
True
except
binascii
.
Error
:
pass
pass
if
name
.
startswith
(
"definition_view/"
)
or
name
.
startswith
(
"portal_types/"
)
or
base_64
:
relative_url
=
name
.
replace
(
"%2F"
,
"/"
).
replace
(
"%20"
,
" "
)
...
...
bt5/erp5_officejs/SkinTemplateItem/portal_skins/erp5_web_officejs_ui/Base_createAppConfigurationManifest.py
View file @
70d38eee
import
re
import
json
import
base64
from
datetime
import
datetime
...
...
@@ -65,7 +64,7 @@ try:
app_action_string
=
app_action_string
.
replace
(
'('
,
'['
).
replace
(
')'
,
']'
).
replace
(
',]'
,
']'
).
replace
(
"'"
,
'"'
)
app_action_raw_list
=
json
.
loads
(
app_action_string
)
for
app_action
in
app_action_raw_list
:
pair
=
app_action
.
split
(
" | "
)
;
pair
=
app_action
.
split
(
" | "
)
if
len
(
pair
)
!=
2
:
raise
SyntaxError
(
"Syntax error in app_action router setting"
)
app_action_list
.
append
(
pair
)
...
...
bt5/erp5_officejs/TestTemplateItem/portal_components/test.erp5.testErp5Officejs.py
View file @
70d38eee
# Copyright (c) 2002-2017 Nexedi SA and Contributors. All Rights Reserved.
from
DateTime
import
DateTime
from
Products.ERP5Type.tests.ERP5TypeTestCase
import
ERP5TypeTestCase
from
base64
import
b64decode
...
...
bt5/erp5_officejs/TestTemplateItem/portal_components/test.erp5.testErp5Officejs.xml
View file @
70d38eee
...
...
@@ -100,24 +100,28 @@
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.
patches.WorkflowTool
"
/>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.
Workflow
"
/>
</pickle>
<pickle>
<tuple>
<none/>
<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>
</tuple>
<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_officejs_appstore_base/SkinTemplateItem/portal_skins/erp5_officejs_appstore_base/SoftwareProduct_getRelatedWebSite.py
View file @
70d38eee
return
context
.
getFollowUpValue
(
portal_type
=
"Web Section"
)
raise
ValueError
(
"Unimplemented"
)
bt5/erp5_officejs_appstore_base/SkinTemplateItem/portal_skins/erp5_officejs_appstore_base/SoftwareProduct_init.py
View file @
70d38eee
# Define Reference from ID provided by portal_ids
portal
=
context
.
getPortalObject
()
type_definition
=
context
.
getTypeInfo
()
# XXX Hardcoded
short_portal_type
=
"OSP"
...
...
bt5/erp5_officejs_appstore_base/SkinTemplateItem/portal_skins/erp5_officejs_appstore_base/SoftwareProduct_updateApplication.py
View file @
70d38eee
...
...
@@ -38,7 +38,7 @@ software_release = portal.software_release_module.newContent(
)
# Create Software Publication Line
software_publication
_line
=
software_publication
.
newContent
(
software_publication
.
newContent
(
portal_type
=
"Software Publication Line"
,
title
=
software_publication
.
getTitle
()
+
" Publication"
,
aggregate_list
=
[
software_release
.
getRelativeUrl
(),
software_product
.
getSaleSupplyLineAggregate
()],
...
...
@@ -46,7 +46,7 @@ software_publication_line = software_publication.newContent(
activate_kw
=
{
"tag"
:
tag
}
)
zip_file
=
software_publication
.
Base_contribute
(
software_publication
.
Base_contribute
(
file
=
file
,
attach_document_to_context
=
True
,
portal_type
=
"File"
,
...
...
bt5/erp5_officejs_appstore_base/SkinTemplateItem/portal_skins/erp5_officejs_appstore_base/SoftwarePublication_selectVersion.py
View file @
70d38eee
REQUEST
=
context
.
REQUEST
RESPONSE
=
REQUEST
.
RESPONSE
software_release
=
context
.
SoftwarePublication_getRelatedSoftwareRelease
()
software_release
.
SoftwareRelease_publishRelatedWebDocument
()
message
=
context
.
getTitle
()
+
" Published"
...
...
bt5/erp5_officejs_appstore_base/SkinTemplateItem/portal_skins/erp5_officejs_appstore_base/SoftwarePublication_submitSoftwarePublication.py
View file @
70d38eee
...
...
@@ -54,8 +54,8 @@ if base:
base
+=
"/"
base_length
=
len
(
base
)
def
extractWebManifest
(
file
):
html
=
context
.
Base_parseHtml
(
file
)
def
extractWebManifest
(
html_
file
):
html
=
context
.
Base_parseHtml
(
html_
file
)
for
tag
in
html
:
if
tag
[
0
]
==
'starttag'
and
tag
[
1
]
==
'link'
and
(
'rel'
,
'manifest'
)
in
tag
[
2
]:
for
attribute
in
tag
[
2
]:
...
...
bt5/erp5_officejs_appstore_base/SkinTemplateItem/portal_skins/erp5_officejs_appstore_base/SoftwareRelease_publishRelatedWebDocument.py
View file @
70d38eee
portal
=
context
.
getPortalObject
()
software_release
=
context
software_product
=
context
.
getFollowUpValue
(
portal_type
=
"Software Product"
)
...
...
bt5/erp5_officejs_appstore_base/SkinTemplateItem/portal_skins/erp5_officejs_appstore_base/WebManifest_createCloneFile.py
View file @
70d38eee
from
random
import
randint
portal
=
context
.
getPortalObject
()
# Get Software Product Object
...
...
bt5/erp5_officejs_appstore_base/WorkflowTemplateItem/portal_workflow/officejs_software_publication_workflow/scripts/checkConsistency.py
View file @
70d38eee
obj
ect
=
state_change
[
'object'
]
obj
ect
.
Base_checkConsistency
()
obj
=
state_change
[
'object'
]
obj
.
Base_checkConsistency
()
bt5/erp5_officejs_support_request_ui/SkinTemplateItem/portal_skins/erp5_officejs_support_request/PostModule_createHTMLPostForSupportRequest.py
View file @
70d38eee
from
Products.ERP5Type.Message
import
translateString
portal
=
context
.
getPortalObject
()
follow_up_value
=
portal
.
restrictedTraverse
(
follow_up
)
assert
follow_up_value
.
getPortalType
()
==
"Support Request"
...
...
bt5/erp5_officejs_support_request_ui/SkinTemplateItem/portal_skins/erp5_officejs_support_request/SupportRequestModule_generateRSSLinkAsJson.py
View file @
70d38eee
from
zExceptions
import
Unauthorized
import
json
absolute_url
=
context
.
absolute_url
()
...
...
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs/Base_createTranslateData.py
View file @
70d38eee
...
...
@@ -3,15 +3,10 @@ import json
portal
=
context
.
getPortalObject
()
Base_translateString
=
context
.
Base_translateString
#(data-i18n)=["']{{((?:.(?!["']?(?:\S+)=|[>"']))+.)}}["']
attribute_filter_re
=
re
.
compile
(
r"""(data-i18n)=["']?((?:.(?!["']?\
s+(?:
\S+)=|[>"']))+.)["']?"""
)
tmp_re
=
re
.
compile
(
r"""/[{}]/g, """""
)
translate_word
=
[]
for
web_page
in
portal
.
web_page_module
.
searchFolder
(
portal_type
=
'Web Page'
,
...
...
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs/Base_getListFileFromAppcache.py
View file @
70d38eee
appcache_
fil
e
=
context
.
getLayoutProperty
(
"configuration_manifest_url"
,
default
=
"gadget_erp5.appcache"
)
appcache_
referenc
e
=
context
.
getLayoutProperty
(
"configuration_manifest_url"
,
default
=
"gadget_erp5.appcache"
)
text_content
=
context
.
getPortalObject
().
portal_catalog
.
getResultValue
(
portal_type
=
'Web Manifest'
,
reference
=
appcache_reference
).
getTextContent
()
text_content
=
context
.
web_page_module
.
searchFolder
(
portal_type
=
'Web Manifest'
,
reference
=
appcache_file
)[
0
].
getTextContent
()
translation_data_file
=
[]
file_list
=
[]
for
file
in
text_content
.
split
(
'
\
n
'
):
file
=
file
.
split
(
'/'
)[
-
1
]
if
file
.
endswith
(
'.html'
):
file_list
.
append
(
file
)
translation_data_url_list
=
[]
url_list
=
[]
for
text_line
in
text_content
.
split
(
'
\
n
'
):
text_line
=
text_line
.
split
(
'/'
)[
-
1
]
if
text_line
.
endswith
(
'.html'
):
url_list
.
append
(
text_line
)
continue
if
fil
e
.
endswith
(
'.js'
)
and
not
only_html
:
if
fil
e
.
endswith
(
'translation_data.js'
):
translation_data_
file
=
[
fil
e
]
if
text_lin
e
.
endswith
(
'.js'
)
and
not
only_html
:
if
text_lin
e
.
endswith
(
'translation_data.js'
):
translation_data_
url_list
=
[
text_lin
e
]
continue
file_list
.
append
(
fil
e
)
return
translation_data_
file
+
file
_list
url_list
.
append
(
text_lin
e
)
return
translation_data_
url_list
+
url
_list
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/File_viewAsWeb.py
View file @
70d38eee
...
...
@@ -3,8 +3,8 @@ if REQUEST is None:
if
response
is
None
:
response
=
REQUEST
.
RESPONSE
file
=
context
file_content
=
file
.
getData
()
file
_document
=
context
file_content
=
file
_document
.
getData
()
# The vanilla HTML is wanted
response
.
setBase
(
None
)
...
...
@@ -12,7 +12,7 @@ response.setBase(None)
# Allow any external app to download the source code
response
.
setHeader
(
"Access-Control-Allow-Origin"
,
"*"
)
if
REQUEST
.
getHeader
(
'If-Modified-Since'
,
''
)
==
file
.
getModificationDate
().
rfc822
():
if
REQUEST
.
getHeader
(
'If-Modified-Since'
,
''
)
==
file
_document
.
getModificationDate
().
rfc822
():
response
.
setStatus
(
304
)
return
""
...
...
@@ -20,6 +20,6 @@ if REQUEST.getHeader('If-Modified-Since', '') == file.getModificationDate().rfc8
#if file_content_type is None:
# file_content_type = 'application/octet-stream'
response
.
setHeader
(
'Content-Type'
,
(
file
.
getContentType
()
or
'application/octet-stream'
))
response
.
setHeader
(
'Content-Type'
,
(
file
_document
.
getContentType
()
or
'application/octet-stream'
))
return
file_content
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/WebSection_renderDefaultPageAsGadget.py
View file @
70d38eee
...
...
@@ -89,6 +89,6 @@ else:
background-attachment: fixed;
background-image: url("%s");
}
"""
%
wallpaper_url
)
;
"""
%
wallpaper_url
)
return
view_as_web_method
(
mapping_dict
=
mapping_dict
)
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/WebSite_logout.py
View file @
70d38eee
"""
Default logout handler, overwritten to give website specific portal status message.
"""
website
=
context
.
getWebSiteValue
()
REQUEST
=
context
.
REQUEST
if
REQUEST
.
has_key
(
'portal_skin'
):
context
.
portal_skins
.
clearSkinCookie
()
...
...
bt5/erp5_web_renderjs_ui_test/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui_test/ERP5Site_createPersonToAskAccountRecover.py
View file @
70d38eee
alpha
=
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
new_password
=
''
.
join
([
random
.
choice
(
alpha
)
for
i
in
range
(
10
)])
new_password
=
''
.
join
([
random
.
choice
(
alpha
)
for
_
in
range
(
10
)])
person_module
=
context
.
getPortalObject
().
person_module
user_id
=
"user_a_test"
...
...
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