Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
erp5_rtl_support
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
Romain Courteaud
erp5_rtl_support
Commits
524e5445
Commit
524e5445
authored
Nov 16, 2016
by
Xiaowu Zhang
Committed by
Xiaowu Zhang
Nov 22, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
erp5_web_renderjs_ui: available to translate
parent
d1085bd6
Changes
70
Show whitespace changes
Inline
Side-by-side
Showing
70 changed files
with
1331 additions
and
3444 deletions
+1331
-3444
bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/ERP5Document_getHateoas.py
...rtal_skins/erp5_hal_json_style/ERP5Document_getHateoas.py
+41
-25
bt5/erp5_hal_json_style/TestTemplateItem/portal_components/test.erp5.testHalJsonStyle.py
...plateItem/portal_components/test.erp5.testHalJsonStyle.py
+120
-2
bt5/erp5_web_renderjs_ui/ActionTemplateItem/portal_types/Web%20Site/create_translation_data.xml
...eItem/portal_types/Web%20Site/create_translation_data.xml
+85
-0
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_appcache.xml
...TemplateItem/web_page_module/rjs_gadget_erp5_appcache.xml
+0
-1
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_global_js.js
...TemplateItem/web_page_module/rjs_gadget_erp5_global_js.js
+1
-1
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_global_js.xml
...emplateItem/web_page_module/rjs_gadget_erp5_global_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_header_html.html
...lateItem/web_page_module/rjs_gadget_erp5_header_html.html
+23
-0
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_header_html.xml
...plateItem/web_page_module/rjs_gadget_erp5_header_html.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_launcher_html.html
...teItem/web_page_module/rjs_gadget_erp5_launcher_html.html
+3
-0
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_launcher_html.xml
...ateItem/web_page_module/rjs_gadget_erp5_launcher_html.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_html.html
...ateItem/web_page_module/rjs_gadget_erp5_listbox_html.html
+4
-0
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_html.xml
...lateItem/web_page_module/rjs_gadget_erp5_listbox_html.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_js.js
...emplateItem/web_page_module/rjs_gadget_erp5_listbox_js.js
+25
-8
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_js.xml
...mplateItem/web_page_module/rjs_gadget_erp5_listbox_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_multirelationstringfield_js.js
...age_module/rjs_gadget_erp5_multirelationstringfield_js.js
+3
-1
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_multirelationstringfield_js.xml
...ge_module/rjs_gadget_erp5_multirelationstringfield_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_history_js.js
...teItem/web_page_module/rjs_gadget_erp5_page_history_js.js
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_history_js.xml
...eItem/web_page_module/rjs_gadget_erp5_page_history_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_relation_search_js.js
...eb_page_module/rjs_gadget_erp5_page_relation_search_js.js
+7
-0
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_relation_search_js.xml
...b_page_module/rjs_gadget_erp5_page_relation_search_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_search_html.html
...tem/web_page_module/rjs_gadget_erp5_page_search_html.html
+6
-0
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_search_html.xml
...Item/web_page_module/rjs_gadget_erp5_page_search_html.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_worklist_html.html
...m/web_page_module/rjs_gadget_erp5_page_worklist_html.html
+3
-0
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_worklist_html.xml
...em/web_page_module/rjs_gadget_erp5_page_worklist_html.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_worklist_js.js
...eItem/web_page_module/rjs_gadget_erp5_page_worklist_js.js
+1
-1
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_worklist_js.xml
...Item/web_page_module/rjs_gadget_erp5_page_worklist_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_html.html
...plateItem/web_page_module/rjs_gadget_erp5_panel_html.html
+1
-1
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_html.xml
...mplateItem/web_page_module/rjs_gadget_erp5_panel_html.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_js.js
...hTemplateItem/web_page_module/rjs_gadget_erp5_panel_js.js
+1
-1
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_js.xml
...TemplateItem/web_page_module/rjs_gadget_erp5_panel_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_actionpage_html.html
...m/web_page_module/rjs_gadget_erp5_pt_actionpage_html.html
+4
-0
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_actionpage_html.xml
...em/web_page_module/rjs_gadget_erp5_pt_actionpage_html.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_frontpage_html.html
...em/web_page_module/rjs_gadget_erp5_pt_frontpage_html.html
+3
-0
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_frontpage_html.xml
...tem/web_page_module/rjs_gadget_erp5_pt_frontpage_html.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_frontpage_js.js
...teItem/web_page_module/rjs_gadget_erp5_pt_frontpage_js.js
+1
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_frontpage_js.xml
...eItem/web_page_module/rjs_gadget_erp5_pt_frontpage_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_preferencepage_html.html
...b_page_module/rjs_gadget_erp5_pt_preferencepage_html.html
+14
-3
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_preferencepage_html.xml
...eb_page_module/rjs_gadget_erp5_pt_preferencepage_html.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_preferencepage_js.js
...m/web_page_module/rjs_gadget_erp5_pt_preferencepage_js.js
+94
-14
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_preferencepage_js.xml
.../web_page_module/rjs_gadget_erp5_pt_preferencepage_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_tabpage_html.html
...Item/web_page_module/rjs_gadget_erp5_pt_tabpage_html.html
+4
-0
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_tabpage_html.xml
...eItem/web_page_module/rjs_gadget_erp5_pt_tabpage_html.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_relation_input_html.html
.../web_page_module/rjs_gadget_erp5_relation_input_html.html
+5
-3
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_relation_input_html.xml
...m/web_page_module/rjs_gadget_erp5_relation_input_html.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_relation_input_js.js
...Item/web_page_module/rjs_gadget_erp5_relation_input_js.js
+13
-6
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_relation_input_js.xml
...tem/web_page_module/rjs_gadget_erp5_relation_input_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_relationstringfield_js.js
...web_page_module/rjs_gadget_erp5_relationstringfield_js.js
+1
-0
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_relationstringfield_js.xml
...eb_page_module/rjs_gadget_erp5_relationstringfield_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_router_js.js
...TemplateItem/web_page_module/rjs_gadget_erp5_router_js.js
+44
-1
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_router_js.xml
...emplateItem/web_page_module/rjs_gadget_erp5_router_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searcheditor_html.html
...em/web_page_module/rjs_gadget_erp5_searcheditor_html.html
+14
-1
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searcheditor_html.xml
...tem/web_page_module/rjs_gadget_erp5_searcheditor_html.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_translation_html.html
...lateItem/web_page_module/rjs_gadget_translation_html.html
+0
-1
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_translation_html.xml
...plateItem/web_page_module/rjs_gadget_translation_html.xml
+4
-4
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_translation_js.js
...TemplateItem/web_page_module/rjs_gadget_translation_js.js
+112
-96
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_translation_js.xml
...emplateItem/web_page_module/rjs_gadget_translation_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_plugin_i18next_js.js
...PathTemplateItem/web_page_module/rjs_plugin_i18next_js.js
+0
-2889
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_plugin_i18next_js.xml
...athTemplateItem/web_page_module/rjs_plugin_i18next_js.xml
+0
-320
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_site_module/renderjs_runner.xml
...s_ui/PathTemplateItem/web_site_module/renderjs_runner.xml
+1
-1
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs/Base_createTranslateData.py
...ortal_skins/erp5_web_renderjs/Base_createTranslateData.py
+54
-0
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs/Base_createTranslateData.xml
...rtal_skins/erp5_web_renderjs/Base_createTranslateData.xml
+62
-0
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs/Base_getListFileFromAppcache.py
...l_skins/erp5_web_renderjs/Base_getListFileFromAppcache.py
+21
-0
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs/Base_getListFileFromAppcache.xml
..._skins/erp5_web_renderjs/Base_getListFileFromAppcache.xml
+62
-0
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs/WebSite_createTranslationData.xml
...skins/erp5_web_renderjs/WebSite_createTranslationData.xml
+131
-0
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs/WebSite_createTranslationData/your_translation_data_file.xml
...Site_createTranslationData/your_translation_data_file.xml
+277
-0
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/WebSection_renderDefaultPageAsGadget.py
...5_web_renderjs_ui/WebSection_renderDefaultPageAsGadget.py
+23
-1
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/WebSite_login.py
...teItem/portal_skins/erp5_web_renderjs_ui/WebSite_login.py
+2
-1
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/WebSite_viewRecoverAccount.zpt
...skins/erp5_web_renderjs_ui/WebSite_viewRecoverAccount.zpt
+3
-3
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/login_form.zpt
...lateItem/portal_skins/erp5_web_renderjs_ui/login_form.zpt
+5
-5
bt5/erp5_web_renderjs_ui/bt/template_action_path_list
bt5/erp5_web_renderjs_ui/bt/template_action_path_list
+1
-0
No files found.
bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/ERP5Document_getHateoas.py
View file @
524e5445
...
...
@@ -6,6 +6,7 @@ from ZODB.POSException import ConflictError
import
datetime
import
time
from
email.Utils
import
formatdate
import
re
if
REQUEST
is
None
:
REQUEST
=
context
.
REQUEST
...
...
@@ -71,6 +72,7 @@ url_template_dict = {
}
default_document_uri_template
=
url_template_dict
[
"jio_get_template"
]
Base_translateString
=
context
.
getPortalObject
().
Base_translateString
def
getRealRelativeUrl
(
document
):
return
'/'
.
join
(
portal
.
portal_url
.
getRelativeContentPath
(
document
))
...
...
@@ -107,7 +109,7 @@ def renderField(traversed_document, field, form_relative_url, value=None, meta_t
"css_class"
:
field
.
get_value
(
"css_class"
),
"hidden"
:
field
.
get_value
(
"hidden"
),
"description"
:
field
.
get_value
(
"description"
),
"title"
:
field
.
get_value
(
"title"
),
"title"
:
Base_translateString
(
field
.
get_value
(
"title"
)
),
"required"
:
field
.
get_value
(
"required"
),
# XXX Message can not be converted to json as is
"items"
:
field
.
get_value
(
"items"
),
...
...
@@ -122,7 +124,7 @@ def renderField(traversed_document, field, form_relative_url, value=None, meta_t
"css_class"
:
field
.
get_value
(
"css_class"
),
"hidden"
:
field
.
get_value
(
"hidden"
),
"description"
:
field
.
get_value
(
"description"
),
"title"
:
field
.
get_value
(
"title"
),
"title"
:
Base_translateString
(
field
.
get_value
(
"title"
)
),
"required"
:
field
.
get_value
(
"required"
),
"items"
:
field
.
get_value
(
"items"
),
"select_first_item"
:
field
.
get_value
(
"first_item"
),
...
...
@@ -137,7 +139,7 @@ def renderField(traversed_document, field, form_relative_url, value=None, meta_t
"css_class"
:
field
.
get_value
(
"css_class"
),
"hidden"
:
field
.
get_value
(
"hidden"
),
"description"
:
field
.
get_value
(
"description"
),
"title"
:
field
.
get_value
(
"title"
),
"title"
:
Base_translateString
(
field
.
get_value
(
"title"
)
),
"required"
:
field
.
get_value
(
"required"
),
# XXX Message can not be converted to json as is
"items"
:
field
.
get_value
(
"items"
)
...
...
@@ -155,7 +157,7 @@ def renderField(traversed_document, field, form_relative_url, value=None, meta_t
"css_class"
:
field
.
get_value
(
"css_class"
),
"hidden"
:
field
.
get_value
(
"hidden"
),
"description"
:
field
.
get_value
(
"description"
),
"title"
:
field
.
get_value
(
"title"
),
"title"
:
Base_translateString
(
field
.
get_value
(
"title"
)
),
"required"
:
field
.
get_value
(
"required"
),
}
result
[
"default"
]
=
getFieldDefault
(
traversed_document
,
field
,
result
[
"key"
],
value
)
...
...
@@ -182,7 +184,7 @@ def renderField(traversed_document, field, form_relative_url, value=None, meta_t
"css_class"
:
field
.
get_value
(
"css_class"
),
"hidden"
:
field
.
get_value
(
"hidden"
),
"description"
:
field
.
get_value
(
"description"
),
"title"
:
field
.
get_value
(
"title"
),
"title"
:
Base_translateString
(
field
.
get_value
(
"title"
)
),
"required"
:
field
.
get_value
(
"required"
),
"date_only"
:
field
.
get_value
(
"date_only"
),
"ampm_time_style"
:
field
.
get_value
(
"ampm_time_style"
),
...
...
@@ -208,7 +210,7 @@ def renderField(traversed_document, field, form_relative_url, value=None, meta_t
jump_reference_list
=
[]
if
portal_type_list
:
portal_type_list
=
[
x
[
0
]
for
x
in
portal_type_list
]
translated_portal_type
=
[
Base_translateString
(
x
)
for
x
in
portal_type_list
]
# ported from Base_jumpToRelatedDocument\n
base_category
=
field
.
get_value
(
'base_category'
)
kw
=
{}
...
...
@@ -226,7 +228,7 @@ def renderField(traversed_document, field, form_relative_url, value=None, meta_t
{
"portal_type"
:
portal_type_list
}
).
asSearchTextExpression
(
sql_catalog
)})
}
title
=
field
.
get_value
(
"title"
)
,
title
=
field
.
get_value
(
"title"
)
column_list
=
field
.
get_value
(
"columns"
)
proxy_listbox_ids
=
field
.
get_value
(
"proxy_listbox_ids"
)
...
...
@@ -254,16 +256,19 @@ def renderField(traversed_document, field, form_relative_url, value=None, meta_t
}
result
.
pop
(
"list_method_template"
,
None
)
result
[
"list_method"
]
=
"portal_catalog"
result
[
"title"
]
=
title
result
[
"title"
]
=
Base_translateString
(
title
)
#set default listbox's column list to relation's column list
if
tmp
[
0
]
==
'Base_viewRelatedObjectListBase'
and
len
(
column_list
)
>
0
:
result
[
"column_list"
]
=
column_list
listbox
[
grain
[
1
]]
=
result
result
[
"column_list"
]
=
[]
for
tmp_column
in
column_list
:
result
[
"column_list"
].
append
((
tmp_column
[
0
],
Base_translateString
(
tmp_column
[
1
])))
listbox
[
Base_translateString
(
grain
[
1
])]
=
result
break
result
=
{
"url"
:
relative_url
,
"translated_portal_types"
:
translated_portal_type
,
"portal_types"
:
portal_type_list
,
"query"
:
query
,
"catalog_index"
:
field
.
get_value
(
'catalog_index'
),
...
...
@@ -275,7 +280,7 @@ def renderField(traversed_document, field, form_relative_url, value=None, meta_t
"css_class"
:
field
.
get_value
(
"css_class"
),
"hidden"
:
field
.
get_value
(
"hidden"
),
"description"
:
field
.
get_value
(
"description"
),
"title"
:
title
,
"title"
:
Base_translateString
(
title
)
,
"required"
:
field
.
get_value
(
"required"
),
"proxy_listbox_ids_len"
:
len
(
proxy_listbox_ids
),
"listbox"
:
listbox
...
...
@@ -305,7 +310,7 @@ def renderField(traversed_document, field, form_relative_url, value=None, meta_t
"css_class"
:
field
.
get_value
(
"css_class"
),
"hidden"
:
field
.
get_value
(
"hidden"
),
"description"
:
field
.
get_value
(
"description"
),
"title"
:
field
.
get_value
(
"title"
)
"title"
:
Base_translateString
(
field
.
get_value
(
"title"
)),
}
result
[
"default"
]
=
getFieldDefault
(
traversed_document
,
field
,
result
[
"key"
],
value
)
elif
meta_type
==
"MultiCheckBoxField"
:
...
...
@@ -316,7 +321,7 @@ def renderField(traversed_document, field, form_relative_url, value=None, meta_t
"css_class"
:
field
.
get_value
(
"css_class"
),
"hidden"
:
field
.
get_value
(
"hidden"
),
"description"
:
field
.
get_value
(
"description"
),
"title"
:
field
.
get_value
(
"title"
),
"title"
:
Base_translateString
(
field
.
get_value
(
"title"
)
),
"required"
:
field
.
get_value
(
"required"
),
# XXX Message can not be converted to json as is
"items"
:
field
.
get_value
(
"items"
),
...
...
@@ -330,18 +335,29 @@ def renderField(traversed_document, field, form_relative_url, value=None, meta_t
"css_class"
:
field
.
get_value
(
"css_class"
),
"hidden"
:
field
.
get_value
(
"hidden"
),
"description"
:
field
.
get_value
(
"description"
),
"title"
:
field
.
get_value
(
"title"
),
"title"
:
Base_translateString
(
field
.
get_value
(
"title"
)
),
"url"
:
field
.
get_value
(
"gadget_url"
),
"sandbox"
:
field
.
get_value
(
"js_sandbox"
),
}
result
[
"default"
]
=
getFieldDefault
(
traversed_document
,
field
,
result
[
"key"
],
value
)
elif
meta_type
==
"ListBox"
:
# XXX Not implemented
column_list
=
field
.
get_value
(
"columns"
)
editable_column_list
=
field
.
get_value
(
'editable_columns'
)
column_list
=
[]
for
tmp
in
field
.
get_value
(
"columns"
):
column_list
.
append
((
tmp
[
0
],
Base_translateString
(
tmp
[
1
])))
editable_column_list
=
[]
for
tmp
in
field
.
get_value
(
'editable_columns'
):
editable_column_list
.
append
((
tmp
[
0
],
Base_translateString
(
tmp
[
1
])))
sort_column_list_tmp
=
[]
for
tmp
in
field
.
get_value
(
'sort_columns'
):
sort_column_list_tmp
.
append
((
tmp
[
0
],
Base_translateString
(
tmp
[
1
])))
search_column_list_tmp
=
[]
for
tmp
in
field
.
get_value
(
'search_columns'
):
search_column_list_tmp
.
append
((
tmp
[
0
],
Base_translateString
(
tmp
[
1
])))
sort_column_list_tmp
=
field
.
get_value
(
'sort_columns'
)
search_column_list_tmp
=
field
.
get_value
(
'search_columns'
)
sort_column_list
=
[]
search_column_list
=
[]
...
...
@@ -435,7 +451,7 @@ def renderField(traversed_document, field, form_relative_url, value=None, meta_t
"editable_column_list"
:
editable_column_list
,
"show_anchor"
:
field
.
get_value
(
"anchor"
),
# "line_list": line_list,
"title"
:
field
.
get_value
(
"title"
),
"title"
:
Base_translateString
(
field
.
get_value
(
"title"
)
),
"key"
:
key
,
"portal_type"
:
portal_types
,
"lines"
:
lines
,
...
...
@@ -455,7 +471,7 @@ def renderField(traversed_document, field, form_relative_url, value=None, meta_t
result
=
{
"type"
:
meta_type
,
"_debug"
:
"Unsupported field type"
,
"title"
:
field
.
get_value
(
"title"
),
"title"
:
Base_translateString
(
field
.
get_value
(
"title"
)
),
"key"
:
key
,
}
return
result
...
...
@@ -627,7 +643,7 @@ def renderFormDefinition(form, response_dict):
group_list
.
append
((
group
[
'gid'
],
field_list
))
response_dict
[
"group_list"
]
=
group_list
response_dict
[
"title"
]
=
form
.
getTitle
(
)
response_dict
[
"title"
]
=
Base_translateString
(
form
.
getTitle
()
)
response_dict
[
"pt"
]
=
form
.
pt
response_dict
[
"action"
]
=
form
.
action
...
...
@@ -743,7 +759,7 @@ def calculateHateoas(is_portal=None, is_site_root=None, traversed_document=None,
.
getRelativeUrl
(),
"script_id"
:
script
.
id
},
"name"
:
traversed_document
.
getPortalType
(),
"name"
:
Base_translateString
(
traversed_document
.
getPortalType
())
}
# Return info about container
...
...
@@ -757,7 +773,7 @@ def calculateHateoas(is_portal=None, is_site_root=None, traversed_document=None,
"relative_url"
:
container
.
getRelativeUrl
(),
"script_id"
:
script
.
id
},
"name"
:
container
.
getTitle
(
),
"name"
:
Base_translateString
(
container
.
getTitle
()
),
}
# XXX Loop on form rendering
...
...
@@ -773,7 +789,7 @@ def calculateHateoas(is_portal=None, is_site_root=None, traversed_document=None,
erp5_action_list
.
append
({
'href'
:
'%s'
%
view_action
[
'url'
],
'name'
:
view_action
[
'id'
],
'title'
:
view_action
[
'title'
]
'title'
:
Base_translateString
(
view_action
[
'title'
])
})
# Try to embed the form in the result
if
(
view
==
view_action
[
'id'
]):
...
...
@@ -1214,7 +1230,7 @@ def calculateHateoas(is_portal=None, is_site_root=None, traversed_document=None,
'href'
:
url_template_dict
[
"jio_search_template"
]
%
{
"query"
:
make_query
({
"query"
:
query
})
},
'name'
:
action
[
'name'
]
,
'name'
:
Base_translateString
(
re
.
sub
(
r' \
(
\d+\
)$
', '', action['
name
']))
,
'
count
': action['
count
'],
'
module
': default_document_uri_template % {
"relative_url": worklist_module_id
...
...
bt5/erp5_hal_json_style/TestTemplateItem/portal_components/test.erp5.testHalJsonStyle.py
View file @
524e5445
...
...
@@ -1076,12 +1076,130 @@ class TestERP5Document_getHateoas_mode_worklist(ERP5HALJSONStyleSkinsMixin):
result_dict
=
json
.
loads
(
result
)
self
.
assertEqual
(
result_dict
[
'_links'
][
'self'
],
{
"href"
:
"http://example.org/bar"
})
work_list
=
[
x
for
x
in
result_dict
[
'worklist'
]
if
x
[
'name'
].
startswith
(
'Draft To Validate
(
'
)]
work_list
=
[
x
for
x
in
result_dict
[
'worklist'
]
if
x
[
'name'
].
startswith
(
'Draft To Validate'
)]
self
.
assertEqual
(
len
(
work_list
),
1
)
self
.
assertTrue
(
work_list
[
0
][
'count'
]
>
0
)
self
.
assertEqual
(
work_list
[
0
][
'name'
],
'Draft To Validate
(%i)'
%
work_list
[
0
][
'count'
]
)
self
.
assertEqual
(
work_list
[
0
][
'name'
],
'Draft To Validate
'
)
self
.
assertEqual
(
work_list
[
0
][
'module'
],
'urn:jio:get:bar_module'
)
self
.
assertEqual
(
work_list
[
0
][
'href'
],
'urn:jio:allDocs?query=portal_type%3A%28%22Bar%22%20OR%20%22Foo%22%29%20AND%20simulation_state%3A%22draft%22'
)
self
.
assertEqual
(
result_dict
[
'_debug'
],
"worklist"
)
class
TestERP5Document_getHateoas_translation
(
ERP5HALJSONStyleSkinsMixin
):
code_string
=
"
\
from Products.CMFCore.utils import getToolByName
\
n
\
translation_service = getToolByName(context, 'Localizer', None)
\
n
\
if translation_service is not None :
\
n
\
try:
\
n
\
if not encoding:
\
n
\
return translation_service.translate(catalog, msg, lang=lang, **kw)
\
n
\
msg = translation_service.translate(catalog, msg, lang=lang, **kw)
\
n
\
if same_type(msg, u''):
\
n
\
msg = msg.encode(encoding)
\
n
\
return msg
\
n
\
except AttributeError:
\
n
\
pass
\
n
\
return msg"
@
simulate
(
'Base_getRequestUrl'
,
'*args, **kwargs'
,
'return "http://example.org/bar"'
)
@
simulate
(
'Base_getRequestHeader'
,
'*args, **kwargs'
,
'return "application/hal+json"'
)
@
simulate
(
'Base_translateString'
,
'msg, catalog="ui", encoding="utf8", lang="wo", **kw'
,
code_string
)
@
changeSkin
(
'Hal'
)
def
test_getHateoasBulk_default_view_translation
(
self
):
self
.
portal
.
Base_createUITestLanguages
()
param_dict
=
[
{
'message'
:
'Title'
,
'translation'
:
'biaoti'
,
'language'
:
'wo'
},
{
'message'
:
'Draft To Validate'
,
'translation'
:
'daiyanzhen'
,
'language'
:
'wo'
},
{
'message'
:
'Foo'
,
'translation'
:
'Foo_zhongwen'
,
'language'
:
'wo'
}]
for
tmp
in
param_dict
:
self
.
portal
.
Base_addUITestTranslation
(
message
=
tmp
[
'message'
],
translation
=
tmp
[
'translation'
],
language
=
tmp
[
'language'
])
document
=
self
.
_makeDocument
()
fake_request
=
do_fake_request
(
"POST"
)
result
=
self
.
portal
.
web_site_module
.
hateoas
.
ERP5Document_getHateoas
(
REQUEST
=
fake_request
,
mode
=
"bulk"
,
bulk_list
=
json
.
dumps
([{
"relative_url"
:
document
.
getRelativeUrl
(),
"view"
:
"view"
}])
)
self
.
assertEquals
(
fake_request
.
RESPONSE
.
status
,
200
)
self
.
assertEquals
(
fake_request
.
RESPONSE
.
getHeader
(
'Content-Type'
),
"application/hal+json"
)
result_dict
=
json
.
loads
(
result
)
self
.
assertEqual
(
result_dict
[
'result_list'
][
0
][
'_embedded'
][
'_view'
][
'my_title'
][
'title'
],
'biaoti'
)
self
.
assertEqual
(
result_dict
[
'result_list'
][
0
][
'_links'
][
'type'
][
'name'
],
'Foo_zhongwen'
)
self
.
assertEqual
(
result_dict
[
'result_list'
][
0
][
'_embedded'
][
'_view'
][
'listbox'
][
'column_list'
][
1
][
1
],
'biaoti'
)
@
simulate
(
'Base_getRequestUrl'
,
'*args, **kwargs'
,
'return "http://example.org/bar"'
)
@
simulate
(
'Base_getRequestHeader'
,
'*args, **kwargs'
,
'return "application/hal+json"'
)
@
simulate
(
'Base_translateString'
,
'msg, catalog="ui", encoding="utf8", lang="wo", **kw'
,
code_string
)
@
changeSkin
(
'Hal'
)
def
test_getHateoasDocument_result_translation
(
self
):
document
=
self
.
_makeDocument
()
fake_request
=
do_fake_request
(
"GET"
)
result
=
document
.
ERP5Document_getHateoas
(
REQUEST
=
fake_request
)
self
.
assertEquals
(
fake_request
.
RESPONSE
.
status
,
200
)
self
.
assertEquals
(
fake_request
.
RESPONSE
.
getHeader
(
'Content-Type'
),
"application/hal+json"
)
result_dict
=
json
.
loads
(
result
)
self
.
assertEqual
(
result_dict
[
'_links'
][
'type'
][
'href'
],
'urn:jio:get:portal_types/%s'
%
document
.
getPortalType
())
self
.
assertEqual
(
result_dict
[
'_links'
][
'type'
][
'name'
],
'Foo_zhongwen'
)
self
.
assertEqual
(
result_dict
[
'title'
].
encode
(
"UTF-8"
),
document
.
getTitle
())
self
.
assertEqual
(
result_dict
[
'_debug'
],
"root"
)
@
simulate
(
'Base_getRequestUrl'
,
'*args, **kwargs'
,
'return "http://example.org/bar"'
)
@
simulate
(
'Base_getRequestHeader'
,
'*args, **kwargs'
,
'return "application/hal+json"'
)
@
simulate
(
'Base_translateString'
,
'msg, catalog="ui", encoding="utf8", lang="wo", **kw'
,
code_string
)
@
changeSkin
(
'Hal'
)
def
test_getHateoasWorklist_default_view_translation
(
self
):
# self._makeDocument()
fake_request
=
do_fake_request
(
"GET"
)
result
=
self
.
portal
.
web_site_module
.
hateoas
.
ERP5Document_getHateoas
(
REQUEST
=
fake_request
,
mode
=
"worklist"
)
self
.
assertEquals
(
fake_request
.
RESPONSE
.
status
,
200
)
self
.
assertEquals
(
fake_request
.
RESPONSE
.
getHeader
(
'Content-Type'
),
"application/hal+json"
)
result_dict
=
json
.
loads
(
result
)
self
.
assertEqual
(
result_dict
[
'_links'
][
'self'
],
{
"href"
:
"http://example.org/bar"
})
work_list
=
[
x
for
x
in
result_dict
[
'worklist'
]
if
x
[
'name'
].
startswith
(
'daiyanzhen'
)]
self
.
assertEqual
(
len
(
work_list
),
1
)
self
.
assertEqual
(
work_list
[
0
][
'name'
],
'daiyanzhen'
)
self
.
assertTrue
(
work_list
[
0
][
'count'
]
>
0
)
self
.
assertEqual
(
work_list
[
0
][
'module'
],
'urn:jio:get:bar_module'
)
self
.
assertEqual
(
work_list
[
0
][
'href'
],
'urn:jio:allDocs?query=portal_type%3A%28%22Bar%22%20OR%20%22Foo%22%29%20AND%20simulation_state%3A%22draft%22'
)
self
.
assertEqual
(
result_dict
[
'_debug'
],
"worklist"
)
@
simulate
(
'Base_getRequestUrl'
,
'*args, **kwargs'
,
'return "http://example.org/bar"'
)
@
simulate
(
'Base_getRequestHeader'
,
'*args, **kwargs'
,
'return "application/hal+json"'
)
@
simulate
(
'Base_translateString'
,
'msg, catalog="ui", encoding="utf8", lang="wo", **kw'
,
code_string
)
@
changeSkin
(
'Hal'
)
def
test_getHateoasForm_no_view
(
self
):
fake_request
=
do_fake_request
(
"GET"
)
result
=
self
.
portal
.
web_site_module
.
hateoas
.
ERP5Document_getHateoas
(
REQUEST
=
fake_request
,
mode
=
"traverse"
,
relative_url
=
"portal_skins/erp5_ui_test/Foo_view"
)
self
.
assertEquals
(
fake_request
.
RESPONSE
.
status
,
200
)
self
.
assertEquals
(
fake_request
.
RESPONSE
.
getHeader
(
'Content-Type'
),
"application/hal+json"
)
result_dict
=
json
.
loads
(
result
)
self
.
assertEqual
(
result_dict
[
'title'
],
'Foo_zhongwen'
)
bt5/erp5_web_renderjs_ui/ActionTemplateItem/portal_types/Web%20Site/create_translation_data.xml
0 → 100644
View file @
524e5445
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"ActionInformation"
module=
"Products.CMFCore.ActionInformation"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
action_type/object_action
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
category
</string>
</key>
<value>
<string>
object_action
</string>
</value>
</item>
<item>
<key>
<string>
condition
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
icon
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
create_translation_data
</string>
</value>
</item>
<item>
<key>
<string>
permissions
</string>
</key>
<value>
<tuple>
<string>
View
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Action Information
</string>
</value>
</item>
<item>
<key>
<string>
priority
</string>
</key>
<value>
<float>
1.0
</float>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Create Translation Data
</string>
</value>
</item>
<item>
<key>
<string>
visible
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"Expression"
module=
"Products.CMFCore.Expression"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
text
</string>
</key>
<value>
<string>
string:${object_url}/WebSite_createTranslationData
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_appcache.xml
View file @
524e5445
...
...
@@ -230,7 +230,6 @@ gadget_translation.html\n
gadget_translation.js\n
gadget_translation_data.js\n
handlebars.js\n
i18next.js\n
jiodev.js\n
renderjs.js\n
rsvp.js\n
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_global_js.js
View file @
524e5445
...
...
@@ -8,7 +8,7 @@
.
push
(
function
()
{
var
title
=
erp5_document
.
title
,
portal_type
=
erp5_document
.
_links
.
type
.
name
;
if
(
/ Module$/
.
test
(
portal_type
))
{
if
(
/ Module$/
.
test
(
erp5_document
.
_links
.
type
.
href
))
{
return
portal_type
;
}
return
portal_type
+
'
:
'
+
title
;
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_global_js.xml
View file @
524e5445
...
...
@@ -230,7 +230,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
0.28789.14822.1867
0
</string>
</value>
<value>
<string>
95
4.14461.31508.5393
0
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -248,7 +248,7 @@
</tuple>
<state>
<tuple>
<float>
14
60380170.56
</float>
<float>
14
76894652.41
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_header_html.html
View file @
524e5445
<!DOCTYPE html>
<html>
<head>
<!--
data-i18n=Front
data-i18n=Previous
data-i18n=Cancel
data-i18n=Back
data-i18n=Editable
data-i18n=Viewable
data-i18n=New
data-i18n=Save
data-i18n=Proceed
data-i18n=Add
data-i18n=Filter
data-i18n=Views
data-i18n=Jump
data-i18n=Delete
data-i18n=Export
data-i18n=Actions
data-i18n=Cut
data-i18n=Add
data-i18n=Previous
data-i18n=Next
data-i18n=Loading
-->
<meta
http-equiv=
"Content-type"
content=
"text/html; charset=utf-8"
/>
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no"
/>
<title>
ERP5 Header
</title>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_header_html.xml
View file @
524e5445
...
...
@@ -234,7 +234,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
5.10496.5559.9130
</string>
</value>
<value>
<string>
95
4.5917.19875.40379
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -252,7 +252,7 @@
</tuple>
<state>
<tuple>
<float>
147
9462688.84
</float>
<float>
147
4563958.55
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_launcher_html.html
View file @
524e5445
...
...
@@ -15,6 +15,9 @@
<script
data-renderjs-configuration=
"default_view_reference"
type=
"text/x-renderjs-configuration"
>
$
{
default_view_reference
}
</script>
<script
data-renderjs-configuration=
"hateoas_url"
type=
"text/x-renderjs-configuration"
>
$
{
hateoas_url
}
</script>
<script
data-renderjs-configuration=
"frontpage_gadget"
type=
"text/x-renderjs-configuration"
>
$
{
frontpage_gadget
}
</script>
<script
data-renderjs-configuration=
"language_map"
type=
"text/x-renderjs-configuration"
>
$
{
language_map
}
</script>
<script
data-renderjs-configuration=
"default_selected_language"
type=
"text/x-renderjs-configuration"
>
$
{
default_selected_language
}
</script>
<script
data-renderjs-configuration=
"website_url_set"
type=
"text/x-renderjs-configuration"
>
$
{
website_url_set
}
</script>
<script
src=
"rsvp.js"
></script>
<script
src=
"renderjs.js"
></script>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_launcher_html.xml
View file @
524e5445
...
...
@@ -236,7 +236,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
5.19466.27249.10478
</string>
</value>
<value>
<string>
95
4.5916.8255.62617
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -254,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>
147
9222440.45
</float>
<float>
147
5848425.64
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_html.html
View file @
524e5445
<!DOCTYPE html>
<html>
<head>
<!--
data-i18n=No records
data-i18n=Records
-->
<meta
http-equiv=
"Content-type"
content=
"text/html; charset=utf-8"
/>
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no"
/>
<title>
ERP5 Listbox
</title>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_html.xml
View file @
524e5445
...
...
@@ -234,7 +234,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
4.47421.47694.22459
</string>
</value>
<value>
<string>
95
3.48474.52969.47820
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -252,7 +252,7 @@
</tuple>
<state>
<tuple>
<float>
147
6967547.86
</float>
<float>
147
4554275.61
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_js.js
View file @
524e5445
...
...
@@ -36,10 +36,11 @@
error_message_source
=
gadget_klass
.
__template_element
.
getElementById
(
"
error-message-template
"
)
.
innerHTML
,
error_message_template
=
Handlebars
.
compile
(
error_message_source
);
error_message_template
=
Handlebars
.
compile
(
error_message_source
),
variable
=
{};
function
renderListboxThead
(
gadget
,
template
,
head_value
)
{
function
renderListboxThead
(
gadget
,
template
)
{
return
gadget
.
translateHtml
(
template
({
head_value
:
gadget
.
props
.
head_value
,
show_anchor
:
gadget
.
state
.
show_anchor
,
...
...
@@ -189,7 +190,8 @@
field_json
=
options
.
field_json
,
i
,
sort_column_list
=
[],
search_column_list
=
[];
search_column_list
=
[],
queue
;
//only display which is in listbox's column list
if
(
field_json
.
sort_column_list
.
length
)
{
...
...
@@ -215,7 +217,21 @@
}
search_column_list
.
push
([
"
searchable_text
"
,
"
Searchable Text
"
]);
return
RSVP
.
Queue
()
queue
=
RSVP
.
Queue
();
if
(
!
variable
.
translated_records
)
{
queue
.
push
(
function
()
{
return
RSVP
.
all
([
gadget
.
translate
(
'
Records
'
),
gadget
.
translate
(
'
No records
'
)
]);
})
.
push
(
function
(
results
)
{
variable
.
translated_records
=
results
[
0
];
variable
.
translated_no_record
=
results
[
1
];
});
}
queue
.
push
(
function
()
{
// Cancel previous line rendering to not conflict with the asynchronous render for now
return
gadget
.
renderContent
(
true
);
...
...
@@ -258,6 +274,7 @@
// Force line calculation in any case
return
gadget
.
renderContent
();
});
return
queue
;
})
.
onStateChange
(
function
()
{
...
...
@@ -467,11 +484,11 @@
foot
.
next_classname
=
"
ui-btn ui-icon-carat-r ui-btn-icon-right responsive ui-last-child
"
;
foot
.
next_url
=
url_list
[
1
];
if
((
begin_from
===
0
)
&&
(
counter
===
0
))
{
foot
.
record
=
"
No records
"
;
foot
.
record
=
variable
.
translated_no_record
;
}
else
if
((
dataset
.
data
.
rows
.
length
<=
lines
)
&&
(
begin_from
===
0
))
{
foot
.
record
=
counter
+
"
Records
"
;
foot
.
record
=
counter
+
"
"
+
variable
.
translated_records
;
}
else
{
foot
.
record
=
"
Records
"
+
(((
begin_from
+
lines
)
/
lines
-
1
)
*
lines
+
1
)
+
"
-
"
+
(((
begin_from
+
lines
)
/
lines
-
1
)
*
lines
+
counter
);
foot
.
record
=
variable
.
translated_records
+
"
"
+
(((
begin_from
+
lines
)
/
lines
-
1
)
*
lines
+
1
)
+
"
-
"
+
(((
begin_from
+
lines
)
/
lines
-
1
)
*
lines
+
counter
);
}
if
(
begin_from
===
0
)
{
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_js.xml
View file @
524e5445
...
...
@@ -236,7 +236,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
4.47559.38051.59921
</string>
</value>
<value>
<string>
95
5.20594.58985.30890
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -254,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>
147
6976330.15
</float>
<float>
147
9290108.34
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_multirelationstringfield_js.js
View file @
524e5445
...
...
@@ -23,6 +23,7 @@
url
:
gadget
.
state
.
url
,
allow_creation
:
gadget
.
state
.
allow_creation
,
portal_types
:
gadget
.
state
.
portal_types
,
translated_portal_types
:
gadget
.
state
.
translated_portal_types
,
value_relative_url
:
value_relative_url
,
value_text
:
value_text
,
value_uid
:
value_uid
,
...
...
@@ -55,6 +56,7 @@
url
:
field_json
.
url
,
allow_creation
:
field_json
.
allow_creation
,
portal_types
:
field_json
.
portal_types
,
translated_portal_types
:
field_json
.
translated_portal_types
,
relation_field_id
:
field_json
.
relation_field_id
,
hidden
:
field_json
.
hidden
};
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_multirelationstringfield_js.xml
View file @
524e5445
...
...
@@ -230,7 +230,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
955.
7644.28099.443
</string>
</value>
<value>
<string>
955.
20651.19230.8738
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -248,7 +248,7 @@
</tuple>
<state>
<tuple>
<float>
1479
375486.58
</float>
<float>
1479
293669.46
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_history_js.js
View file @
524e5445
...
...
@@ -47,7 +47,7 @@
}
return
gadget
.
jio_allDocs
({
query
:
Query
.
objectToSearchText
(
new
ComplexQuery
({
operator
:
'
OR
'
,
query_list
:
query_list
})),
select_list
:
[
"
title
"
,
"
portal_type
"
],
select_list
:
[
"
title
"
,
"
translated_
portal_type
"
],
limit
:
id_list
.
length
});
})
...
...
@@ -72,7 +72,7 @@
for
(
i
=
0
;
i
<
result_list
.
length
;
i
+=
1
)
{
document_dict
[
result_list
[
i
][
2
]]
=
{
link
:
result_list
[
i
][
0
],
title
:
(
result_list
[
i
][
1
].
title
||
result_list
[
i
][
2
])
+
"
(
"
+
result_list
[
i
][
1
].
portal_type
+
"
)
"
title
:
(
result_list
[
i
][
1
].
title
||
result_list
[
i
][
2
])
+
"
(
"
+
result_list
[
i
][
1
].
translated_
portal_type
+
"
)
"
};
}
// Sort by access time
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_history_js.xml
View file @
524e5445
...
...
@@ -230,7 +230,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
4.45675.44850.53452
</string>
</value>
<value>
<string>
95
3.52380.29788.47923
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -248,7 +248,7 @@
</tuple>
<state>
<tuple>
<float>
147
6952911.66
</float>
<float>
147
3419443.85
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_relation_search_js.js
View file @
524e5445
...
...
@@ -50,6 +50,7 @@
.
declareAcquiredMethod
(
"
getUrlFor
"
,
"
getUrlFor
"
)
.
declareAcquiredMethod
(
"
redirect
"
,
"
redirect
"
)
.
declareAcquiredMethod
(
"
jio_getAttachment
"
,
"
jio_getAttachment
"
)
.
declareAcquiredMethod
(
"
translateHtml
"
,
"
translateHtml
"
)
/////////////////////////////////////////////////////////////////
// declared methods
...
...
@@ -120,6 +121,12 @@
]]
}
});
})
.
push
(
function
()
{
return
gadget
.
translateHtml
(
gadget
.
props
.
element
.
querySelector
(
"
.left
"
).
innerHTML
);
})
.
push
(
function
(
html
)
{
gadget
.
props
.
element
.
querySelector
(
"
.left
"
).
innerHTML
=
html
;
});
})
.
declareMethod
(
"
triggerSubmit
"
,
function
()
{
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_relation_search_js.xml
View file @
524e5445
...
...
@@ -234,7 +234,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
954.
27036.35871.42001
</string>
</value>
<value>
<string>
954.
5791.20424.25736
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -252,7 +252,7 @@
</tuple>
<state>
<tuple>
<float>
147
5744573.87
</float>
<float>
147
4556136.49
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_search_html.html
View file @
524e5445
<!DOCTYPE html>
<html>
<!--
data-i18n=Type
data-i18n=Reference
data-i18n=Description
data-i18n=State
-->
<head>
<meta
http-equiv=
"Content-type"
content=
"text/html; charset=utf-8"
/>
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no"
/>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_search_html.xml
View file @
524e5445
...
...
@@ -234,7 +234,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
0.28765.38539.1365
3
</string>
</value>
<value>
<string>
95
3.56663.27739.2348
3
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -252,7 +252,7 @@
</tuple>
<state>
<tuple>
<float>
14
60378755.6
9
</float>
<float>
14
74563707.5
9
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_worklist_html.html
View file @
524e5445
<!DOCTYPE html>
<html>
<!--
data-i18n=Worklist
-->
<head>
<meta
http-equiv=
"Content-type"
content=
"text/html; charset=utf-8"
/>
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no"
/>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_worklist_html.xml
View file @
524e5445
...
...
@@ -234,7 +234,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
4.45675.44850.53452
</string>
</value>
<value>
<string>
95
3.56732.44606.43468
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -252,7 +252,7 @@
</tuple>
<state>
<tuple>
<float>
147
6955713.49
</float>
<float>
147
4556302.46
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_worklist_js.js
View file @
524e5445
...
...
@@ -61,7 +61,7 @@
view
:
'
view
'
}}),
// Remove the counter from the title
action_list
[
i
].
name
.
replace
(
/
\(\d
+
\)
$/
,
''
)
,
action_list
[
i
].
name
,
action_list
[
i
].
count
]));
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_worklist_js.xml
View file @
524e5445
...
...
@@ -230,7 +230,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
9
54.47218.14887.48486
</string>
</value>
<value>
<string>
9
49.45349.17509.30190
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -248,7 +248,7 @@
</tuple>
<state>
<tuple>
<float>
147
6956693.83
</float>
<float>
147
3173906.59
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_html.html
View file @
524e5445
...
...
@@ -36,7 +36,7 @@
<
li
><
a
href
=
"
{{module_href}}
"
class
=
"
ui-btn ui-btn-icon-left ui-icon-puzzle-piece
"
data
-
i18n
=
"
Modules
"
accesskey
=
"
m
"
>
Modules
<
/a></
li
>
<
li
><
a
href
=
"
{{worklist_href}}
"
class
=
"
ui-btn ui-btn-icon-left ui-icon-clipboard
"
data
-
i18n
=
"
Worklists
"
accesskey
=
"
w
"
>
Worklists
<
/a></
li
>
<
li
><
a
href
=
"
{{history_href}}
"
class
=
"
ui-btn ui-btn-icon-left ui-icon-history
"
data
-
i18n
=
"
History
"
accesskey
=
"
h
"
>
History
<
/a></
li
>
<
li
><
a
href
=
"
{{search_href}}
"
class
=
"
ui-btn ui-btn-icon-left ui-icon-search
"
data
-
i18n
=
"
History
"
accesskey
=
"
s
"
>
Search
<
/a></
li
>
<
li
><
a
href
=
"
{{search_href}}
"
class
=
"
ui-btn ui-btn-icon-left ui-icon-search
"
data
-
i18n
=
"
Search
"
accesskey
=
"
s
"
>
Search
<
/a></
li
>
<
li
><
a
href
=
"
{{preference_href}}
"
class
=
"
ui-btn ui-btn-icon-left ui-icon-gear
"
data
-
i18n
=
"
Preference
"
>
Preferences
<
/a></
li
>
<!--
div
>
{{
#
if
language_list
}}
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_html.xml
View file @
524e5445
...
...
@@ -234,7 +234,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
2.14137.61057.25617
</string>
</value>
<value>
<string>
95
3.6580.58198.13568
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -252,7 +252,7 @@
</tuple>
<state>
<tuple>
<float>
14
67279122.77
</float>
<float>
14
73162224.39
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_js.js
View file @
524e5445
...
...
@@ -78,7 +78,7 @@
"
search_href
"
:
all_result
[
4
],
"
worklist_href
"
:
all_result
[
5
]
});
return
tmp
;
return
g
.
translateHtml
(
tmp
)
;
})
.
push
(
function
(
my_translated_or_plain_html
)
{
g
.
props
.
element
.
querySelector
(
"
div
"
).
innerHTML
=
my_translated_or_plain_html
;
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_panel_js.xml
View file @
524e5445
...
...
@@ -230,7 +230,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
2.1507.19232.15035
</string>
</value>
<value>
<string>
95
3.6580.58198.13568
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -248,7 +248,7 @@
</tuple>
<state>
<tuple>
<float>
14
66524414.0
</float>
<float>
14
73161369.59
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_actionpage_html.html
View file @
524e5445
<!DOCTYPE html>
<html>
<head>
<!--
data-i18n=Workflow-Transitions
data-i18n=Actions
-->
<meta
http-equiv=
"Content-type"
content=
"text/html; charset=utf-8"
/>
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no"
/>
<title>
ERP5 Page Action
</title>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_actionpage_html.xml
View file @
524e5445
...
...
@@ -234,7 +234,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
9
49.53789.19765.27784
</string>
</value>
<value>
<string>
9
53.48219.30595.27340
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -252,7 +252,7 @@
</tuple>
<state>
<tuple>
<float>
14
60378795.97
</float>
<float>
14
74556323.96
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_frontpage_html.html
View file @
524e5445
<!DOCTYPE html>
<html>
<!--
data-i18n=Title
-->
<head>
<meta
http-equiv=
"Content-type"
content=
"text/html; charset=utf-8"
/>
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no"
/>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_frontpage_html.xml
View file @
524e5445
...
...
@@ -234,7 +234,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
2.43255.60632.47035
</string>
</value>
<value>
<string>
95
4.5909.42680.32921
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -252,7 +252,7 @@
</tuple>
<state>
<tuple>
<float>
14
68942516.97
</float>
<float>
14
74563730.2
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_frontpage_js.js
View file @
524e5445
...
...
@@ -52,8 +52,7 @@
})
.
push
(
function
(
form_gadget
)
{
var
column_list
=
[
[
'
title
'
,
'
Title
'
]
];
[
'
translated_title
'
,
'
Title
'
]];
return
form_gadget
.
render
({
erp5_document
:
{
"
_embedded
"
:
{
"
_view
"
:
{
"
listbox
"
:
{
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_frontpage_js.xml
View file @
524e5445
...
...
@@ -230,7 +230,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
2.64761.25287.18397
</string>
</value>
<value>
<string>
95
4.44756.57059.6894
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -248,7 +248,7 @@
</tuple>
<state>
<tuple>
<float>
147
5244399.84
</float>
<float>
147
6893530.25
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_preferencepage_html.html
View file @
524e5445
<!DOCTYPE html>
<html>
<!--
data-i18n=User
data-i18n=Language
-->
<head>
<meta
http-equiv=
"Content-type"
content=
"text/html; charset=utf-8"
/>
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no"
/>
...
...
@@ -12,10 +16,17 @@
<!-- custom script -->
<script
src=
"gadget_erp5_page_preference.js"
type=
"text/javascript"
></script>
</head>
<body>
Who are you?
</head>
<body>
<form
class=
"preference"
>
<button
type=
"submit"
class=
"ui-btn ui-btn-b ui-btn-inline
ui-icon-edit ui-btn-icon-right ui-screen-hidden"
></button>
<div
data-gadget-url=
"gadget_erp5_form.html"
data-gadget-scope=
"erp5_form"
data-gadget-sandbox=
"public"
>
</div>
</form>
</body>
</html>
\ No newline at end of file
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_preferencepage_html.xml
View file @
524e5445
...
...
@@ -234,7 +234,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
4.45675.44850.53452
</string>
</value>
<value>
<string>
95
3.6663.63367.11298
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -252,7 +252,7 @@
</tuple>
<state>
<tuple>
<float>
147
6958219.29
</float>
<float>
147
3246353.73
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_preferencepage_js.js
View file @
524e5445
/*global window, rJS */
/*global window, rJS
, RSVP
*/
/*jslint indent: 2, maxerr: 3 */
(
function
(
window
,
rJS
)
{
(
function
(
window
,
rJS
,
RSVP
)
{
"
use strict
"
;
rJS
(
window
)
...
...
@@ -8,22 +8,30 @@
// handle acquisition
/////////////////////////////////////////////////////////////////
.
declareAcquiredMethod
(
"
updateHeader
"
,
"
updateHeader
"
)
.
declareAcquiredMethod
(
"
translate
Html
"
,
"
translateHtml
"
)
.
declareAcquiredMethod
(
"
translate
"
,
"
translate
"
)
.
declareAcquiredMethod
(
"
getSetting
"
,
"
getSetting
"
)
.
declareAcquiredMethod
(
"
setSetting
"
,
"
setSetting
"
)
.
declareAcquiredMethod
(
"
jio_get
"
,
"
jio_get
"
)
.
declareAcquiredMethod
(
"
jio_allDocs
"
,
"
jio_allDocs
"
)
.
declareAcquiredMethod
(
"
notifySubmitting
"
,
"
notifySubmitting
"
)
.
declareAcquiredMethod
(
"
notifySubmitted
"
,
"
notifySubmitted
"
)
.
declareAcquiredMethod
(
"
redirect
"
,
"
redirect
"
)
/////////////////////////////////////////////////////////////////
// declared methods
/////////////////////////////////////////////////////////////////
.
declareMethod
(
"
render
"
,
function
()
{
var
gadget
=
this
;
// XXX: Lot of DOM touches
var
gadget
=
this
,
user
=
"
Who are you?
"
;
return
gadget
.
updateHeader
({
page_title
:
'
Preference
'
page_title
:
'
Preference
'
,
save_action
:
true
})
.
push
(
function
()
{
return
gadget
.
getDeclaredGadget
(
"
erp5_form
"
);
})
.
push
(
function
(
erp5_form
)
{
gadget
.
state
.
erp5_form
=
erp5_form
;
return
gadget
.
getSetting
(
'
me
'
);
})
.
push
(
function
(
me
)
{
...
...
@@ -33,17 +41,89 @@
select_list
:
[
'
title
'
]
})
.
push
(
function
(
result
)
{
gadget
.
element
.
textContent
=
result
.
data
.
rows
[
0
].
value
.
title
;
user
=
result
.
data
.
rows
[
0
].
value
.
title
;
});
}
// gadget.props.element.textContent = me;
})
.
push
(
function
()
{
return
gadget
.
translateHtml
(
gadget
.
element
.
innerHTML
);
return
RSVP
.
all
([
gadget
.
getSetting
(
"
language_map
"
),
gadget
.
getSetting
(
"
selected_language
"
),
gadget
.
getSetting
(
"
default_selected_language
"
),
gadget
.
translate
(
"
User
"
),
gadget
.
translate
(
"
Language
"
)
]);
})
.
push
(
function
(
my_translated_html
)
{
gadget
.
element
.
innerHTML
=
my_translated_html
;
.
push
(
function
(
results
)
{
var
selected_language
=
results
[
1
]
||
results
[
2
],
key
,
list_item
=
[],
options
=
JSON
.
parse
(
results
[
0
]);
gadget
.
state
.
old_selected_lang
=
selected_language
;
for
(
key
in
options
)
{
if
(
options
.
hasOwnProperty
(
key
))
{
list_item
.
push
([
options
[
key
],
key
]);
}
}
return
gadget
.
state
.
erp5_form
.
render
({
erp5_document
:
{
"
_embedded
"
:
{
"
_view
"
:
{
'
User
'
:
{
"
default
"
:
user
,
"
editable
"
:
0
,
"
key
"
:
"
field_user
"
,
"
title
"
:
results
[
3
],
"
type
"
:
"
StringField
"
},
'
Language
'
:
{
"
default
"
:
selected_language
,
"
editable
"
:
1
,
"
items
"
:
list_item
,
"
key
"
:
"
field_language
"
,
"
title
"
:
results
[
4
],
"
type
"
:
"
ListField
"
}
}},
"
_links
"
:
{
"
type
"
:
{
// form_list display portal_type in header
name
:
""
}
}
},
form_definition
:
{
group_list
:
[[
"
left
"
,
[[
"
User
"
],
[
"
Language
"
]]
]]
}
});
});
})
.
declareMethod
(
'
triggerSubmit
'
,
function
()
{
this
.
element
.
querySelector
(
'
button
'
).
click
();
})
.
onEvent
(
'
submit
'
,
function
()
{
var
gadget
=
this
,
selected_lang
;
return
gadget
.
notifySubmitting
()
.
push
(
function
()
{
return
gadget
.
state
.
erp5_form
.
getContent
();
})
.
push
(
function
(
data
)
{
selected_lang
=
data
.
field_language
;
return
gadget
.
setSetting
(
"
selected_language
"
,
selected_lang
);
})
.
push
(
function
()
{
if
(
gadget
.
state
.
old_selected_lang
!==
selected_lang
)
{
return
gadget
.
redirect
({
command
:
'
change_language
'
,
options
:
{
language
:
selected_lang
}
});
}
return
gadget
.
notifySubmitted
();
});
});
}(
window
,
rJS
));
\ No newline at end of file
}(
window
,
rJS
,
RSVP
));
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_preferencepage_js.xml
View file @
524e5445
...
...
@@ -230,7 +230,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
4.47266.11723.40516
</string>
</value>
<value>
<string>
95
5.20539.55071.38980
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -248,7 +248,7 @@
</tuple>
<state>
<tuple>
<float>
147
6958263.79
</float>
<float>
147
9302491.62
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_tabpage_html.html
View file @
524e5445
<!DOCTYPE html>
<html>
<!--
data-i18n=Jumps
data-i18n=Breadcrumb
-->
<head>
<meta
http-equiv=
"Content-type"
content=
"text/html; charset=utf-8"
/>
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no"
/>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_tabpage_html.xml
View file @
524e5445
...
...
@@ -234,7 +234,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
9
46.44927.40202.16725
</string>
</value>
<value>
<string>
9
53.49748.33034.5700
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -252,7 +252,7 @@
</tuple>
<state>
<tuple>
<float>
14
60379644.0
</float>
<float>
14
74563753.89
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_relation_input_html.html
View file @
524e5445
...
...
@@ -34,15 +34,17 @@
<
li
class
=
"
ui-li-static ui-body-inherit ui-icon-mail-forward ui-btn-icon-right
"
data
-
relative
-
url
=
"
{{id}}
"
data
-
uid
=
"
{{uid}}
"
>
{{
value
}}
<
/li
>
{{
/
each
}}
{{
#
each
type
}}
<
li
class
=
"
ui-li-static ui-body-inherit ui-bar-inherit ui-icon-plus ui-btn-icon-right
"
data
-
create
-
object
=
"
{{this}}
"
name
=
"
{{this}}
"
>
Create
New
{{
this
}}:
{{..
/
value
}}
<
/li
>
<
li
class
=
"
ui-li-static ui-body-inherit ui-bar-inherit ui-icon-plus ui-btn-icon-right
"
data
-
i18n
=
"
Create New
"
data
-
create
-
object
=
"
{{value}}
"
name
=
"
{{name}}
"
>
Create
New
<
span
data
-
create
-
object
=
"
{{value}}
"
>
{{
name
}}:
{{..
/
value
}}
<
/span></
li
>
{{
/
each
}}
{{
else
}}
<!--
li
class
=
"
ui-autocomplete ui-li ui-li-divider ui-bar-inherit ui-first-child
"
role
=
"
heading
"
>
No
result
<
/li--
>
{{
#
each
type
}}
<
li
class
=
"
ui-li-static ui-body-inherit ui-bar-inherit ui-icon-plus ui-btn-icon-right
"
data
-
create
-
object
=
"
{{this}}
"
name
=
"
{{this}}
"
>
Create
New
{{
this
}}:
{{..
/
value
}}
<
/li
>
<
li
class
=
"
ui-li-static ui-body-inherit ui-bar-inherit ui-icon-plus ui-btn-icon-right
"
data
-
i18n
=
"
Create New
"
data
-
create
-
object
=
"
{{value}}
"
name
=
"
{{name}}
"
>
Create
New
<
span
data
-
create
-
object
=
"
{{value}}
"
>
{{
name
}}:
{{..
/
value
}}
<
/span></
li
>
{{
/
each
}}
{{
/if}
}
<
li
class
=
"
ui-li-static ui-body-inherit ui-last-child ui-bar-inherit ui-icon-search ui-btn-icon-right
"
data
-
explore
=
true
>
Explore
the
Search
Result
List
<
/li
>
<
li
class
=
"
ui-li-static ui-body-inherit ui-last-child ui-bar-inherit ui-icon-search ui-btn-icon-right
"
data
-
explore
=
true
data
-
i18n
=
"
Explore the Search Result List
"
>
Explore
the
Search
Result
List
<
/li
>
</script>
</head>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_relation_input_html.xml
View file @
524e5445
...
...
@@ -234,7 +234,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
5.7622.39581.2525
</string>
</value>
<value>
<string>
95
4.5712.44925.37444
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -252,7 +252,7 @@
</tuple>
<state>
<tuple>
<float>
147
8511768.91
</float>
<float>
147
4553624.23
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_relation_input_js.js
View file @
524e5445
...
...
@@ -86,6 +86,7 @@
url
:
options
.
url
,
allow_creation
:
options
.
allow_creation
,
portal_types
:
options
.
portal_types
,
translated_portal_types
:
options
.
translated_portal_types
,
has_focus
:
false
,
relation_index
:
options
.
relation_index
,
value_relative_url
:
options
.
value_relative_url
,
...
...
@@ -235,11 +236,14 @@
.
push
(
function
(
result
)
{
var
list
=
[],
i
,
type
;
if
(
gadget
.
state
.
allow_creation
)
{
type
=
gadget
.
state
.
portal_types
;
}
else
{
type
=
[];
if
(
gadget
.
state
.
allow_creation
)
{
for
(
i
=
0
;
i
<
gadget
.
state
.
portal_types
.
length
;
i
+=
1
)
{
type
.
push
({
name
:
gadget
.
state
.
translated_portal_types
[
i
],
value
:
gadget
.
state
.
portal_types
[
i
]
});
}
}
for
(
i
=
0
;
i
<
result
.
data
.
rows
.
length
;
i
+=
1
)
{
list
.
push
({
...
...
@@ -249,11 +253,14 @@
});
}
plane
.
className
=
JUMP_UNKNOWN_CLASS_STR
;
ul
.
innerHTML
=
relation_listview_template
({
return
gadget
.
translateHtml
(
relation_listview_template
({
list
:
list
,
type
:
type
,
value
:
value_text
});
}));
})
.
push
(
function
(
html
)
{
ul
.
innerHTML
=
html
;
});
});
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_relation_input_js.xml
View file @
524e5445
...
...
@@ -236,7 +236,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
955.
17976.26191.30156
</string>
</value>
<value>
<string>
955.
20665.33421.35549
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -254,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>
1479
133107.47
</float>
<float>
1479
294380.88
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_relationstringfield_js.js
View file @
524e5445
...
...
@@ -24,6 +24,7 @@
url
:
field_json
.
url
,
allow_creation
:
field_json
.
allow_creation
,
portal_types
:
field_json
.
portal_types
,
translated_portal_types
:
field_json
.
translated_portal_types
,
value_relative_url
:
field_json
.
relation_item_relative_url
[
0
],
relation_index
:
0
,
hidden
:
field_json
.
hidden
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_relationstringfield_js.xml
View file @
524e5445
...
...
@@ -230,7 +230,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
955.
7643.7350.21333
</string>
</value>
<value>
<string>
955.
18006.50413.2645
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -248,7 +248,7 @@
</tuple>
<state>
<tuple>
<float>
1479
375314.48
</float>
<float>
1479
293469.27
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_router_js.js
View file @
524e5445
...
...
@@ -27,6 +27,8 @@
COMMAND_SELECTION_NEXT
=
"
selection_next
"
,
COMMAND_HISTORY_PREVIOUS
=
"
history_previous
"
,
COMMAND_PUSH_HISTORY
=
"
push_history
"
,
COMMAND_CHANGE_LANGUAGE
=
"
change_language
"
,
REDIRECT_TIMEOUT
=
5055
,
VALID_URL_COMMAND_DICT
=
{};
VALID_URL_COMMAND_DICT
[
COMMAND_DISPLAY_STATE
]
=
null
;
VALID_URL_COMMAND_DICT
[
COMMAND_DISPLAY_STORED_STATE
]
=
null
;
...
...
@@ -40,6 +42,7 @@
VALID_URL_COMMAND_DICT
[
COMMAND_LOGIN
]
=
null
;
VALID_URL_COMMAND_DICT
[
COMMAND_RAW
]
=
null
;
VALID_URL_COMMAND_DICT
[
COMMAND_RELOAD
]
=
null
;
VALID_URL_COMMAND_DICT
[
COMMAND_CHANGE_LANGUAGE
]
=
null
;
function
endsWith
(
str
,
suffix
)
{
...
...
@@ -108,6 +111,20 @@
if
(
command
===
COMMAND_RAW
)
{
return
options
.
url
;
}
if
(
command
===
COMMAND_CHANGE_LANGUAGE
)
{
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
return
gadget
.
getSetting
(
"
website_url_set
"
);
})
.
push
(
function
(
result
)
{
var
param_list
=
window
.
location
.
hash
.
split
(
'
#
'
)[
1
],
new_url
=
JSON
.
parse
(
result
)[
options
.
language
];
if
(
param_list
)
{
new_url
+=
'
#
'
+
param_list
;
}
return
new_url
;
});
}
var
result
=
"
#
"
+
PREFIX_COMMAND
+
(
command
||
""
),
prefix
=
"
?
"
,
key
,
...
...
@@ -858,7 +875,33 @@
})
.
declareMethod
(
'
start
'
,
function
()
{
this
.
props
.
start_deferred
.
resolve
();
var
gadget
=
this
;
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
return
RSVP
.
all
([
gadget
.
getSetting
(
"
selected_language
"
),
gadget
.
getSetting
(
"
default_selected_language
"
)
]);
})
.
push
(
function
(
results
)
{
if
(
results
[
1
]
!==
results
[
0
]
&&
results
[
0
])
{
return
gadget
.
redirect
({
command
:
'
change_language
'
,
options
:
{
language
:
results
[
0
]
}
});
}
})
.
push
(
function
()
{
gadget
.
props
.
start_deferred
.
resolve
();
})
.
push
(
undefined
,
function
(
error
)
{
if
(
error
instanceof
RSVP
.
CancellationError
)
{
return
;
}
throw
error
;
});
})
.
declareAcquiredMethod
(
'
renderApplication
'
,
'
renderApplication
'
)
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_router_js.xml
View file @
524e5445
...
...
@@ -232,7 +232,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
4.57620.63396.4677
9
</string>
</value>
<value>
<string>
95
5.20572.17338.6341
9
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -250,7 +250,7 @@
</tuple>
<state>
<tuple>
<float>
147
7580291.06
</float>
<float>
147
9288846.05
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searcheditor_html.html
View file @
524e5445
<!DOCTYPE html>
<html>
<!--
data-i18n=All criterions (AND)
data-i18n=At least one (OR)
data-i18n=Exact Match
data-i18n=keyword
data-i18n=Contain
data-i18n=Equals To
data-i18n=Greater Than
data-i18n=Less Than
data-i18n=Not Greater Than
data-i18n=Not Less Than
data-i18n=Searchable Text
-->
<head>
<meta
charset=
"utf-8"
/>
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no"
/>
...
...
@@ -83,7 +96,7 @@
<
fieldset
class
=
"
ui-controlgroup ui-corner-all
"
>
<
select
data
-
iconpos
=
"
left
"
name
=
"
heard_about
"
>
<
option
data
-
i18n
=
"
All criterions (AND)
"
value
=
"
AND
"
>
All
criterions
(
AND
)
<
/option
>
<
option
data
-
i18n
=
"
At leas
e one (OR)
"
value
=
"
OR
"
>
At
lease
one
(
OR
)
<
/option
>
<
option
data
-
i18n
=
"
At leas
t one (OR)
"
value
=
"
OR
"
>
At
least
one
(
OR
)
<
/option
>
<
/select
>
<
/fieldset
>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_searcheditor_html.xml
View file @
524e5445
...
...
@@ -234,7 +234,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
2.34496.35921.52275
</string>
</value>
<value>
<string>
95
4.7210.40753.48042
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -252,7 +252,7 @@
</tuple>
<state>
<tuple>
<float>
14
68414694.8
</float>
<float>
14
74905528.91
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_translation_html.html
View file @
524e5445
...
...
@@ -9,7 +9,6 @@
<script
src=
"rsvp.js"
type=
"text/javascript"
></script>
<script
src=
"renderjs.js"
type=
"text/javascript"
></script>
<script
src=
"i18next.js"
></script>
<!-- custom script -->
<script
src=
"gadget_translation_data.js"
type=
"text/javascript"
></script>
<script
src=
"gadget_translation.js"
type=
"text/javascript"
></script>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_translation_html.xml
View file @
524e5445
...
...
@@ -224,7 +224,7 @@
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
romain
</string>
</value>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
...
...
@@ -238,7 +238,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
94
5.43799.10287.64221
</string>
</value>
<value>
<string>
94
9.45349.17509.30190
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -256,8 +256,8 @@
</tuple>
<state>
<tuple>
<float>
14
45935119.77
</float>
<string>
GMT
</string>
<float>
14
67132987.54
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_translation_js.js
View file @
524e5445
/*global document, window, rJS, translation_data */
/*global document, window, rJS, translation_data
, RSVP
*/
/*jslint nomen: true, indent: 2 */
(
function
(
document
,
window
,
rJS
,
translation_data
)
{
(
function
(
document
,
window
,
rJS
,
translation_data
,
RSVP
)
{
"
use strict
"
;
function
translate
(
string
)
{
// XXX i18n.t
return
translation_data
.
en
[
string
]
||
string
;
function
translate
(
string
,
gadget
)
{
return
translation_data
[
gadget
.
state
.
language
][
string
]
||
string
;
}
rJS
(
window
)
/////////////////////////////////////////////////////////////////
// ready
/////////////////////////////////////////////////////////////////
.
ready
(
function
(
gadget
)
{
gadget
.
property_dict
=
{};
})
.
declareMethod
(
'
translate
'
,
function
(
string
)
{
// XXX Allow to change the language
return
translate
(
string
);
})
// translate a list of elements passed and returned as string
.
declareMethod
(
'
translateHtml
'
,
function
(
my_string
)
{
function
translateHtml
(
string
,
gadget
)
{
var
temp
,
element_list
,
i
,
i_len
,
element
,
lookup
,
translate_list
,
target
,
route_text
,
has_breaks
,
l
,
l_len
,
gadget
,
j
,
j_len
;
gadget
=
this
;
// skip if no translations available
if
(
gadget
.
property_dict
.
translation_disabled
)
{
return
my_string
;
}
route_text
,
has_breaks
,
l
,
l_len
,
j
,
j_len
;
// NOTE: <div> cannot be used for everything... (like table rows)
// XXX: currently I only update where needed. Eventually all calls to
// translateHtml should pass "their" proper wrapping element
temp
=
document
.
createElement
(
"
div
"
);
temp
.
innerHTML
=
my_
string
;
temp
.
innerHTML
=
string
;
element_list
=
temp
.
querySelectorAll
(
"
[data-i18n]
"
);
...
...
@@ -56,7 +33,7 @@
case
"
[placeholder
"
:
case
"
[alt
"
:
case
"
[title
"
:
element
.
setAttribute
(
target
[
0
].
substr
(
1
),
translate
(
target
[
1
]
));
element
.
setAttribute
(
target
[
0
].
substr
(
1
),
translate
(
target
[
1
],
gadget
));
break
;
case
"
[value
"
:
has_breaks
=
element
.
previousSibling
.
textContent
.
match
(
/
\n
/g
);
...
...
@@ -72,37 +49,37 @@
}
}
if
(
route_text
&&
(
has_breaks
||
[]).
length
===
0
)
{
element
.
previousSibling
.
textContent
=
translate
(
target
[
1
]
);
element
.
previousSibling
.
textContent
=
translate
(
target
[
1
],
gadget
);
}
element
.
value
=
translate
(
target
[
1
]
);
element
.
value
=
translate
(
target
[
1
],
gadget
);
break
;
case
"
[parent
"
:
element
.
parentNode
.
childNodes
[
0
].
textContent
=
translate
(
target
[
1
]
);
translate
(
target
[
1
],
gadget
);
break
;
case
"
[node
"
:
element
.
childNodes
[
0
].
textContent
=
translate
(
target
[
1
]
);
element
.
childNodes
[
0
].
textContent
=
translate
(
target
[
1
],
gadget
);
break
;
case
"
[last
"
:
// if null, append, if textnode replace, if span, appned
if
(
element
.
lastChild
&&
element
.
lastChild
.
nodeType
===
3
)
{
element
.
lastChild
.
textContent
=
translate
(
target
[
1
]
);
element
.
lastChild
.
textContent
=
translate
(
target
[
1
],
gadget
);
}
else
{
element
.
appendChild
(
document
.
createTextNode
(
translate
(
target
[
1
]
)));
element
.
appendChild
(
document
.
createTextNode
(
translate
(
target
[
1
],
gadget
)));
}
break
;
case
"
[html
"
:
element
.
innerHTML
=
translate
(
target
[
1
]
);
element
.
innerHTML
=
translate
(
target
[
1
],
gadget
);
break
;
default
:
if
(
element
.
hasChildNodes
())
{
for
(
j
=
0
,
j_len
=
element
.
childNodes
.
length
;
j
<
j_len
;
j
+=
1
)
{
if
(
element
.
childNodes
[
j
].
nodeType
===
3
)
{
element
.
childNodes
[
j
].
textContent
=
translate
(
translate_list
[
l
]
);
element
.
childNodes
[
j
].
textContent
=
translate
(
translate_list
[
l
],
gadget
);
}
}
}
else
{
element
.
textContent
=
translate
(
translate_list
[
l
]
);
element
.
textContent
=
translate
(
translate_list
[
l
],
gadget
);
}
break
;
}
...
...
@@ -111,6 +88,45 @@
}
// return string
return
temp
.
innerHTML
;
}
rJS
(
window
)
.
declareAcquiredMethod
(
"
getSetting
"
,
"
getSetting
"
)
.
declareMethod
(
'
translate
'
,
function
(
string
)
{
// XXX Allow to change the language
var
gadget
=
this
;
if
(
!
gadget
.
state
.
language
)
{
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
return
RSVP
.
all
([
gadget
.
getSetting
(
"
selected_language
"
),
gadget
.
getSetting
(
"
default_selected_language
"
)
]);
})
.
push
(
function
(
results
)
{
gadget
.
state
.
language
=
results
[
0
]
||
results
[
1
];
return
translate
(
string
,
gadget
);
});
}
return
translate
(
string
,
gadget
);
})
.
declareMethod
(
'
translateHtml
'
,
function
(
string
)
{
var
gadget
=
this
;
if
(
!
gadget
.
state
.
language
)
{
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
return
RSVP
.
all
([
gadget
.
getSetting
(
"
selected_language
"
),
gadget
.
getSetting
(
"
default_selected_language
"
)
]);
})
.
push
(
function
(
results
)
{
gadget
.
state
.
language
=
results
[
0
]
||
results
[
1
];
return
translateHtml
(
string
,
gadget
);
});
}
return
translateHtml
(
string
,
gadget
);
});
}(
document
,
window
,
rJS
,
translation_data
));
}(
document
,
window
,
rJS
,
translation_data
,
RSVP
));
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_translation_js.xml
View file @
524e5445
...
...
@@ -234,7 +234,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
9
48.17388.42239.34542
</string>
</value>
<value>
<string>
9
55.18006.50413.2645
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -252,7 +252,7 @@
</tuple>
<state>
<tuple>
<float>
14
52009218.06
</float>
<float>
14
79302155.8
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_plugin_i18next_js.js
deleted
100644 → 0
View file @
d1085bd6
This source diff could not be displayed because it is too large. You can
view the blob
instead.
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_plugin_i18next_js.xml
deleted
100644 → 0
View file @
d1085bd6
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Web Script"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_Access_contents_information_Permission
</string>
</key>
<value>
<tuple>
<string>
Anonymous
</string>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Add_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Change_local_roles_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Modify_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_View_Permission
</string>
</key>
<value>
<tuple>
<string>
Anonymous
</string>
<string>
Assignee
</string>
<string>
Assignor
</string>
<string>
Associate
</string>
<string>
Auditor
</string>
<string>
Manager
</string>
<string>
Owner
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
content_md5
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
i18next.js
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
rjs_plugin_i18next_js
</string>
</value>
</item>
<item>
<key>
<string>
language
</string>
</key>
<value>
<string>
en
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Web Script
</string>
</value>
</item>
<item>
<key>
<string>
short_title
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
plugin i18next JS
</string>
</value>
</item>
<item>
<key>
<string>
version
</string>
</key>
<value>
<string>
1.7.4
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</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>
<item>
<key>
<string>
document_publication_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
edit_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
processing_status_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
publish_alive
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
super_sven
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1418835142.27
</float>
<string>
GMT
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
published_alive
</string>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
edit
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
super_sven
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
939.44304.41368.21111
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
<value>
<string>
current
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1418834941.27
</float>
<string>
GMT
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
detect_converted_file
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
super_sven
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
external_processing_state
</string>
</key>
<value>
<string>
converted
</string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
0.0.0.0
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1418834767.8
</float>
<string>
GMT
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_site_module/renderjs_runner.xml
View file @
524e5445
...
...
@@ -397,7 +397,7 @@
</item>
<item>
<key>
<string>
static_language_selection
</string>
</key>
<value>
<int>
0
</int>
</value>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
...
...
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs/Base_createTranslateData.py
0 → 100644
View file @
524e5445
import
re
import
json
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
=
[]
web_page_list
=
context
.
Base_getListFileFromAppcache
(
only_html
=
1
)
for
web_page
in
web_page_list
:
web_page
=
context
.
web_page_module
.
searchFolder
(
portal_type
=
'Web Page'
,
reference
=
web_page
)[
0
]
data
=
attribute_filter_re
.
findall
(
web_page
.
getTextContent
())
for
attribute
in
data
:
a
=
re
.
sub
(
r'[{|}]'
,
""
,
attribute
[
1
])
a
=
re
.
sub
(
r'\
[.*?
\]'
,
""
,
a
)
if
a
:
translate_word
.
append
(
a
)
translate_word
=
list
(
set
(
translate_word
))
language_list
=
context
.
getAvailableLanguageSet
()
content
=
"""
/*globals window*/
\
n
/*jslint indent: 2, nomen: true, maxlen: 80*/
\
n
(function (window) {
\
n
"use strict";
\
n
"""
tmp
=
{}
for
language
in
language_list
:
tmp
[
language
]
=
{}
for
word
in
translate_word
:
tmp
[
language
][
word
]
=
Base_translateString
(
word
,
lang
=
language
)
content
+=
" window.translation_data = "
+
json
.
dumps
(
tmp
,
indent
=
3
,
ensure_ascii
=
False
,
separators
=
(
','
,
': '
))
content
+=
";
\
n
}(window));"
#return json.dumps(tmp, indent=3, ensure_ascii=False, separators=(',', ': '))
translation_data_file
=
context
.
web_page_module
.
searchFolder
(
portal_type
=
'Web Script'
,
reference
=
translation_data_file
)[
0
]
translation_data_file
.
edit
(
text_content
=
content
)
if
batch_mode
:
return
'done'
return
context
.
Base_redirect
(
'view'
,
keep_items
=
dict
(
portal_status_message
=
Base_translateString
(
"Translation Data Create"
)))
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs/Base_createTranslateData.xml
0 → 100644
View file @
524e5445
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"PythonScript"
module=
"Products.PythonScripts.PythonScript"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
Script_magic
</string>
</key>
<value>
<int>
3
</int>
</value>
</item>
<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_container
</string>
</key>
<value>
<string>
container
</string>
</value>
</item>
<item>
<key>
<string>
name_context
</string>
</key>
<value>
<string>
context
</string>
</value>
</item>
<item>
<key>
<string>
name_m_self
</string>
</key>
<value>
<string>
script
</string>
</value>
</item>
<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>
_params
</string>
</key>
<value>
<string>
translation_data_file, batch_mode=0
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
Base_createTranslateData
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs/Base_getListFileFromAppcache.py
0 → 100644
View file @
524e5445
appcache_file
=
context
.
getLayoutProperty
(
"configuration_manifest_url"
,
default
=
"gadget_erp5.appcache"
)
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
)
continue
if
file
.
endswith
(
'.js'
)
and
not
only_html
:
if
file
.
endswith
(
'translation_data.js'
):
translation_data_file
=
[
file
]
continue
file_list
.
append
(
file
)
return
translation_data_file
+
file_list
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs/Base_getListFileFromAppcache.xml
0 → 100644
View file @
524e5445
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"PythonScript"
module=
"Products.PythonScripts.PythonScript"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
Script_magic
</string>
</key>
<value>
<int>
3
</int>
</value>
</item>
<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_container
</string>
</key>
<value>
<string>
container
</string>
</value>
</item>
<item>
<key>
<string>
name_context
</string>
</key>
<value>
<string>
context
</string>
</value>
</item>
<item>
<key>
<string>
name_m_self
</string>
</key>
<value>
<string>
script
</string>
</value>
</item>
<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>
_params
</string>
</key>
<value>
<string>
only_html = 0
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
Base_getListFileFromAppcache
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs/WebSite_createTranslationData.xml
0 → 100644
View file @
524e5445
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"ERP5 Form"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_objects
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
Base_createTranslateData
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
edit_order
</string>
</key>
<value>
<list/>
</value>
</item>
<item>
<key>
<string>
encoding
</string>
</key>
<value>
<string>
UTF-8
</string>
</value>
</item>
<item>
<key>
<string>
enctype
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
group_list
</string>
</key>
<value>
<list>
<string>
left
</string>
<string>
right
</string>
<string>
center
</string>
<string>
bottom
</string>
<string>
hidden
</string>
</list>
</value>
</item>
<item>
<key>
<string>
groups
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
bottom
</string>
</key>
<value>
<list/>
</value>
</item>
<item>
<key>
<string>
center
</string>
</key>
<value>
<list/>
</value>
</item>
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<list/>
</value>
</item>
<item>
<key>
<string>
left
</string>
</key>
<value>
<list>
<string>
your_translation_data_file
</string>
</list>
</value>
</item>
<item>
<key>
<string>
right
</string>
</key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
WebSite_createTranslationData
</string>
</value>
</item>
<item>
<key>
<string>
method
</string>
</key>
<value>
<string>
POST
</string>
</value>
</item>
<item>
<key>
<string>
name
</string>
</key>
<value>
<string>
WebSite_createTranslationData
</string>
</value>
</item>
<item>
<key>
<string>
pt
</string>
</key>
<value>
<string>
form_dialog
</string>
</value>
</item>
<item>
<key>
<string>
row_length
</string>
</key>
<value>
<int>
4
</int>
</value>
</item>
<item>
<key>
<string>
stored_encoding
</string>
</key>
<value>
<string>
UTF-8
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Create Translation Data
</string>
</value>
</item>
<item>
<key>
<string>
unicode_mode
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
update_action
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
update_action_title
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs/WebSite_createTranslationData/your_translation_data_file.xml
0 → 100644
View file @
524e5445
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"ListField"
module=
"Products.Formulator.StandardFields"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
your_translation_data_file
</string>
</value>
</item>
<item>
<key>
<string>
message_values
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
external_validator_failed
</string>
</key>
<value>
<string>
The input failed the external validator.
</string>
</value>
</item>
<item>
<key>
<string>
required_not_found
</string>
</key>
<value>
<string>
Input is required but no input given.
</string>
</value>
</item>
<item>
<key>
<string>
unknown_selection
</string>
</key>
<value>
<string>
You selected an item that was not in the list.
</string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
overrides
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
alternate_name
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
css_class
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
editable
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
enabled
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
external_validator
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
extra
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
extra_item
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
first_item
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
items
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
required
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
size
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
unicode
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
whitespace_preserve
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
tales
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
alternate_name
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
css_class
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
editable
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
enabled
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
external_validator
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
extra
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
extra_item
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
first_item
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
items
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
required
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
size
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
unicode
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
whitespace_preserve
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
values
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
alternate_name
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
css_class
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
editable
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
enabled
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
external_validator
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
extra
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
extra_item
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
first_item
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
items
</string>
</key>
<value>
<list/>
</value>
</item>
<item>
<key>
<string>
required
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
size
</string>
</key>
<value>
<int>
5
</int>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Translation Data File
</string>
</value>
</item>
<item>
<key>
<string>
unicode
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
whitespace_preserve
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"TALESMethod"
module=
"Products.Formulator.TALESField"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_text
</string>
</key>
<value>
<string>
python: [ (x,x) for x in here.Base_getListFileFromAppcache()]
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/WebSection_renderDefaultPageAsGadget.py
View file @
524e5445
import
json
import
re
if
REQUEST
is
None
:
REQUEST
=
context
.
REQUEST
if
response
is
None
:
...
...
@@ -6,6 +9,22 @@ if response is None:
default_web_page
=
context
web_section
=
REQUEST
.
get
(
"current_web_section"
)
available_language_set
=
web_section
.
getLayoutProperty
(
"available_language_set"
,
default
=
[
'en'
])
portal
=
context
.
getPortalObject
()
default_language
=
web_section
.
getLayoutProperty
(
"default_available_language"
,
default
=
'en'
)
website_url_set
=
{}
#simplify code of Base_doLanguage, can't ues Base_doLanguage directly
root_website_url
=
web_section
.
getOriginalDocument
().
absolute_url
()
website_url_pattern
=
r'^%s(?:%s)*(/|$)'
%
(
re
.
escape
(
root_website_url
),
'|'
.
join
(
'/'
+
re
.
escape
(
x
)
for
x
in
available_language_set
))
for
language
in
available_language_set
:
if
language
==
default_language
:
website_url_set
[
language
]
=
re
.
sub
(
website_url_pattern
,
r'%s/\1'
%
root_website_url
,
web_section
.
absolute_url
())
else
:
website_url_set
[
language
]
=
re
.
sub
(
website_url_pattern
,
r'%s/%s/\1'
%
(
root_website_url
,
language
),
web_section
.
absolute_url
())
return
default_web_page
.
WebPage_viewAsWeb
(
mapping_dict
=
{
"frontpage_gadget"
:
web_section
.
getLayoutProperty
(
"configuration_frontpage_gadget_url"
,
default
=
"worklist"
),
...
...
@@ -18,5 +37,8 @@ return default_web_page.WebPage_viewAsWeb(mapping_dict={
"header_gadget"
:
web_section
.
getLayoutProperty
(
"configuration_header_gadget_url"
,
default
=
"gadget_erp5_header.html"
),
"jio_gadget"
:
web_section
.
getLayoutProperty
(
"configuration_jio_gadget_url"
,
default
=
"gadget_jio.html"
),
"translation_gadget"
:
web_section
.
getLayoutProperty
(
"configuration_translation_gadget_url"
,
default
=
"gadget_translation.html"
),
"manifest_url"
:
web_section
.
getLayoutProperty
(
"configuration_manifest_url"
,
default
=
"gadget_erp5.appcache"
)
"manifest_url"
:
web_section
.
getLayoutProperty
(
"configuration_manifest_url"
,
default
=
"gadget_erp5.appcache"
),
"language_map"
:
json
.
dumps
({
tmp
[
'id'
]:
portal
.
Base_translateString
(
tmp
[
'title'
],
lang
=
tmp
[
'id'
])
for
tmp
in
portal
.
Localizer
.
get_languages_map
()
if
tmp
[
'id'
]
in
available_language_set
}),
"default_selected_language"
:
portal
.
Localizer
.
get_selected_language
(),
"website_url_set"
:
json
.
dumps
(
website_url_set
),
})
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/WebSite_login.py
View file @
524e5445
...
...
@@ -6,7 +6,8 @@ from ZTUtils import make_query
portal
=
context
.
getPortalObject
()
if
(
came_from
is
None
):
came_from
=
context
.
getPermanentURL
(
context
.
getWebSiteValue
())
#XXX Hardcoded for JS app's url end with '/'
came_from
=
"%s/"
%
context
.
getPermanentURL
(
context
.
getWebSiteValue
())
portal
.
portal_skins
.
updateSkinCookie
()
portal
.
setupCurrentSkin
(
REQUEST
)
...
...
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/WebSite_viewRecoverAccount.zpt
View file @
524e5445
...
...
@@ -10,7 +10,7 @@
<div
data-gadget-scope=
'header'
>
<div
class=
"ui-header"
>
<h1><span>
Recover your account
</span></h1>
<h1><span
i18n:domain=
"ui"
i18n:translate=
""
>
Recover your account
</span></h1>
</div>
</div>
...
...
@@ -28,13 +28,13 @@
<section>
<form
method=
"post"
tal:attributes=
"action python: context.absolute_url()"
>
<div
class=
"ui-field-contain"
>
<label
data-i18n=
"Login"
>
Login
<span></span>
</label>
<label
i18n:domain=
"ui"
i18n:translate=
""
>
Login
</label>
<div><input
autofocus
type=
"text"
name=
"user_login"
value=
""
required=
""
></div>
</div>
<br/>
<div
class=
"ui-field-contain"
>
<label></label>
<div><input
type=
"submit"
data-i18n=
"[value]Validate"
value=
"Validate
"
tal:attributes=
"name python: '%s:method' % (form_action, )"
/></div>
<div><input
type=
"submit"
value=
"Validate"
i18n:attributes=
"value"
i18n:domain=
"ui
"
tal:attributes=
"name python: '%s:method' % (form_action, )"
/></div>
</div>
<input
type=
"hidden"
name=
"url"
tal:attributes=
"value python: context.absolute_url()"
/>
...
...
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/login_form.zpt
View file @
524e5445
...
...
@@ -10,7 +10,7 @@
<div
data-gadget-scope=
'header'
>
<div
class=
"ui-header"
>
<h1><span>
Connect
</span></h1>
<h1><span
i18n:domain=
"ui"
i18n:translate=
""
>
Connect
</span></h1>
</div>
</div>
...
...
@@ -34,22 +34,22 @@
<form
method=
"post"
tal:attributes=
"action python: '%s/' % context.absolute_url()"
>
<div
class=
"ui-field-contain"
>
<label
data-i18n=
"Login"
>
Login
<span></span>
</label>
<label
i18n:domain=
"ui"
i18n:translate=
""
>
Login
</label>
<div><input
autofocus
type=
"text"
name=
"__ac_name"
value=
""
required=
""
></div>
</div>
<div
class=
"ui-field-contain"
>
<label
data-i18n=
"Password"
>
Password
<span></span>
</label>
<label
i18n:domain=
"ui"
i18n:translate=
""
>
Password
</label>
<div><input
type=
"password"
name=
"__ac_password"
value=
""
required=
""
></div>
</div>
<div
class=
"ui-field-contain"
>
<label></label>
<div
tal:define=
"absolute_url python:context.absolute_url()"
>
<a
tal:attributes=
"href python: '%s/WebSite_viewRecoverAccount?came_from=%s' % (absolute_url, absolute_url)"
>
I forgot my password!
</a>
<a
i18n:domain=
"ui"
i18n:translate=
""
tal:attributes=
"href python: '%s/WebSite_viewRecoverAccount?came_from=%s' % (absolute_url, absolute_url)"
>
I forgot my password!
</a>
</div>
</div><br/>
<div
class=
"ui-field-contain"
>
<label></label>
<div><input
type=
"submit"
value=
"Login"
tal:attributes=
"name python: '%s:method' % (form_action, )"
/></div>
<div><input
type=
"submit"
value=
'Login'
i18n:attributes=
"value"
i18n:domain=
"ui"
tal:attributes=
"name python: '%s:method' % (form_action, )"
/></div>
</div>
...
...
bt5/erp5_web_renderjs_ui/bt/template_action_path_list
View file @
524e5445
...
...
@@ -7,6 +7,7 @@ Web Script | view
Web Script | view_editor
Web Script | view_syntax
Web Script | web_view
Web Site | create_translation_data
Web Style | version_view
Web Style | view
Web Style | view_editor
...
...
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