Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Romain Courteaud
slapos.core
Commits
0f0e7121
Commit
0f0e7121
authored
Jan 08, 2025
by
Romain Courteaud
🐸
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
slapos_panel: use hateoas action filter script
It allows to reuse the erp5js header gadget. See
nexedi/erp5!2039
parent
d22e4e68
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
91 additions
and
1246 deletions
+91
-1246
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_base/WebSection_getPanelPrecacheManifestList.py
...ns/slapos_base/WebSection_getPanelPrecacheManifestList.py
+0
-2
master/bt5/slapos_erp5/TestTemplateItem/portal_components/test.erp5.testSlapOSCodingStyle.py
...Item/portal_components/test.erp5.testSlapOSCodingStyle.py
+1
-0
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_header_html.html
...Item/web_page_module/slapos_master_panel_header_html.html
+0
-68
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_header_html.xml
...eItem/web_page_module/slapos_master_panel_header_html.xml
+0
-340
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_header_js.js
...lateItem/web_page_module/slapos_master_panel_header_js.js
+0
-457
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_header_js.xml
...ateItem/web_page_module/slapos_master_panel_header_js.xml
+0
-342
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_panel_js.js
...plateItem/web_page_module/slapos_master_panel_panel_js.js
+0
-2
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_panel_js.xml
...lateItem/web_page_module/slapos_master_panel_panel_js.xml
+2
-2
master/bt5/slapos_panel/PathTemplateItem/web_site_module/slapos_master_panel.xml
.../PathTemplateItem/web_site_module/slapos_master_panel.xml
+6
-31
master/bt5/slapos_panel/PathTemplateItem/web_site_module/slapos_master_panel/hateoas.xml
...plateItem/web_site_module/slapos_master_panel/hateoas.xml
+16
-2
master/bt5/slapos_panel/SkinTemplateItem/portal_skins/slapos_panel/WebSection_filterSlaposPanelActionDict.py
...ns/slapos_panel/WebSection_filterSlaposPanelActionDict.py
+4
-0
master/bt5/slapos_panel/SkinTemplateItem/portal_skins/slapos_panel/WebSection_filterSlaposPanelActionDict.xml
...s/slapos_panel/WebSection_filterSlaposPanelActionDict.xml
+62
-0
No files found.
master/bt5/slapos_erp5/SkinTemplateItem/portal_skins/slapos_base/WebSection_getPanelPrecacheManifestList.py
View file @
0f0e7121
...
@@ -3,8 +3,6 @@ url_list = [
...
@@ -3,8 +3,6 @@ url_list = [
'slapos_master_panel_access.js'
,
'slapos_master_panel_access.js'
,
'gadget_erp5_page_slapos_master_panel_external_payment_result.html'
,
'gadget_erp5_page_slapos_master_panel_external_payment_result.html'
,
'slapos_master_panel_external_payment_result.js'
,
'slapos_master_panel_external_payment_result.js'
,
'slapos_master_panel_header.html'
,
'slapos_master_panel_header.js'
,
'slapos_master_panel_import_product.html'
,
'slapos_master_panel_import_product.html'
,
'slapos_master_panel_import_product.js'
,
'slapos_master_panel_import_product.js'
,
'slapos_master_panel_panel.html'
,
'slapos_master_panel_panel.html'
,
...
...
master/bt5/slapos_erp5/TestTemplateItem/portal_components/test.erp5.testSlapOSCodingStyle.py
View file @
0f0e7121
...
@@ -281,6 +281,7 @@ def makeTestSlapOSCodingStyleTestCase(tested_business_template):
...
@@ -281,6 +281,7 @@ def makeTestSlapOSCodingStyleTestCase(tested_business_template):
'slapos_panel/PaymentTransaction_triggerPaymentCheckAlarmAndRedirectToPanel'
,
'slapos_panel/PaymentTransaction_triggerPaymentCheckAlarmAndRedirectToPanel'
,
'slapos_panel/SoftwareInstance_getComputeNodeUrl'
,
'slapos_panel/SoftwareInstance_getComputeNodeUrl'
,
'slapos_panel_compatibility/Base_getComputerToken'
,
'slapos_panel_compatibility/Base_getComputerToken'
,
'slapos_panel/WebSection_filterSlaposPanelActionDict'
,
'slapos_parameter_editor/SoftwareProductModule_updateParameterEditorTestDialog'
,
'slapos_parameter_editor/SoftwareProductModule_updateParameterEditorTestDialog'
,
'slapos_parameter_editor/SoftwareProductModule_validateParameterEditorTestDialog'
,
'slapos_parameter_editor/SoftwareProductModule_validateParameterEditorTestDialog'
,
'slapos_parameter_editor/SoftwareProductModule_validateSoftwareReleaseForParameterEditorTestDialog'
,
'slapos_parameter_editor/SoftwareProductModule_validateSoftwareReleaseForParameterEditorTestDialog'
,
...
...
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_header_html.html
deleted
100644 → 0
View file @
d22e4e68
<!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
data-i18n=Fast Input
data-i18n=Language
-->
<meta
http-equiv=
"Content-type"
content=
"text/html; charset=utf-8"
/>
<meta
name=
"viewport"
content=
"width=device-width"
/>
<title>
ERP5 Header
</title>
<link
rel=
"http://www.renderjs.org/rel/interface"
href=
"interface_header.html"
>
<!-- renderjs -->
<script
src=
"rsvp.js"
type=
"text/javascript"
></script>
<script
src=
"renderjs.js"
type=
"text/javascript"
></script>
<script
src=
"gadget_global.js"
type=
"text/javascript"
></script>
<script
src=
"domsugar.js"
type=
"text/javascript"
></script>
<!-- custom script -->
<script
src=
"slapos_master_panel_header.js"
type=
"text/javascript"
></script>
</head>
<body>
<div
data-role=
"header"
class=
"ui-header"
>
<div
class=
"ui-btn-left"
>
<div
class=
"ui-controlgroup-controls"
>
</div>
</div>
<h1></h1>
<div
class=
"ui-btn-right"
>
<div
class=
"ui-controlgroup-controls"
>
</div>
</div>
<div
class=
"ui-subheader"
>
<ul>
</ul>
</div>
</div>
</body>
</html>
\ No newline at end of file
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_header_html.xml
deleted
100644 → 0
View file @
d22e4e68
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Web Page"
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>
</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>
</tuple>
</value>
</item>
<item>
<key>
<string>
content_md5
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
content_type
</string>
</key>
<value>
<string>
text/html
</string>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
slapos_master_panel_header.html
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
slapos_master_panel_header_html
</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 Page
</string>
</value>
</item>
<item>
<key>
<string>
short_title
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
SlapOS Master Panel Header
</string>
</value>
</item>
<item>
<key>
<string>
version
</string>
</key>
<value>
<string>
001
</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.Workflow"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_log
</string>
</key>
<value>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
publish_alive
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</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=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</tuple>
<state>
<tuple>
<float>
1666254210.23
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
published_alive
</string>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_log
</string>
</key>
<value>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
edit
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</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>
1003.49975.52473.33689
</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=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257236.7
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_log
</string>
</key>
<value>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
detect_converted_file
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</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=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</tuple>
<state>
<tuple>
<float>
1666254180.48
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_header_js.js
deleted
100644 → 0
View file @
d22e4e68
/*jslint nomen: true, indent: 2, maxerr: 3 */
/*global window, rJS, document, RSVP, domsugar */
(
function
(
window
,
rJS
,
document
,
RSVP
,
domsugar
)
{
"
use strict
"
;
var
possible_left_button_list
=
[
[
'
panel_action
'
,
'
Menu
'
,
'
bars
'
,
'
panel
'
]
],
possible_main_link_list
=
[
// ['menu_url', 'Menu', 'bars'],
[
'
front_url
'
,
'
Front
'
,
'
arrow-up
'
],
[
'
selection_url
'
,
'
Previous
'
,
'
arrow-up
'
],
[
'
cancel_url
'
,
'
Cancel
'
,
'
times
'
],
[
'
back_url
'
,
'
Back
'
,
'
times
'
]
],
possible_right_link_list
=
[
[
'
edit_url
'
,
'
Editable
'
,
'
pencil
'
],
[
'
view_url
'
,
'
Viewable
'
,
'
eye
'
],
[
'
right_url
'
,
'
New
'
,
'
plus
'
],
[
'
language_url
'
,
'
Language
'
,
'
flag
'
]
],
possible_right_button_list
=
[
[
'
save_action
'
,
'
Save
'
,
'
check
'
,
'
submit
'
],
[
'
submit_action
'
,
'
Proceed
'
,
'
check
'
,
'
submit
'
],
[
'
add_action
'
,
'
Add
'
,
'
check
'
,
'
submit
'
],
[
'
filter_action
'
,
'
Filter
'
,
'
filter
'
,
'
submit
'
]
],
possible_sub_header_list
=
[
/*
['tab_url', 'Views', 'eye'],
['jump_url', 'Jump', 'plane'],
['actions_url', 'Actions', 'cogs'],
['add_url', 'Add', 'plus'],
['export_url', 'Export', 'share-square-o'],
['delete_url', 'Delete', 'times'],
['cut_url', 'Cut', 'scissors'],
['fast_input_url', 'Fast Input', 'magic'],
*/
[
'
previous_url
'
,
'
Previous
'
,
'
carat-l
'
],
[
'
next_url
'
,
'
Next
'
,
'
carat-r
'
]
/*
['upload_url', 'Upload', 'upload'],
['download_url', 'Download', 'download']
*/
],
promiseHeaderButton
=
function
(
gadget
,
data
)
{
return
gadget
.
translate
(
data
.
title
)
.
push
(
function
(
result
)
{
return
domsugar
(
'
form
'
,
[
domsugar
(
'
button
'
,
{
name
:
data
.
name
,
text
:
result
,
// XXX Compatibility with existing application tests
'
data-i18n
'
:
data
.
title
,
type
:
'
submit
'
,
'
class
'
:
'
ui-icon-
'
+
data
.
icon
+
'
ui-btn-icon-left
'
+
data
.
class
})
]);
});
},
promiseSubHeader
=
function
(
gadget
,
data
)
{
// {{#each sub_header_list}}
// <li><a href="{{url}}" data-i18n="{{title}}" class="ui-btn-icon-top ui-icon-{{icon}} {{class}}">{{title}}</a></li>
// {{/each}}
var
i
,
translation_list
=
[];
for
(
i
=
0
;
i
<
data
.
sub_header_list
.
length
;
i
+=
1
)
{
translation_list
.
push
(
data
.
sub_header_list
[
i
].
title
);
}
return
gadget
.
getTranslationList
(
translation_list
)
.
push
(
function
(
result_list
)
{
var
dom_list
=
[];
for
(
i
=
0
;
i
<
data
.
sub_header_list
.
length
;
i
+=
1
)
{
dom_list
.
push
(
domsugar
(
'
li
'
,
[
domsugar
(
'
a
'
,
{
text
:
result_list
[
i
],
// XXX Compatibility with existing application tests
'
data-i18n
'
:
data
.
sub_header_list
[
i
].
title
,
href
:
data
.
sub_header_list
[
i
].
url
,
'
class
'
:
'
ui-btn-icon-top ui-icon-
'
+
data
.
sub_header_list
[
i
].
icon
+
'
'
+
data
.
sub_header_list
[
i
].
class
})
]));
}
return
domsugar
(
'
ul
'
,
dom_list
);
});
};
rJS
(
window
)
.
setState
({
loaded
:
false
,
modified
:
false
,
submitted
:
true
,
error
:
false
,
title_text
:
''
,
title_icon
:
undefined
,
title_url
:
undefined
})
//////////////////////////////////////////////
// acquired methods
//////////////////////////////////////////////
.
declareAcquiredMethod
(
"
translate
"
,
"
translate
"
)
.
declareAcquiredMethod
(
"
getTranslationList
"
,
"
getTranslationList
"
)
.
declareAcquiredMethod
(
"
triggerSubmit
"
,
"
triggerSubmit
"
)
.
declareAcquiredMethod
(
"
triggerPanel
"
,
"
triggerPanel
"
)
.
declareAcquiredMethod
(
"
triggerMaximize
"
,
"
triggerMaximize
"
)
/////////////////////////////////////////////////////////////////
// declared methods
/////////////////////////////////////////////////////////////////
.
declareMethod
(
'
notifyLoaded
'
,
function
notifyLoaded
()
{
return
this
.
changeState
({
loaded
:
true
});
})
.
declareMethod
(
'
notifyLoading
'
,
function
notifyLoading
()
{
return
this
.
changeState
({
loaded
:
false
});
})
.
declareMethod
(
'
notifySubmitted
'
,
function
notifySubmitted
()
{
return
this
.
changeState
({
submitted
:
true
,
// Change modify here, to allow user to redo some modification and being correctly notified
modified
:
false
});
})
.
declareMethod
(
'
notifySubmitting
'
,
function
notifySubmitting
()
{
return
this
.
changeState
({
submitted
:
false
});
})
.
declareMethod
(
'
notifyError
'
,
function
notifyError
()
{
return
this
.
changeState
({
loaded
:
true
,
submitted
:
true
,
error
:
true
});
})
.
declareMethod
(
'
notifyChange
'
,
function
notifyChange
()
{
return
this
.
changeState
({
modified
:
true
});
})
.
declareMethod
(
'
setButtonTitle
'
,
function
setButtonTitle
(
options
)
{
return
this
.
changeState
({
title_button_icon
:
options
.
icon
,
title_button_name
:
options
.
action
});
})
/*
.declareMethod('notifyUpdate', function () {
return this.render(this.stats.options);
})
*/
.
declareMethod
(
'
render
'
,
function
render
(
options
)
{
var
state
=
{
error
:
false
,
title_text
:
''
,
title_icon
:
undefined
,
title_url
:
undefined
,
left_button_title
:
undefined
,
left_button_icon
:
undefined
,
left_button_name
:
undefined
,
right_link_title
:
undefined
,
right_link_icon
:
undefined
,
right_link_url
:
undefined
,
right_link_class
:
undefined
,
right_button_title
:
undefined
,
right_button_icon
:
undefined
,
right_button_name
:
undefined
},
klass
,
sub_header_list
=
[],
i
;
// Main title
if
(
options
.
hasOwnProperty
(
"
page_title
"
))
{
state
.
title_text
=
options
.
page_title
;
}
for
(
i
=
0
;
i
<
possible_main_link_list
.
length
;
i
+=
1
)
{
if
(
options
.
hasOwnProperty
(
possible_main_link_list
[
i
][
0
]))
{
state
.
title_icon
=
possible_main_link_list
[
i
][
2
];
state
.
title_url
=
options
[
possible_main_link_list
[
i
][
0
]];
}
}
// Surcharge icon if the page want it
if
(
options
.
hasOwnProperty
(
"
page_icon
"
))
{
state
.
title_icon
=
options
.
page_icon
;
}
// Left button
for
(
i
=
0
;
i
<
possible_left_button_list
.
length
;
i
+=
1
)
{
if
(
options
.
hasOwnProperty
(
possible_left_button_list
[
i
][
0
]))
{
state
.
left_button_title
=
possible_left_button_list
[
i
][
1
];
state
.
left_button_icon
=
possible_left_button_list
[
i
][
2
];
state
.
left_button_name
=
possible_left_button_list
[
i
][
3
];
}
}
// Handle right link
for
(
i
=
0
;
i
<
possible_right_link_list
.
length
;
i
+=
1
)
{
if
(
options
.
hasOwnProperty
(
possible_right_link_list
[
i
][
0
]))
{
if
(
options
.
extra_class
&&
options
.
extra_class
.
hasOwnProperty
(
possible_right_link_list
[
i
][
0
]))
{
klass
=
options
.
extra_class
[
possible_right_link_list
[
i
][
0
]];
}
else
{
klass
=
""
;
}
if
(
!
options
[
possible_right_link_list
[
i
][
0
]])
{
klass
+=
"
ui-disabled
"
;
}
state
.
right_link_title
=
possible_right_link_list
[
i
][
1
];
state
.
right_link_icon
=
possible_right_link_list
[
i
][
2
];
state
.
right_link_url
=
options
[
possible_right_link_list
[
i
][
0
]];
state
.
right_link_class
=
klass
;
}
}
for
(
i
=
0
;
i
<
possible_right_button_list
.
length
;
i
+=
1
)
{
if
(
options
.
hasOwnProperty
(
possible_right_button_list
[
i
][
0
]))
{
state
.
right_button_title
=
possible_right_button_list
[
i
][
1
];
state
.
right_button_icon
=
possible_right_button_list
[
i
][
2
];
state
.
right_button_name
=
possible_right_button_list
[
i
][
3
];
}
}
// Sub header
for
(
i
=
0
;
i
<
possible_sub_header_list
.
length
;
i
+=
1
)
{
if
(
options
.
hasOwnProperty
(
possible_sub_header_list
[
i
][
0
]))
{
klass
=
""
;
if
(
!
options
[
possible_sub_header_list
[
i
][
0
]])
{
klass
=
"
ui-disabled
"
;
}
sub_header_list
.
push
({
title
:
possible_sub_header_list
[
i
][
1
],
icon
:
possible_sub_header_list
[
i
][
2
],
url
:
options
[
possible_sub_header_list
[
i
][
0
]],
class
:
klass
});
}
}
state
.
sub_header_list
=
sub_header_list
;
return
this
.
changeState
(
state
);
})
.
onStateChange
(
function
onStateChange
(
modification_dict
)
{
var
gadget
=
this
,
right_link
,
right_button
,
default_title_icon
=
""
,
default_right_icon
=
""
,
title_link
,
promise_list
=
[];
// Main title
if
(
modification_dict
.
hasOwnProperty
(
'
error
'
)
||
modification_dict
.
hasOwnProperty
(
'
loaded
'
)
||
modification_dict
.
hasOwnProperty
(
'
submitted
'
)
||
modification_dict
.
hasOwnProperty
(
'
title_text
'
)
||
modification_dict
.
hasOwnProperty
(
'
title_icon
'
)
||
modification_dict
.
hasOwnProperty
(
'
title_url
'
)
||
modification_dict
.
hasOwnProperty
(
'
title_button_name
'
))
{
if
(
gadget
.
state
.
error
)
{
default_title_icon
=
"
exclamation
"
;
}
else
if
(
!
gadget
.
state
.
loaded
)
{
default_title_icon
=
"
spinner
"
;
}
else
if
(
!
gadget
.
state
.
submitted
)
{
default_title_icon
=
"
spinner
"
;
}
// Updating globally the page title. Does not follow RenderJS philosophy, but, it is enough for now
if
(
modification_dict
.
hasOwnProperty
(
'
title_text
'
))
{
// Be careful, this is CPU costly
document
.
title
=
gadget
.
state
.
title_text
;
}
// H1
title_link
=
{
title
:
gadget
.
state
.
title_text
,
icon
:
default_title_icon
||
gadget
.
state
.
title_icon
,
url
:
gadget
.
state
.
title_url
};
if
(
gadget
.
state
.
title_button_name
)
{
promise_list
.
push
(
promiseHeaderButton
(
gadget
,
{
title
:
gadget
.
state
.
title_text
,
icon
:
default_title_icon
||
gadget
.
state
.
title_button_icon
,
name
:
gadget
.
state
.
title_button_name
}));
}
else
if
(
title_link
.
url
===
undefined
)
{
// <span data-i18n="{{title}}" class="ui-btn-icon-left ui-icon-{{icon}}" >{{title}}</span>
promise_list
.
push
(
gadget
.
translate
(
title_link
.
title
)
.
push
(
function
(
result
)
{
return
domsugar
(
'
span
'
,
{
'
class
'
:
'
ui-btn-icon-left ui-icon-
'
+
title_link
.
icon
,
text
:
result
,
// XXX Compatibility with existing application tests
'
data-i18n
'
:
title_link
.
title
});
})
);
}
else
{
// <a data-i18n="{{title}}" class="ui-btn-icon-left ui-icon-{{icon}}" href="{{url}}" accesskey="u">{{title}}</a>
promise_list
.
push
(
gadget
.
translate
(
title_link
.
title
)
.
push
(
function
(
result
)
{
return
domsugar
(
'
a
'
,
{
'
class
'
:
'
ui-btn-icon-left ui-icon-
'
+
title_link
.
icon
,
'
href
'
:
title_link
.
url
,
'
accesskey
'
:
'
u
'
,
text
:
result
,
// XXX Compatibility with existing application tests
'
data-i18n
'
:
title_link
.
title
});
})
);
}
}
else
{
promise_list
.
push
(
gadget
.
element
.
querySelector
(
"
h1
"
).
firstChild
);
}
// Left button
if
(
modification_dict
.
hasOwnProperty
(
'
left_button_title
'
)
||
modification_dict
.
hasOwnProperty
(
'
left_button_icon
'
)
||
modification_dict
.
hasOwnProperty
(
'
left_button_name
'
))
{
if
(
gadget
.
state
.
left_button_title
===
undefined
)
{
promise_list
.
push
(
""
);
}
else
{
promise_list
.
push
(
promiseHeaderButton
(
gadget
,
{
title
:
gadget
.
state
.
left_button_title
,
icon
:
gadget
.
state
.
left_button_icon
,
name
:
gadget
.
state
.
left_button_name
}));
}
}
else
{
promise_list
.
push
(
gadget
.
element
.
querySelector
(
"
.ui-btn-left > div
"
));
}
// Handle right link
if
(
modification_dict
.
hasOwnProperty
(
'
loaded
'
)
||
modification_dict
.
hasOwnProperty
(
'
submitted
'
)
||
modification_dict
.
hasOwnProperty
(
'
modified
'
)
||
modification_dict
.
hasOwnProperty
(
'
right_link_title
'
)
||
modification_dict
.
hasOwnProperty
(
'
right_link_icon
'
)
||
modification_dict
.
hasOwnProperty
(
'
right_link_url
'
)
||
modification_dict
.
hasOwnProperty
(
'
right_link_class
'
)
||
modification_dict
.
hasOwnProperty
(
'
right_button_title
'
)
||
modification_dict
.
hasOwnProperty
(
'
right_button_icon
'
))
{
if
(
gadget
.
state
.
modified
)
{
default_right_icon
=
"
warning
"
;
}
if
(
gadget
.
state
.
right_link_title
!==
undefined
)
{
right_link
=
{
title
:
gadget
.
state
.
right_link_title
,
icon
:
gadget
.
state
.
right_link_icon
,
url
:
gadget
.
state
.
right_link_url
,
class
:
gadget
.
state
.
right_link_class
};
}
if
(
gadget
.
state
.
right_button_title
!==
undefined
)
{
right_button
=
{
title
:
gadget
.
state
.
right_button_title
,
icon
:
default_right_icon
||
gadget
.
state
.
right_button_icon
,
name
:
gadget
.
state
.
right_button_name
};
if
(
gadget
.
state
.
error
||
!
gadget
.
state
.
loaded
||
!
gadget
.
state
.
submitted
)
{
right_button
.
class
=
"
ui-disabled
"
;
}
}
if
(
right_button
!==
undefined
)
{
promise_list
.
push
(
promiseHeaderButton
(
gadget
,
right_button
));
}
else
if
(
right_link
!==
undefined
)
{
// <a data-i18n="{{title}}" href="{{url}}" class="ui-icon-{{icon}} ui-btn-icon-left {{class}}">{{title}}</a>
promise_list
.
push
(
gadget
.
translate
(
right_link
.
title
)
.
push
(
function
(
result
)
{
return
domsugar
(
'
a
'
,
{
text
:
result
,
// XXX Compatibility with existing application tests
'
data-i18n
'
:
right_link
.
title
,
'
class
'
:
'
ui-icon-
'
+
right_link
.
icon
+
'
ui-btn-icon-left
'
+
right_link
.
class
,
href
:
right_link
.
url
});
})
);
}
else
{
promise_list
.
push
(
""
);
}
}
else
{
promise_list
.
push
(
gadget
.
element
.
querySelector
(
"
.ui-btn-right > div
"
));
}
// Handle sub header
if
(
modification_dict
.
hasOwnProperty
(
'
sub_header_list
'
))
{
promise_list
.
push
(
promiseSubHeader
(
gadget
,
{
sub_header_list
:
gadget
.
state
.
sub_header_list
}));
}
else
{
promise_list
.
push
(
gadget
.
element
.
querySelector
(
"
.ui-subheader
"
)
.
querySelector
(
"
ul
"
));
}
return
new
RSVP
.
Queue
(
RSVP
.
all
(
promise_list
))
.
push
(
function
(
result_list
)
{
domsugar
(
gadget
.
element
,
[
domsugar
(
'
div
'
,
{
'
data-role
'
:
'
header
'
,
class
:
'
ui-header
'
},
[
// Left button
domsugar
(
'
div
'
,
{
class
:
'
ui-btn-left
'
},
[
domsugar
(
'
div
'
,
{
class
:
'
ui-controlgroup-controls
'
},
[
result_list
[
1
]
])
]),
// H1
domsugar
(
'
h1
'
,
[
result_list
[
0
]]),
// Right button
domsugar
(
'
div
'
,
{
class
:
'
ui-btn-right
'
},
[
domsugar
(
'
div
'
,
{
class
:
'
ui-controlgroup-controls
'
},
[
result_list
[
2
]
])
]),
// Subheader
domsugar
(
'
div
'
,
{
class
:
'
ui-subheader
'
},
[
result_list
[
3
]
])
])
]);
});
})
//////////////////////////////////////////////
// handle button submit
//////////////////////////////////////////////
.
onEvent
(
'
submit
'
,
function
submit
(
evt
)
{
var
name
=
evt
.
target
[
0
].
getAttribute
(
"
name
"
);
if
(
name
===
"
panel
"
)
{
return
this
.
triggerPanel
();
}
if
(
name
===
"
submit
"
)
{
return
this
.
triggerSubmit
();
}
if
(
name
===
"
maximize
"
)
{
return
this
.
triggerMaximize
();
}
throw
new
Error
(
"
Unsupported button
"
+
name
);
});
}(
window
,
rJS
,
document
,
RSVP
,
domsugar
));
\ No newline at end of file
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_header_js.xml
deleted
100644 → 0
View file @
d22e4e68
<?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>
</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>
</tuple>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
content_md5
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
slapos_master_panel_header.js
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
slapos_master_panel_header_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>
SlapOS Master Panel Header JS
</string>
</value>
</item>
<item>
<key>
<string>
version
</string>
</key>
<value>
<string>
001
</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.Workflow"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_log
</string>
</key>
<value>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
publish_alive
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</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=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257260.78
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
published_alive
</string>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_log
</string>
</key>
<value>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
edit
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</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>
1003.60125.7799.44049
</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=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</tuple>
<state>
<tuple>
<float>
1666863192.67
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_log
</string>
</key>
<value>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
detect_converted_file
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</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=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257221.35
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_panel_js.js
View file @
0f0e7121
...
@@ -104,8 +104,6 @@
...
@@ -104,8 +104,6 @@
"
action_object_clone_action
"
:
"
display_dialog_with_history
"
"
action_object_clone_action
"
:
"
display_dialog_with_history
"
},
{
},
{
"
action_object_clone_action
"
:
true
"
action_object_clone_action
"
:
true
},
function
filter
(
action
)
{
return
(
action
.
name
.
indexOf
(
'
slapos
'
)
!==
-
1
);
});
});
workflow_list
=
JSON
.
stringify
(
group_mapping
.
action_workflow
);
workflow_list
=
JSON
.
stringify
(
group_mapping
.
action_workflow
);
...
...
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_panel_js.xml
View file @
0f0e7121
...
@@ -236,7 +236,7 @@
...
@@ -236,7 +236,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
10
13.57437.64230.29320
</string>
</value>
<value>
<string>
10
21.58357.56828.19046
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -256,7 +256,7 @@
...
@@ -256,7 +256,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
17
05332675.51
</float>
<float>
17
36327288.57
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
master/bt5/slapos_panel/PathTemplateItem/web_site_module/slapos_master_panel.xml
View file @
0f0e7121
...
@@ -437,7 +437,9 @@
...
@@ -437,7 +437,9 @@
</item>
</item>
<item>
<item>
<key>
<string>
configuration_header_gadget_url
</string>
</key>
<key>
<string>
configuration_header_gadget_url
</string>
</key>
<value>
<string>
slapos_master_panel_header.html
</string>
</value>
<value>
<none/>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
configuration_icon_url
</string>
</key>
<key>
<string>
configuration_icon_url
</string>
</key>
...
@@ -756,7 +758,7 @@ WebSection_getPanelPrecacheManifestList</string> </value>
...
@@ -756,7 +758,7 @@ WebSection_getPanelPrecacheManifestList</string> </value>
<item>
<item>
<key>
<string>
comment
</string>
</key>
<key>
<string>
comment
</string>
</key>
<value>
<value>
<
persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAs=
</string>
</persistent
>
<
none/
>
</value>
</value>
</item>
</item>
<item>
<item>
...
@@ -765,7 +767,7 @@ WebSection_getPanelPrecacheManifestList</string> </value>
...
@@ -765,7 +767,7 @@ WebSection_getPanelPrecacheManifestList</string> </value>
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
102
0.19478.47544.40584
</string>
</value>
<value>
<string>
102
1.58354.4516.21589
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -785,7 +787,7 @@ WebSection_getPanelPrecacheManifestList</string> </value>
...
@@ -785,7 +787,7 @@ WebSection_getPanelPrecacheManifestList</string> </value>
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
173
0148383.59
</float>
<float>
173
6327305.36
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
@@ -799,31 +801,4 @@ WebSection_getPanelPrecacheManifestList</string> </value>
...
@@ -799,31 +801,4 @@ WebSection_getPanelPrecacheManifestList</string> </value>
</dictionary>
</dictionary>
</pickle>
</pickle>
</record>
</record>
<record
id=
"11"
aka=
"AAAAAAAAAAs="
>
<pickle>
<global
name=
"Message"
module=
"Products.ERP5Type.Message"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string>
Translation data updated.
</string>
</value>
</item>
<item>
<key>
<string>
domain
</string>
</key>
<value>
<string>
erp5_ui
</string>
</value>
</item>
<item>
<key>
<string>
mapping
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
message
</string>
</key>
<value>
<string>
Translation data updated.
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
</ZopeData>
master/bt5/slapos_panel/PathTemplateItem/web_site_module/slapos_master_panel/hateoas.xml
View file @
0f0e7121
...
@@ -174,6 +174,16 @@
...
@@ -174,6 +174,16 @@
<value>
<string>
string
</string>
</value>
<value>
<string>
string
</string>
</value>
</item>
</item>
</dictionary>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_filter_action_script_id
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
</tuple>
</tuple>
</value>
</value>
</item>
</item>
...
@@ -203,6 +213,10 @@
...
@@ -203,6 +213,10 @@
</tuple>
</tuple>
</value>
</value>
</item>
</item>
<item>
<key>
<string>
configuration_filter_action_script_id
</string>
</key>
<value>
<string>
WebSection_filterSlaposPanelActionDict
</string>
</value>
</item>
<item>
<item>
<key>
<string>
configuration_login
</string>
</key>
<key>
<string>
configuration_login
</string>
</key>
<value>
<string>
connection/login_form{?came_from}
</string>
</value>
<value>
<string>
connection/login_form{?came_from}
</string>
</value>
...
@@ -466,7 +480,7 @@
...
@@ -466,7 +480,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
10
14.6188.10537.1877
3
</string>
</value>
<value>
<string>
10
21.45456.10756.300
3
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -486,7 +500,7 @@
...
@@ -486,7 +500,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
17
07822098.93
</float>
<float>
17
36326074.9
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
master/bt5/slapos_panel/SkinTemplateItem/portal_skins/slapos_panel/WebSection_filterSlaposPanelActionDict.py
0 → 100644
View file @
0f0e7121
filtered_action_dict
=
{}
for
action_category_name
,
action_list
in
action_dict
.
items
():
filtered_action_dict
[
action_category_name
]
=
[
action
for
action
in
action_list
if
'slapos'
in
action
[
'id'
]]
return
filtered_action_dict
master/bt5/slapos_panel/SkinTemplateItem/portal_skins/slapos_panel/WebSection_filterSlaposPanelActionDict.xml
0 → 100644
View file @
0f0e7121
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"PythonScript"
module=
"Products.PythonScripts.PythonScript"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</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>
action_dict
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
WebSection_filterSlaposPanelActionDict
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
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