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
f644eb59
Commit
f644eb59
authored
Oct 20, 2022
by
Romain Courteaud
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
slapos_panel: fork header/panel
parent
30e9adbb
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
2341 additions
and
4 deletions
+2341
-4
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_header_html.html
...Item/web_page_module/slapos_master_panel_header_html.html
+1
-1
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_header_html.xml
...eItem/web_page_module/slapos_master_panel_header_html.xml
+45
-0
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_header_js.js
...lateItem/web_page_module/slapos_master_panel_header_js.js
+453
-0
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_header_js.xml
...ateItem/web_page_module/slapos_master_panel_header_js.xml
+714
-0
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_panel_html.html
...eItem/web_page_module/slapos_master_panel_panel_html.html
+1
-1
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_panel_html.xml
...teItem/web_page_module/slapos_master_panel_panel_html.xml
+45
-0
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_panel_js.js
...plateItem/web_page_module/slapos_master_panel_panel_js.js
+417
-0
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_panel_js.xml
...lateItem/web_page_module/slapos_master_panel_panel_js.xml
+663
-0
master/bt5/slapos_panel/PathTemplateItem/web_site_module/slapos_master_panel.xml
.../PathTemplateItem/web_site_module/slapos_master_panel.xml
+2
-2
No files found.
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_header_html.html
View file @
f644eb59
...
@@ -39,7 +39,7 @@
...
@@ -39,7 +39,7 @@
<script
src=
"domsugar.js"
type=
"text/javascript"
></script>
<script
src=
"domsugar.js"
type=
"text/javascript"
></script>
<!-- custom script -->
<!-- custom script -->
<script
src=
"
gadget_erp5
_header.js"
type=
"text/javascript"
></script>
<script
src=
"
slapos_master_panel
_header.js"
type=
"text/javascript"
></script>
</head>
</head>
<body>
<body>
...
...
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_header_html.xml
View file @
f644eb59
...
@@ -477,6 +477,51 @@
...
@@ -477,6 +477,51 @@
</value>
</value>
</item>
</item>
</dictionary>
</dictionary>
<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>
<reference
id=
"4.1"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257236.7
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</list>
</value>
</value>
</item>
</item>
...
...
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_header_js.js
0 → 100644
View file @
f644eb59
/*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
0 → 100644
View file @
f644eb59
<?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>
<none/>
</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
id=
"3.1"
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257221.34
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
draft
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
publish_alive_action
</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>
<reference
id=
"3.1"
/>
</klass>
<tuple>
<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>
draft
</string>
</value>
</item>
</dictionary>
<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>
<reference
id=
"3.1"
/>
</klass>
<tuple>
<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>
<string></string>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
0.0.0.0
</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
id=
"4.1"
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257221.34
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<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>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAY=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
0.0.0.0
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
<value>
<string>
current
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<reference
id=
"4.1"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257221.35
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<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.50025.45175.17988
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
<value>
<string>
current
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<reference
id=
"4.1"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257243.16
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<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.50026.3588.6144
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
<value>
<string>
current
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<reference
id=
"4.1"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257256.98
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<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.50026.22708.45738
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
<value>
<string>
current
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<reference
id=
"4.1"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257274.41
</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>
<none/>
</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>
empty
</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
id=
"5.1"
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257221.34
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
detect_uploaded_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>
uploaded
</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>
<reference
id=
"5.1"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257221.34
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<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>
<reference
id=
"5.1"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257221.35
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"6"
aka=
"AAAAAAAAAAY="
>
<pickle>
<global
name=
"Message"
module=
"Products.ERP5Type.Message"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string>
Object copied from ${source_item}
</string>
</value>
</item>
<item>
<key>
<string>
domain
</string>
</key>
<value>
<string>
erp5_ui
</string>
</value>
</item>
<item>
<key>
<string>
mapping
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
source_item
</string>
</key>
<value>
<string>
/erp5/web_page_module/rjs_gadget_erp5_header_js
</string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
message
</string>
</key>
<value>
<string>
Object copied from ${source_item}
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_panel_html.html
View file @
f644eb59
...
@@ -30,7 +30,7 @@
...
@@ -30,7 +30,7 @@
<script
src=
"gadget_erp5_global.js"
type=
"text/javascript"
></script>
<script
src=
"gadget_erp5_global.js"
type=
"text/javascript"
></script>
<!-- custom script -->
<!-- custom script -->
<script
src=
"
gadget_erp5
_panel.js"
type=
"text/javascript"
></script>
<script
src=
"
slapos_master_panel
_panel.js"
type=
"text/javascript"
></script>
</head>
</head>
<body>
<body>
...
...
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_panel_html.xml
View file @
f644eb59
...
@@ -567,6 +567,51 @@
...
@@ -567,6 +567,51 @@
</value>
</value>
</item>
</item>
</dictionary>
</dictionary>
<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.49969.4010.22357
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
<value>
<string>
current
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<reference
id=
"4.1"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257180.24
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</list>
</value>
</value>
</item>
</item>
...
...
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_panel_js.js
0 → 100644
View file @
f644eb59
/*jslint nomen: true, indent: 2, maxerr: 3, unparam: true */
/*global window, document, rJS, RSVP, Node, asBoolean , ensureArray,
mergeGlobalActionWithRawActionList, domsugar*/
(
function
(
window
,
document
,
rJS
,
RSVP
,
Node
,
asBoolean
,
ensureArray
,
mergeGlobalActionWithRawActionList
,
domsugar
)
{
"
use strict
"
;
function
appendDt
(
fragment
,
dt_title
,
dt_icon
,
action_list
,
href_list
,
index
)
{
// <dt class="ui-btn-icon-left ui-icon-eye">Views</dt>
// {{#each view_list}}
// <dd class="document-listview">
// <a class="{{class_name}}" href="{{href}}">{{title}}</a>
// </dd>
// {{/each}}
//////////////////////
var
element_list
=
[
domsugar
(
'
dt
'
,
{
text
:
dt_title
,
'
class
'
:
'
ui-btn-icon-left ui-icon-
'
+
dt_icon
})
],
i
;
for
(
i
=
0
;
i
<
action_list
.
length
;
i
+=
1
)
{
element_list
.
push
(
domsugar
(
'
dd
'
,
{
'
class
'
:
'
document-listview
'
},
[
domsugar
(
'
a
'
,
{
href
:
href_list
[
index
+
i
],
text
:
action_list
[
i
].
title
,
'
class
'
:
action_list
[
i
].
class_name
||
null
})
]));
}
fragment
.
appendChild
(
domsugar
(
null
,
element_list
));
}
rJS
(
window
)
.
setState
({
visible
:
false
})
//////////////////////////////////////////////
// acquired method
//////////////////////////////////////////////
.
declareAcquiredMethod
(
"
getUrlForList
"
,
"
getUrlForList
"
)
.
declareAcquiredMethod
(
"
getTranslationList
"
,
"
getTranslationList
"
)
.
declareAcquiredMethod
(
"
getTranslationDict
"
,
"
getTranslationDict
"
)
.
declareAcquiredMethod
(
"
redirect
"
,
"
redirect
"
)
.
declareAcquiredMethod
(
"
getUrlParameter
"
,
"
getUrlParameter
"
)
/////////////////////////////////////////////////////////////////
// declared methods
/////////////////////////////////////////////////////////////////
.
declareMethod
(
'
toggle
'
,
function
toggle
()
{
return
this
.
changeState
({
visible
:
!
this
.
state
.
visible
});
})
.
declareMethod
(
'
close
'
,
function
close
()
{
return
this
.
changeState
({
visible
:
false
});
})
.
declareMethod
(
'
render
'
,
function
render
(
options
)
{
var
erp5_document
=
options
.
erp5_document
,
jio_key
=
options
.
jio_key
,
view
=
options
.
view
,
jump_view
=
options
.
jump_view
,
visible
=
options
.
visible
,
extra_menu_list
=
options
.
extra_menu_list
,
display_workflow_list
,
context
=
this
,
workflow_list
,
group_mapping
,
view_list
,
action_list
,
clone_list
,
jump_list
;
if
(
visible
===
undefined
)
{
visible
=
context
.
state
.
visible
;
}
if
(
options
.
display_workflow_list
===
undefined
)
{
display_workflow_list
=
true
;
}
else
{
display_workflow_list
=
asBoolean
(
options
.
display_workflow_list
);
}
if
((
erp5_document
!==
undefined
)
&&
(
jio_key
!==
undefined
))
{
group_mapping
=
mergeGlobalActionWithRawActionList
(
jio_key
,
view
,
jump_view
,
erp5_document
.
_links
,
[
"
action_workflow
"
,
"
action_object_view
"
,
[
"
action_object_jio_action
"
,
"
action_object_jio_button
"
,
"
action_object_jio_fast_input
"
],
"
action_object_clone_action
"
,
"
action_object_jio_jump
"
],
{
"
action_object_jio_action
"
:
"
display_dialog_with_history
"
,
"
action_object_clone_action
"
:
"
display_dialog_with_history
"
},
{
"
action_object_clone_action
"
:
true
});
workflow_list
=
JSON
.
stringify
(
group_mapping
.
action_workflow
);
view_list
=
JSON
.
stringify
(
group_mapping
.
action_object_view
);
action_list
=
JSON
.
stringify
(
group_mapping
.
action_object_jio_action
);
clone_list
=
JSON
.
stringify
(
group_mapping
.
action_object_clone_action
);
jump_list
=
JSON
.
stringify
(
group_mapping
.
action_object_jio_jump
);
}
if
(
extra_menu_list
!==
undefined
)
{
extra_menu_list
=
JSON
.
stringify
(
extra_menu_list
);
}
return
context
.
getUrlParameter
(
'
editable
'
)
.
push
(
function
(
editable
)
{
return
context
.
changeState
({
visible
:
visible
,
display_workflow_list
:
display_workflow_list
,
workflow_list
:
workflow_list
,
view_list
:
view_list
,
action_list
:
action_list
,
clone_list
:
clone_list
,
jump_list
:
jump_list
,
global
:
true
,
jio_key
:
jio_key
,
view
:
view
,
jump_view
:
jump_view
,
editable
:
asBoolean
(
options
.
editable
)
||
asBoolean
(
editable
)
||
false
,
extra_menu_list
:
extra_menu_list
});
});
})
.
onStateChange
(
function
onStateChange
(
modification_dict
)
{
var
i
,
gadget
=
this
,
workflow_list
,
view_list
,
action_list
,
clone_list
,
jump_list
,
dl_fragment
,
queue
=
new
RSVP
.
Queue
();
if
(
modification_dict
.
hasOwnProperty
(
"
visible
"
))
{
if
(
this
.
state
.
visible
)
{
if
(
!
this
.
element
.
classList
.
contains
(
'
visible
'
))
{
this
.
element
.
classList
.
toggle
(
'
visible
'
);
}
}
else
{
if
(
this
.
element
.
classList
.
contains
(
'
visible
'
))
{
this
.
element
.
classList
.
remove
(
'
visible
'
);
}
}
}
if
(
modification_dict
.
hasOwnProperty
(
"
global
"
))
{
queue
.
push
(
function
()
{
return
gadget
.
getDeclaredGadget
(
'
erp5_searchfield
'
);
})
.
push
(
function
(
search_gadget
)
{
return
search_gadget
.
render
({
focus
:
false
,
extended_search
:
''
});
});
}
if
(
modification_dict
.
hasOwnProperty
(
"
editable
"
))
{
queue
// Update the global links
.
push
(
function
()
{
return
RSVP
.
hash
({
url_list
:
gadget
.
getUrlForList
([
{
command
:
'
display
'
},
{
command
:
'
display
'
,
options
:
{
page
:
"
front
"
}},
{
command
:
'
display
'
,
options
:
{
page
:
"
worklist
"
}},
{
command
:
'
display
'
,
options
:
{
page
:
"
history
"
}},
{
command
:
'
display_stored_state
'
,
options
:
{
page
:
"
search
"
}},
{
command
:
'
display
'
,
options
:
{
page
:
"
my_account
"
}},
{
command
:
'
display
'
,
options
:
{
page
:
"
logout
"
}}
]),
translation_list
:
gadget
.
getTranslationList
([
'
Editable
'
,
'
Home
'
,
'
Modules
'
,
'
Worklists
'
,
'
History
'
,
'
Search
'
,
'
My Account
'
,
'
Logout
'
]),
checkbox_gadget
:
gadget
.
getDeclaredGadget
(
"
erp5_checkbox
"
)
});
})
.
push
(
function
(
result_dict
)
{
var
editable_value
=
[],
element_list
=
[],
icon_and_key_list
=
[
'
home
'
,
null
,
'
puzzle-piece
'
,
'
m
'
,
'
tasks
'
,
'
w
'
,
'
history
'
,
'
h
'
,
'
search
'
,
'
s
'
,
'
sliders
'
,
null
,
// 'sliders', null,
'
power-off
'
,
'
o
'
];
for
(
i
=
0
;
i
<
result_dict
.
url_list
.
length
;
i
+=
1
)
{
// <li><a href="URL" class="ui-btn-icon-left ui-icon-ICON" data-i18n="TITLE" accesskey="KEY"></a></li>
element_list
.
push
(
domsugar
(
'
li
'
,
[
domsugar
(
'
a
'
,
{
href
:
result_dict
.
url_list
[
i
],
'
class
'
:
'
ui-btn-icon-left ui-icon-
'
+
icon_and_key_list
[
2
*
i
],
accesskey
:
icon_and_key_list
[
2
*
i
+
1
],
text
:
result_dict
.
translation_list
[
i
+
1
]
})
]));
}
domsugar
(
gadget
.
element
.
querySelector
(
"
ul
"
),
[
domsugar
(
null
,
element_list
)]);
// Update the checkbox field value
if
(
gadget
.
state
.
editable
)
{
editable_value
=
[
'
editable
'
];
}
return
result_dict
.
checkbox_gadget
.
render
({
field_json
:
{
editable
:
true
,
name
:
'
editable
'
,
key
:
'
editable
'
,
hidden
:
false
,
items
:
[[
result_dict
.
translation_list
[
0
],
'
editable
'
]],
'
default
'
:
editable_value
}});
});
}
if
((
this
.
state
.
global
===
true
)
&&
(
modification_dict
.
hasOwnProperty
(
"
editable
"
)
||
modification_dict
.
hasOwnProperty
(
"
view
"
)
||
modification_dict
.
hasOwnProperty
(
"
jump_view
"
)
||
modification_dict
.
hasOwnProperty
(
"
workflow_list
"
)
||
modification_dict
.
hasOwnProperty
(
"
action_list
"
)
||
modification_dict
.
hasOwnProperty
(
"
clone_list
"
)
||
modification_dict
.
hasOwnProperty
(
"
jump_list
"
)
||
modification_dict
.
hasOwnProperty
(
"
jio_key
"
)
||
modification_dict
.
hasOwnProperty
(
"
view_list
"
)
||
modification_dict
.
hasOwnProperty
(
"
extra_menu_list
"
)))
{
dl_fragment
=
document
.
createDocumentFragment
();
gadget
.
element
.
querySelector
(
"
dl
"
).
textContent
=
''
;
if
(
this
.
state
.
view_list
!==
undefined
)
{
queue
.
push
(
function
()
{
var
parameter_list
=
[];
view_list
=
JSON
.
parse
(
gadget
.
state
.
view_list
);
action_list
=
JSON
.
parse
(
gadget
.
state
.
action_list
);
clone_list
=
JSON
.
parse
(
gadget
.
state
.
clone_list
);
jump_list
=
JSON
.
parse
(
gadget
.
state
.
jump_list
);
workflow_list
=
JSON
.
parse
(
gadget
.
state
.
workflow_list
);
parameter_list
=
view_list
.
concat
(
workflow_list
).
concat
(
action_list
).
concat
(
clone_list
).
concat
(
jump_list
).
map
(
function
(
options
)
{
return
options
.
url_kw
;
});
return
RSVP
.
hash
({
url_list
:
gadget
.
getUrlForList
(
parameter_list
),
translation_dict
:
gadget
.
getTranslationDict
([
'
Views
'
,
'
Workflows
'
,
'
Actions
'
,
'
Jumps
'
])
});
})
.
push
(
function
(
result_dict
)
{
appendDt
(
dl_fragment
,
result_dict
.
translation_dict
.
Views
,
'
eye
'
,
view_list
,
result_dict
.
url_list
,
0
);
if
(
gadget
.
state
.
display_workflow_list
)
{
// show Workflows only on document
appendDt
(
dl_fragment
,
result_dict
.
translation_dict
.
Workflows
,
'
random
'
,
workflow_list
,
result_dict
.
url_list
,
view_list
.
length
);
}
appendDt
(
dl_fragment
,
result_dict
.
translation_dict
.
Actions
,
'
cogs
'
,
action_list
.
concat
(
clone_list
),
result_dict
.
url_list
,
view_list
.
length
+
workflow_list
.
length
);
appendDt
(
dl_fragment
,
result_dict
.
translation_dict
.
Jumps
,
'
plane
'
,
jump_list
,
result_dict
.
url_list
,
view_list
.
length
+
workflow_list
.
length
+
action_list
.
length
+
clone_list
.
length
);
});
}
if
(
gadget
.
state
.
hasOwnProperty
(
"
extra_menu_list
"
)
&&
gadget
.
state
.
extra_menu_list
)
{
queue
.
push
(
function
()
{
return
gadget
.
getTranslationList
([
'
Global
'
]);
})
.
push
(
function
(
translation_list
)
{
var
extra_menu_list
=
JSON
.
parse
(
gadget
.
state
.
extra_menu_list
),
href_list
=
[];
for
(
i
=
0
;
i
<
extra_menu_list
.
length
;
i
+=
1
)
{
href_list
.
push
(
extra_menu_list
[
i
].
href
);
extra_menu_list
[
i
]
=
{
"
class_name
"
:
extra_menu_list
[
i
].
active
?
"
active
"
:
""
,
"
title
"
:
extra_menu_list
[
i
].
title
};
}
appendDt
(
dl_fragment
,
translation_list
[
0
],
'
globe
'
,
extra_menu_list
,
href_list
,
0
);
});
}
}
queue
.
push
(
function
()
{
if
(
dl_fragment
)
{
domsugar
(
gadget
.
element
.
querySelector
(
"
dl
"
),
[
dl_fragment
]);
}
});
return
queue
;
})
/////////////////////////////////////////////////////////////////
// declared services
/////////////////////////////////////////////////////////////////
.
onEvent
(
'
click
'
,
function
click
(
evt
)
{
if
((
evt
.
target
.
nodeType
===
Node
.
ELEMENT_NODE
)
&&
(
evt
.
target
.
tagName
===
'
BUTTON
'
))
{
return
this
.
toggle
();
}
},
false
,
false
)
.
allowPublicAcquisition
(
"
notifyFocus
"
,
function
notifyFocus
()
{
// All html5 fields in ERP5JS triggers this method when focus
// is triggered. This is usefull to display error text.
// But, in the case of panel, we don't need to handle anything.
return
;
})
.
allowPublicAcquisition
(
"
notifyBlur
"
,
function
notifyFocus
()
{
// All html5 fields in ERP5JS triggers this method when blur
// is triggered now. This is usefull to display error text.
// But, in the case of panel, we don't need to handle anything.
return
;
})
.
allowPublicAcquisition
(
'
notifyChange
'
,
function
notifyChange
(
argument_list
,
scope
)
{
if
(
scope
===
'
erp5_checkbox
'
)
{
var
context
=
this
;
return
context
.
getDeclaredGadget
(
'
erp5_checkbox
'
)
.
push
(
function
(
gadget
)
{
return
gadget
.
getContent
();
})
.
push
(
function
(
result
)
{
var
options
=
{
editable
:
undefined
};
if
(
result
.
editable
.
length
===
1
)
{
options
.
editable
=
true
;
}
return
context
.
redirect
({
command
:
'
change
'
,
options
:
options
},
true
);
});
}
// Typing a search query should not modify the header status
return
;
},
{
mutex
:
'
changestate
'
})
.
allowPublicAcquisition
(
'
notifyValid
'
,
function
notifyValid
()
{
// Typing a search query should not modify the header status
return
;
})
.
onEvent
(
'
submit
'
,
function
submit
()
{
var
gadget
=
this
,
search_gadget
,
redirect_options
=
{
page
:
"
search
"
};
return
gadget
.
getDeclaredGadget
(
"
erp5_searchfield
"
)
.
push
(
function
(
declared_gadget
)
{
search_gadget
=
declared_gadget
;
return
search_gadget
.
getContent
();
})
.
push
(
function
(
data
)
{
if
(
data
.
search
)
{
redirect_options
.
extended_search
=
data
.
search
;
}
// let the search gadget know its current state (value and focus)
// in order to be able to zero it out in the next Promise
// input gadget's state does not reflect immediate reality
// so we need to manage its state from the parent
return
search_gadget
.
render
({
extended_search
:
data
.
search
,
focus
:
true
});
})
.
push
(
function
()
{
// we want the search field in side panel to be empty and blured
return
search_gadget
.
render
({
extended_search
:
''
,
focus
:
false
// we don't want focus on the empty field for sure
});
})
.
push
(
function
()
{
return
gadget
.
redirect
({
command
:
'
store_and_display
'
,
options
:
redirect_options
},
true
);
});
},
/*useCapture=*/
false
,
/*preventDefault=*/
true
);
}(
window
,
document
,
rJS
,
RSVP
,
Node
,
asBoolean
,
ensureArray
,
mergeGlobalActionWithRawActionList
,
domsugar
));
\ No newline at end of file
master/bt5/slapos_panel/PathTemplateItem/web_page_module/slapos_master_panel_panel_js.xml
0 → 100644
View file @
f644eb59
<?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>
content_md5
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
slapos_master_panel_panel.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_panel_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 Panel 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>
<none/>
</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
id=
"3.1"
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257123.55
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
draft
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
publish_alive_action
</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>
<reference
id=
"3.1"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257152.23
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
draft
</string>
</value>
</item>
</dictionary>
<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>
<reference
id=
"3.1"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257152.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>
<string></string>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
0.0.0.0
</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
id=
"4.1"
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257123.56
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<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>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAY=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
0.0.0.0
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
<value>
<string>
current
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<reference
id=
"4.1"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257123.57
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<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.50024.3907.19592
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
<value>
<string>
current
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<reference
id=
"4.1"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257147.18
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<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.50024.35218.39509
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
<value>
<string>
current
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<reference
id=
"4.1"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257165.56
</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>
<none/>
</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>
empty
</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
id=
"5.1"
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257123.56
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
detect_uploaded_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>
uploaded
</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>
<reference
id=
"5.1"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257123.56
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<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>
<reference
id=
"5.1"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1666257123.56
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"6"
aka=
"AAAAAAAAAAY="
>
<pickle>
<global
name=
"Message"
module=
"Products.ERP5Type.Message"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string>
Object copied from ${source_item}
</string>
</value>
</item>
<item>
<key>
<string>
domain
</string>
</key>
<value>
<string>
erp5_ui
</string>
</value>
</item>
<item>
<key>
<string>
mapping
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
source_item
</string>
</key>
<value>
<string>
/erp5/web_page_module/rjs_gadget_erp5_panel_js
</string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
message
</string>
</key>
<value>
<string>
Object copied from ${source_item}
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_panel/PathTemplateItem/web_site_module/slapos_master_panel.xml
View file @
f644eb59
...
@@ -728,7 +728,7 @@
...
@@ -728,7 +728,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
1003.
49969.50078.59255
</string>
</value>
<value>
<string>
1003.
50023.42691.31300
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -746,7 +746,7 @@
...
@@ -746,7 +746,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
166625
4243.49
</float>
<float>
166625
7102.55
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
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