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
Labels
Merge Requests
138
Merge Requests
138
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
Jobs
Commits
Open sidebar
nexedi
erp5
Commits
5e8844ea
Commit
5e8844ea
authored
Jan 31, 2024
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
configurator: py3
parent
6859c8ef
Changes
7
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
265 additions
and
260 deletions
+265
-260
bt5/erp5_configurator/DocumentTemplateItem/portal_components/document.erp5.CategoriesSpreadsheetConfiguratorItem.py
...ts/document.erp5.CategoriesSpreadsheetConfiguratorItem.py
+3
-9
bt5/erp5_configurator/DocumentTemplateItem/portal_components/document.erp5.PortalTypeRolesSpreadsheetConfiguratorItem.py
...cument.erp5.PortalTypeRolesSpreadsheetConfiguratorItem.py
+1
-1
bt5/erp5_configurator/ExtensionTemplateItem/portal_components/extension.erp5.ConfigurationTemplate_readOOoCalcFile.py
...s/extension.erp5.ConfigurationTemplate_readOOoCalcFile.py
+12
-4
bt5/erp5_configurator/ToolComponentTemplateItem/portal_components/tool.erp5.ConfiguratorTool.py
...plateItem/portal_components/tool.erp5.ConfiguratorTool.py
+4
-2
bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/BusinessConfiguration_getFunctionTitleItemList.py
...tandard/BusinessConfiguration_getFunctionTitleItemList.py
+5
-1
bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/BusinessConfiguration_getRegionTitleItemList.py
..._standard/BusinessConfiguration_getRegionTitleItemList.py
+238
-238
bt5/erp5_configurator_standard/TestTemplateItem/portal_components/test.erp5.testStandardConfigurationWorkflow.py
...components/test.erp5.testStandardConfigurationWorkflow.py
+2
-5
No files found.
bt5/erp5_configurator/DocumentTemplateItem/portal_components/document.erp5.CategoriesSpreadsheetConfiguratorItem.py
View file @
5e8844ea
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
##############################################################################
##############################################################################
import
zope.interface
import
zope.interface
from
six.moves
import
cStringIO
as
StringIO
import
io
from
Acquisition
import
aq_base
from
Acquisition
import
aq_base
from
AccessControl
import
ClassSecurityInfo
from
AccessControl
import
ClassSecurityInfo
from
Products.ERP5Type
import
Permissions
,
PropertySheet
from
Products.ERP5Type
import
Permissions
,
PropertySheet
...
@@ -37,10 +37,6 @@ from erp5.component.interface.IConfiguratorItem import IConfiguratorItem
...
@@ -37,10 +37,6 @@ from erp5.component.interface.IConfiguratorItem import IConfiguratorItem
import
six
import
six
class
UnrestrictedStringIO
(
StringIO
):
__allow_access_to_unprotected_subobjects__
=
1
@
zope
.
interface
.
implementer
(
IConfiguratorItem
)
@
zope
.
interface
.
implementer
(
IConfiguratorItem
)
class
CategoriesSpreadsheetConfiguratorItem
(
ConfiguratorItemMixin
,
XMLObject
):
class
CategoriesSpreadsheetConfiguratorItem
(
ConfiguratorItemMixin
,
XMLObject
):
"""Import a categories spreadsheet.
"""Import a categories spreadsheet.
...
@@ -95,9 +91,7 @@ class CategoriesSpreadsheetConfiguratorItem(ConfiguratorItemMixin, XMLObject):
...
@@ -95,9 +91,7 @@ class CategoriesSpreadsheetConfiguratorItem(ConfiguratorItemMixin, XMLObject):
path
=
path
[
cat
]
path
=
path
[
cat
]
edit_dict
=
category_info
.
copy
()
edit_dict
=
category_info
.
copy
()
edit_dict
.
pop
(
'path'
)
edit_dict
.
pop
(
'path'
)
if
'id'
in
edit_dict
.
keys
():
edit_dict
.
pop
(
'id'
,
None
)
edit_dict
.
pop
(
'id'
)
path
.
edit
(
**
edit_dict
)
path
.
edit
(
**
edit_dict
)
## add to customer template
## add to customer template
business_configuration
=
self
.
getBusinessConfigurationValue
()
business_configuration
=
self
.
getBusinessConfigurationValue
()
...
@@ -117,7 +111,7 @@ class CategoriesSpreadsheetConfiguratorItem(ConfiguratorItemMixin, XMLObject):
...
@@ -117,7 +111,7 @@ class CategoriesSpreadsheetConfiguratorItem(ConfiguratorItemMixin, XMLObject):
# TODO use a invalid_spreadsheet_error_handler to report invalid
# TODO use a invalid_spreadsheet_error_handler to report invalid
# spreadsheet messages (see http://svn.erp5.org?rev=24908&view=rev )
# spreadsheet messages (see http://svn.erp5.org?rev=24908&view=rev )
aq_self
.
_category_cache
=
self
.
Base_getCategoriesSpreadSheetMapping
(
aq_self
.
_category_cache
=
self
.
Base_getCategoriesSpreadSheetMapping
(
UnrestrictedString
IO
(
self
.
getDefaultConfigurationSpreadsheetData
()))
io
.
Bytes
IO
(
self
.
getDefaultConfigurationSpreadsheetData
()))
security
.
declareProtected
(
Permissions
.
ModifyPortalContent
,
security
.
declareProtected
(
Permissions
.
ModifyPortalContent
,
'setDefaultConfigurationSpreadsheetFile'
)
'setDefaultConfigurationSpreadsheetFile'
)
...
...
bt5/erp5_configurator/DocumentTemplateItem/portal_components/document.erp5.PortalTypeRolesSpreadsheetConfiguratorItem.py
View file @
5e8844ea
...
@@ -93,7 +93,7 @@ class PortalTypeRolesSpreadsheetConfiguratorItem(ConfiguratorItemMixin, XMLObjec
...
@@ -93,7 +93,7 @@ class PortalTypeRolesSpreadsheetConfiguratorItem(ConfiguratorItemMixin, XMLObjec
business_configuration
=
self
.
getBusinessConfigurationValue
()
business_configuration
=
self
.
getBusinessConfigurationValue
()
bt5_obj
=
business_configuration
.
getSpecialiseValue
()
bt5_obj
=
business_configuration
.
getSpecialiseValue
()
if
bt5_obj
is
not
None
:
if
bt5_obj
is
not
None
:
bt5_obj
.
edit
(
template_portal_type_role_list
=
portal_type_role_dict
.
keys
(
))
bt5_obj
.
edit
(
template_portal_type_role_list
=
list
(
portal_type_role_dict
.
keys
()
))
return
error_list
return
error_list
...
...
bt5/erp5_configurator/ExtensionTemplateItem/portal_components/extension.erp5.ConfigurationTemplate_readOOoCalcFile.py
View file @
5e8844ea
...
@@ -30,6 +30,8 @@
...
@@ -30,6 +30,8 @@
# This extension should be replaced by a clever parser provided by
# This extension should be replaced by a clever parser provided by
# ERP5OOo or probably by CloudOOo itself.
# ERP5OOo or probably by CloudOOo itself.
import
six
from
io
import
BytesIO
from
io
import
BytesIO
def
read
(
self
,
filename
,
data
):
def
read
(
self
,
filename
,
data
):
...
@@ -38,7 +40,7 @@ def read(self, filename, data):
...
@@ -38,7 +40,7 @@ def read(self, filename, data):
"""
"""
if
data
is
None
:
if
data
is
None
:
oo_template_file
=
getattr
(
self
,
filename
)
oo_template_file
=
getattr
(
self
,
filename
)
fp
=
BytesIO
(
oo_template_file
)
fp
=
BytesIO
(
bytes
(
oo_template_file
)
)
else
:
else
:
fp
=
BytesIO
(
data
)
fp
=
BytesIO
(
data
)
fp
.
filename
=
filename
fp
.
filename
=
filename
...
@@ -61,7 +63,9 @@ def getIdFromString(string):
...
@@ -61,7 +63,9 @@ def getIdFromString(string):
# Following line is a workaround for this,
# Following line is a workaround for this,
# because \u2013 does not exist in latin1
# because \u2013 does not exist in latin1
string
=
string
.
replace
(
u'
\
u2013
'
,
'-'
)
string
=
string
.
replace
(
u'
\
u2013
'
,
'-'
)
for
char
in
string
.
encode
(
'utf-8'
):
#('iso8859_1'):
if
six
.
PY2
:
string
=
string
.
encode
(
'utf-8'
)
for
char
in
string
:
if
char
==
'_'
or
char
.
isalnum
():
if
char
==
'_'
or
char
.
isalnum
():
clean_id
+=
char
clean_id
+=
char
elif
char
.
isspace
()
or
char
in
(
'+'
,
'-'
):
elif
char
.
isspace
()
or
char
in
(
'+'
,
'-'
):
...
@@ -119,12 +123,16 @@ def convert(self, filename, data=None):
...
@@ -119,12 +123,16 @@ def convert(self, filename, data=None):
# Get the property corresponding to the cell data
# Get the property corresponding to the cell data
property_id
=
property_map
[
cell_index
]
property_id
=
property_map
[
cell_index
]
# Convert the value to something like '\xc3\xa9' not '\xc3\xa9'
# Convert the value to something like '\xc3\xa9' not '\xc3\xa9'
object_property_dict
[
property_id
]
=
cell
.
encode
(
'UTF-8'
)
if
six
.
PY2
:
cell
=
cell
.
encode
(
'UTF-8'
)
object_property_dict
[
property_id
]
=
cell
cell_index
+=
1
cell_index
+=
1
if
len
(
object_property_dict
)
>
0
:
if
len
(
object_property_dict
)
>
0
:
object_list
.
append
(
object_property_dict
)
object_list
.
append
(
object_property_dict
)
table_dict
[
table_name
.
encode
(
'UTF-8'
)]
=
object_list
if
six
.
PY2
:
table_name
=
table_name
.
encode
(
'UTF-8'
)
table_dict
[
table_name
]
=
object_list
if
len
(
table_dict
.
keys
())
==
1
:
if
len
(
table_dict
.
keys
())
==
1
:
return
object_list
return
object_list
...
...
bt5/erp5_configurator/ToolComponentTemplateItem/portal_components/tool.erp5.ConfiguratorTool.py
View file @
5e8844ea
...
@@ -53,12 +53,14 @@ def _validateFormToRequest(form, REQUEST, **kw):
...
@@ -53,12 +53,14 @@ def _validateFormToRequest(form, REQUEST, **kw):
form
.
validate_all_to_request
(
REQUEST
)
form
.
validate_all_to_request
(
REQUEST
)
validation_status
=
0
validation_status
=
0
validation_errors
=
None
validation_errors
=
None
except
FormValidationError
as
validation_errors
:
except
FormValidationError
as
e
:
## not all fields valid
## not all fields valid
validation_status
=
1
validation_status
=
1
except
Exception
as
validation_errors
:
validation_errors
=
e
except
Exception
as
e
:
## missing fields
## missing fields
validation_status
=
2
validation_status
=
2
validation_errors
=
e
## extract form arguments and remove leading prefixes
## extract form arguments and remove leading prefixes
if
validation_status
==
0
:
if
validation_status
==
0
:
for
field
in
form
.
get_fields
():
for
field
in
form
.
get_fields
():
...
...
bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/BusinessConfiguration_getFunctionTitleItemList.py
View file @
5e8844ea
# coding: utf-8
# coding: utf-8
import
six
from
Products.ERP5Type.Message
import
translateString
from
Products.ERP5Type.Message
import
translateString
if
context
.
getGlobalConfigurationAttr
(
'categories_spreadsheet_configuration_save_relative_url'
):
if
context
.
getGlobalConfigurationAttr
(
'categories_spreadsheet_configuration_save_relative_url'
):
...
@@ -54,7 +55,10 @@ function_item_list = [
...
@@ -54,7 +55,10 @@ function_item_list = [
]
]
prefix
=
u"
\
N{NO-BREAK SPACE}
"
* 4
if six.PY2:
prefix = prefix.encode('utf-8')
return [['', '']] + [[
return [['', '']] + [[
(
u"
\
N{NO-BREAK SPACE}
"
* 4 * depth ).encode('utf-8'
) + str(translateString(title)),
(
prefix * depth
) + str(translateString(title)),
relative_url,
relative_url,
] for (title, relative_url, depth) in function_item_list]
] for (title, relative_url, depth) in function_item_list]
bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/BusinessConfiguration_getRegionTitleItemList.py
View file @
5e8844ea
This diff is collapsed.
Click to expand it.
bt5/erp5_configurator_standard/TestTemplateItem/portal_components/test.erp5.testStandardConfigurationWorkflow.py
View file @
5e8844ea
...
@@ -1981,11 +1981,8 @@ class TestConsultingConfiguratorWorkflow(StandardConfigurationMixin):
...
@@ -1981,11 +1981,8 @@ class TestConsultingConfiguratorWorkflow(StandardConfigurationMixin):
def
uploadFile
(
self
,
file_id
):
def
uploadFile
(
self
,
file_id
):
file_obj
=
getattr
(
self
.
portal
,
file_id
)
file_obj
=
getattr
(
self
.
portal
,
file_id
)
file_path
=
tests_home
+
'/%s'
%
file_id
file_path
=
tests_home
+
'/%s'
%
file_id
temp_file
=
open
(
file_path
,
'w+b'
)
with
open
(
file_path
,
'w+b'
)
as
temp_file
:
try
:
temp_file
.
write
(
bytes
(
file_obj
))
temp_file
.
write
(
str
(
file_obj
))
finally
:
temp_file
.
close
()
return
(
file_path
,
FileUpload
(
file_path
,
file_id
))
return
(
file_path
,
FileUpload
(
file_path
,
file_id
))
...
...
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