Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
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
Titouan Soulard
erp5
Commits
3982aa81
Commit
3982aa81
authored
Sep 27, 2024
by
Roque
Browse files
Options
Browse Files
Download
Plain Diff
Update monitoring app storage
See merge request
nexedi/erp5!1977
parents
18e9c69a
db9466f8
Changes
53
Show whitespace changes
Inline
Side-by-side
Showing
53 changed files
with
1637 additions
and
383 deletions
+1637
-383
bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_controller_page_local_controller_js.js
...le/gadget_officejs_controller_page_local_controller_js.js
+11
-1
bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_controller_page_local_controller_js.xml
...e/gadget_officejs_controller_page_local_controller_js.xml
+2
-2
bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_form_view_js.js
...plateItem/web_page_module/gadget_officejs_form_view_js.js
+18
-10
bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_form_view_js.xml
...lateItem/web_page_module/gadget_officejs_form_view_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_dispatch_js.js
...Item/web_page_module/gadget_erp5_page_ojsm_dispatch_js.js
+4
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_dispatch_js.xml
...tem/web_page_module/gadget_erp5_page_ojsm_dispatch_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_erp5_configurator_js.js
...page_module/gadget_erp5_page_ojsm_erp5_configurator_js.js
+15
-5
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_erp5_configurator_js.xml
...age_module/gadget_erp5_page_ojsm_erp5_configurator_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_import_export_js.js
...web_page_module/gadget_erp5_page_ojsm_import_export_js.js
+1
-85
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_import_export_js.xml
...eb_page_module/gadget_erp5_page_ojsm_import_export_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_opml_add_js.js
...Item/web_page_module/gadget_erp5_page_ojsm_opml_add_js.js
+1
-1
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_opml_add_js.xml
...tem/web_page_module/gadget_erp5_page_ojsm_opml_add_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_synchronize_js.js
...m/web_page_module/gadget_erp5_page_ojsm_synchronize_js.js
+9
-5
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_synchronize_js.xml
.../web_page_module/gadget_erp5_page_ojsm_synchronize_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_settings_configurator_js.xml
...page_module/gadget_erp5_page_settings_configurator_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring.configuration.xml
..._page_module/gadget_officejs_monitoring.configuration.xml
+1
-1
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_custom_css.css
...web_page_module/gadget_officejs_monitoring_custom_css.css
+5
-0
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_custom_css.xml
...web_page_module/gadget_officejs_monitoring_custom_css.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_alldocs_css.css
...age_module/gadget_officejs_monitoring_jio_alldocs_css.css
+3
-0
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_alldocs_css.xml
...age_module/gadget_officejs_monitoring_jio_alldocs_css.xml
+348
-0
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_alldocs_html.html
...e_module/gadget_officejs_monitoring_jio_alldocs_html.html
+2
-0
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_alldocs_html.xml
...ge_module/gadget_officejs_monitoring_jio_alldocs_html.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_alldocs_js.js
..._page_module/gadget_officejs_monitoring_jio_alldocs_js.js
+3
-1
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_alldocs_js.xml
...page_module/gadget_officejs_monitoring_jio_alldocs_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_html.html
.../web_page_module/gadget_officejs_monitoring_jio_html.html
+1
-0
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_html.xml
...m/web_page_module/gadget_officejs_monitoring_jio_html.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_js.js
...Item/web_page_module/gadget_officejs_monitoring_jio_js.js
+91
-31
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_js.xml
...tem/web_page_module/gadget_officejs_monitoring_jio_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_opml_edit_js.js
...eb_page_module/gadget_officejs_monitoring_opml_edit_js.js
+10
-5
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_opml_edit_js.xml
...b_page_module/gadget_officejs_monitoring_opml_edit_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_submit_html.html
...b_page_module/gadget_officejs_monitoring_submit_html.html
+6
-1
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_submit_html.xml
...eb_page_module/gadget_officejs_monitoring_submit_html.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_submit_js.js
...m/web_page_module/gadget_officejs_monitoring_submit_js.js
+8
-14
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_submit_js.xml
.../web_page_module/gadget_officejs_monitoring_submit_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_sync_js.js
...tem/web_page_module/gadget_officejs_monitoring_sync_js.js
+10
-26
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_sync_js.xml
...em/web_page_module/gadget_officejs_monitoring_sync_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/monitoring_jio_erp5monitor_storage_js.js
.../web_page_module/monitoring_jio_erp5monitor_storage_js.js
+66
-0
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/monitoring_jio_erp5monitor_storage_js.xml
...web_page_module/monitoring_jio_erp5monitor_storage_js.xml
+350
-0
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/monitoring_jio_storage_js.js
...TemplateItem/web_page_module/monitoring_jio_storage_js.js
+312
-38
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/monitoring_jio_storage_js.xml
...emplateItem/web_page_module/monitoring_jio_storage_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/ojsm_gadget_erp5_parentfield_js.js
...teItem/web_page_module/ojsm_gadget_erp5_parentfield_js.js
+42
-9
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/ojsm_gadget_erp5_parentfield_js.xml
...eItem/web_page_module/ojsm_gadget_erp5_parentfield_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/officejs_monitoring.xml
.../PathTemplateItem/web_site_module/officejs_monitoring.xml
+3
-3
bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/officejs_monitoring/app.xml
...hTemplateItem/web_site_module/officejs_monitoring/app.xml
+3
-3
bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/officejs_monitoring/hateoas_appcache.xml
.../web_site_module/officejs_monitoring/hateoas_appcache.xml
+3
-3
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Promise_viewForMonitoring.xml
...l_skins/erp5_web_monitoring/Promise_viewForMonitoring.xml
+3
-3
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Promise_viewForMonitoring/my_output_message.xml
...onitoring/Promise_viewForMonitoring/my_output_message.xml
+47
-72
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Promise_viewForMonitoring/my_parent_private_url.xml
...oring/Promise_viewForMonitoring/my_parent_private_url.xml
+109
-13
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Promise_viewForMonitoring/my_parent_public_url.xml
...toring/Promise_viewForMonitoring/my_parent_public_url.xml
+109
-13
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/WebSection_getMonitorPrecacheManifestList.py
...b_monitoring/WebSection_getMonitorPrecacheManifestList.py
+2
-0
bt5/erp5_web_monitoring/bt/template_keep_last_workflow_history_only_path_list
...ing/bt/template_keep_last_workflow_history_only_path_list
+1
-0
bt5/erp5_web_monitoring/bt/template_keep_workflow_path_list
bt5/erp5_web_monitoring/bt/template_keep_workflow_path_list
+1
-0
bt5/erp5_web_monitoring/bt/template_path_list
bt5/erp5_web_monitoring/bt/template_path_list
+1
-0
No files found.
bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_controller_page_local_controller_js.js
View file @
3982aa81
...
...
@@ -104,7 +104,9 @@
form_definition
:
form_definition
,
form_type
:
form_definition
.
form_type
,
view
:
options
.
view
||
app_view
,
view_action_dict
:
view_action_dict
view_action_dict
:
view_action_dict
,
notify_type
:
options
.
notify_type
,
notify_msg
:
options
.
notify_msg
});
},
function
(
error
)
{
// jio not found error
...
...
@@ -144,6 +146,14 @@
return
gadget
.
updatePanel
({
view_action_dict
:
gadget
.
state
.
view_action_dict
});
})
.
push
(
function
()
{
if
(
gadget
.
state
.
notify_msg
&&
gadget
.
state
.
notify_type
)
{
return
gadget
.
notifySubmitted
({
message
:
gadget
.
state
.
notify_msg
,
status
:
gadget
.
state
.
notify_type
});
}
});
})
...
...
bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_controller_page_local_controller_js.xml
View file @
3982aa81
...
...
@@ -236,7 +236,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
5.46091.52896.5922
</string>
</value>
<value>
<string>
101
8.11989.25920.31300
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -256,7 +256,7 @@
</tuple>
<state>
<tuple>
<float>
17
12343165.23
</float>
<float>
17
21922124.11
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_form_view_js.js
View file @
3982aa81
...
...
@@ -254,10 +254,18 @@
.
declareMethod
(
"
triggerSubmit
"
,
function
(
argument_list
)
{
var
gadget
=
this
,
child_gadget
,
content_dict
;
if
(
gadget
.
state
.
form_definition
.
portal_type_dict
.
custom_submit
)
{
return
gadget
.
getDeclaredGadget
(
'
erp5_pt_gadget
'
)
.
push
(
function
(
result
)
{
child_gadget
=
result
;
return
child_gadget
.
getContent
();
})
.
push
(
function
(
result
)
{
content_dict
=
result
;
return
gadget
.
declareGadget
(
gadget
.
state
.
form_definition
.
portal_type_dict
.
custom_submit
)
})
.
push
(
function
(
submit_gadget
)
{
return
submit_gadget
.
handle_submit
(
argument_list
,
gadget
.
state
);
return
submit_gadget
.
handle_submit
(
argument_list
,
gadget
.
state
,
content_dict
);
});
}
return
gadget
.
getDeclaredGadget
(
'
erp5_pt_gadget
'
)
...
...
@@ -434,16 +442,16 @@
}
}
}
if
(
portal_type_dict
.
custom_header
)
{
return
gadget
.
declareGadget
(
portal_type_dict
.
custom_header
);
}
return
;
})
.
push
(
function
(
header_gadget
)
{
if
(
header_gadget
)
{
return
header_gadget
.
getOptions
(
portal_type_dict
,
options
,
header_dict
);
},
function
(
error
)
{
if
(
!
portal_type_dict
.
custom_header
)
{
return
header_dict
;
}
else
{
throw
error
;
}
return
header_dict
;
})
.
push
(
function
(
header_options
)
{
return
gadget
.
updateHeader
(
header_options
);
...
...
bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_form_view_js.xml
View file @
3982aa81
...
...
@@ -258,7 +258,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
6.46538.50454.1467
</string>
</value>
<value>
<string>
101
9.37331.10633.54664
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -278,7 +278,7 @@
</tuple>
<state>
<tuple>
<float>
17
16222503.85
</float>
<float>
17
27373462.24
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_dispatch_js.js
View file @
3982aa81
...
...
@@ -55,7 +55,7 @@
"
url
"
:
options
.
url
,
"
username
"
:
options
.
username
,
"
password
"
:
options
.
password
,
"
slapos_master_url
"
:
options
.
slapos_master_url
||
"
not-provided
"
,
"
slapos_master_url
"
:
options
.
slapos_master_url
||
""
,
"
page
"
:
"
ojsm_opml_add
"
}
});
...
...
@@ -74,7 +74,7 @@
"
url
"
:
options
.
url
,
"
username
"
:
options
.
username
,
"
password
"
:
options
.
password
,
"
slapos_master_url
"
:
options
.
slapos_master_url
||
"
not-provided
"
,
"
slapos_master_url
"
:
options
.
slapos_master_url
||
""
,
"
page
"
:
"
ojsm_opml_add
"
}
});
...
...
@@ -98,6 +98,8 @@
// default front page (list of promises)
return
gadget
.
redirect
({
command
:
'
display
'
,
options
:
{
page
:
"
ojs_local_controller
"
,
notify_msg
:
options
.
notify_msg
,
notify_type
:
options
.
notify_type
,
portal_type
:
"
Promise Module
"
}
});
});
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_dispatch_js.xml
View file @
3982aa81
...
...
@@ -246,7 +246,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
7.31995.2932.55961
</string>
</value>
<value>
<string>
101
8.11987.13059.19063
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -266,7 +266,7 @@
</tuple>
<state>
<tuple>
<float>
17
19275229.13
</float>
<float>
17
21920651.07
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_erp5_configurator_js.js
View file @
3982aa81
...
...
@@ -5,7 +5,7 @@
rJS
(
window
)
.
setState
({
erp5_url_list
:
"
https://panel.rapid.space/hateoas/
"
erp5_url_list
:
[
"
https://panel.rapid.space/hateoas/
"
]
})
/////////////////////////////////////////////////////////////////
// Acquired methods
...
...
@@ -13,7 +13,8 @@
.
declareAcquiredMethod
(
"
updateHeader
"
,
"
updateHeader
"
)
.
declareAcquiredMethod
(
"
getUrlFor
"
,
"
getUrlFor
"
)
.
declareAcquiredMethod
(
"
redirect
"
,
"
redirect
"
)
.
declareAcquiredMethod
(
"
setSetting
"
,
"
setSetting
"
)
.
declareAcquiredMethod
(
"
getSetting
"
,
"
getSetting
"
)
.
declareAcquiredMethod
(
"
setSettingList
"
,
"
setSettingList
"
)
/////////////////////////////////////////
// Form submit
...
...
@@ -30,6 +31,10 @@
for
(
i
=
0
;
i
<
master_url_list
.
length
;
i
+=
1
)
{
master_url_list
[
i
]
=
master_url_list
[
i
].
trim
();
}
return
gadget
.
setSettingList
({
'
master_url_list
'
:
master_url_list
,
'
master_url_list_updated
'
:
true
});
})
.
push
(
function
()
{
return
gadget
.
redirect
({
command
:
"
display
"
,
options
:
{
page
:
"
ojsm_import_export
"
,
auto_sync
:
"
erp5
"
,
...
...
@@ -44,8 +49,13 @@
.
declareMethod
(
"
render
"
,
function
()
{
var
gadget
=
this
;
return
gadget
.
getDeclaredGadget
(
'
form_view
'
)
return
gadget
.
getSetting
(
'
master_url_list
'
)
.
push
(
function
(
master_url_list
)
{
if
(
master_url_list
)
{
gadget
.
state
.
erp5_url_list
=
master_url_list
;
}
return
gadget
.
getDeclaredGadget
(
'
form_view
'
);
})
.
push
(
function
(
form_gadget
)
{
//TODO replace textarea by N stringfield inputs
return
form_gadget
.
render
({
...
...
@@ -54,7 +64,7 @@
"
my_erp5_url_list
"
:
{
"
description
"
:
""
,
"
title
"
:
"
Connection Url List
"
,
"
default
"
:
gadget
.
state
.
erp5_url_list
,
"
default
"
:
gadget
.
state
.
erp5_url_list
.
join
(
'
\r\n
'
)
,
"
css_class
"
:
""
,
"
required
"
:
1
,
"
editable
"
:
1
,
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_erp5_configurator_js.xml
View file @
3982aa81
...
...
@@ -260,7 +260,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
6.60960.54632.28569
</string>
</value>
<value>
<string>
101
8.39277.14666.4573
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -280,7 +280,7 @@
</tuple>
<state>
<tuple>
<float>
17
18127515.73
</float>
<float>
17
23557962.81
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_import_export_js.js
View file @
3982aa81
...
...
@@ -600,91 +600,7 @@
.
push
(
function
()
{
var
has_failed
=
false
,
i
;
if
(
gadget
.
state
.
sync
===
"
erp5
"
&&
gadget
.
state
.
storage_url_list
)
{
var
storage_definition_list
=
[];
// start import from erp5 now
return
gadget
.
notifySubmitting
()
.
push
(
function
()
{
gadget
.
getSetting
(
'
default_view_reference
'
);
})
.
push
(
function
(
default_view_reference
)
{
for
(
i
=
0
;
i
<
gadget
.
state
.
storage_url_list
.
length
;
i
+=
1
)
{
storage_definition_list
.
push
({
type
:
"
erp5
"
,
url
:
gadget
.
state
.
storage_url_list
[
i
],
default_view_reference
:
default_view_reference
});
}
//TODO fix. union doesn't bring all elements (limit issue?)
/*return gadget.state.jio_gadget.createJio(
{
"type": "union",
"storage_list": storage_definition_list
}
);*/
return
gadget
.
state
.
jio_gadget
.
createJio
({
type
:
"
erp5
"
,
url
:
gadget
.
state
.
storage_url_list
[
0
],
default_view_reference
:
default_view_reference
});
})
.
push
(
function
()
{
return
gadget
.
getSetting
(
'
opml_import_limit
'
,
300
);
})
.
push
(
function
(
select_limit
)
{
return
getInstanceOPMLListFromMaster
(
gadget
,
select_limit
);
})
.
push
(
undefined
,
function
()
{
gadget
.
state
.
message
.
innerHTML
=
notify_msg_template
({
status
:
'
error
'
,
message
:
'
Error: Failed to get Monitor Configuration from URL:
'
+
gadget
.
state
.
storage_url_list
[
0
]
});
has_failed
=
true
;
return
[];
})
.
push
(
function
(
opml_list
)
{
var
i
,
push_queue
=
new
RSVP
.
Queue
();
function
pushOPML
(
opml_dict
)
{
push_queue
.
push
(
function
()
{
return
gadget
.
jio_put
(
opml_dict
.
url
,
opml_dict
);
})
.
push
(
undefined
,
function
(
error
)
{
throw
error
;
});
}
for
(
i
=
0
;
i
<
opml_list
.
length
;
i
+=
1
)
{
pushOPML
(
opml_list
[
i
]);
}
return
push_queue
;
})
.
push
(
undefined
,
function
()
{
gadget
.
state
.
message
.
innerHTML
=
notify_msg_template
({
status
:
'
error
'
,
message
:
'
An error occurred while saving Configuration from URL:
'
+
gadget
.
state
.
storage_url_list
[
0
]
});
has_failed
=
true
;
})
.
push
(
function
()
{
if
(
has_failed
)
{
return
gadget
.
notifySubmitted
({
message
:
"
Failed to import Configurations
"
,
status
:
"
error
"
});
}
return
RSVP
.
all
([
gadget
.
setSetting
(
"
latest_import_date
"
,
new
Date
().
getTime
()),
gadget
.
notifySubmitted
({
message
:
"
Configuration Saved!
"
,
status
:
"
success
"
})
]);
})
return
gadget
.
setSetting
(
"
latest_import_date
"
,
new
Date
().
getTime
())
.
push
(
function
()
{
if
(
!
has_failed
)
{
return
gadget
.
redirect
({
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_import_export_js.xml
View file @
3982aa81
...
...
@@ -260,7 +260,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
7.35724.42699.60194
</string>
</value>
<value>
<string>
101
9.25789.13503.57429
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -280,7 +280,7 @@
</tuple>
<state>
<tuple>
<float>
17
19499012.07
</float>
<float>
17
26682048.38
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_opml_add_js.js
View file @
3982aa81
...
...
@@ -160,7 +160,7 @@
"
my_slapos_master_url
"
:
{
"
description
"
:
"
Slapos master URL
"
,
"
title
"
:
"
Slapos master URL
"
,
"
default
"
:
options
.
slapos_master_url
||
"
not-provided
"
,
"
default
"
:
options
.
slapos_master_url
||
""
,
"
css_class
"
:
""
,
"
required
"
:
1
,
"
editable
"
:
1
,
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_opml_add_js.xml
View file @
3982aa81
...
...
@@ -260,7 +260,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
7.7024.38172.32733
</string>
</value>
<value>
<string>
101
8.38079.38037.25019
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -280,7 +280,7 @@
</tuple>
<state>
<tuple>
<float>
17
17777119
.89
</float>
<float>
17
23486191
.89
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_synchronize_js.js
View file @
3982aa81
...
...
@@ -13,7 +13,7 @@
.
declareAcquiredMethod
(
"
setSetting
"
,
"
setSetting
"
)
.
declareMethod
(
"
render
"
,
function
(
options
)
{
var
gadget
=
this
;
var
gadget
=
this
,
notify
=
{},
redirect_options
;
return
this
.
updateHeader
({
page_title
:
"
Monitoring Synchronization
"
})
...
...
@@ -24,8 +24,10 @@
return
sync_gadget
.
register
({
now
:
true
});
});
})
.
push
(
function
()
{
var
redirect_options
=
{
"
page
"
:
"
ojsm_dispatch
"
};
.
push
(
function
(
result
)
{
redirect_options
=
{
"
page
"
:
"
ojsm_dispatch
"
,
"
notify_msg
"
:
result
.
msg
,
"
notify_type
"
:
result
.
type
};
notify
.
msg
=
result
.
msg
;
notify
.
type
=
result
.
type
;
if
(
options
.
reset
===
"
1
"
)
{
// reset redirections
return
gadget
.
setSetting
(
"
sync_redirect_options
"
,
undefined
)
...
...
@@ -38,7 +40,9 @@
}
return
gadget
.
getSetting
(
'
sync_redirect_options
'
)
.
push
(
function
(
redirect_dict
)
{
if
(
redirect_options
)
{
if
(
redirect_dict
)
{
redirect_dict
.
msg
=
notify
.
msg
;
redirect_dict
.
type
=
notify
.
type
;
redirect_options
=
redirect_dict
;
return
gadget
.
setSetting
(
"
sync_redirect_options
"
,
undefined
);
}
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_ojsm_synchronize_js.xml
View file @
3982aa81
...
...
@@ -260,7 +260,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
7.6962.52907.14592
</string>
</value>
<value>
<string>
101
9.25789.13503.57429
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -280,7 +280,7 @@
</tuple>
<state>
<tuple>
<float>
17
177739
52.0
</float>
<float>
17
266821
52.0
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_erp5_page_settings_configurator_js.xml
View file @
3982aa81
...
...
@@ -246,7 +246,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
1017.
1125.9926.47069
</string>
</value>
<value>
<string>
1017.
42953.62497.13994
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -266,7 +266,7 @@
</tuple>
<state>
<tuple>
<float>
17
17423120.28
</float>
<float>
17
21847085.79
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring.configuration.xml
View file @
3982aa81
...
...
@@ -87,7 +87,7 @@
<item>
<key>
<string>
text_content
</string>
</key>
<value>
<string>
CONFIGURATION MANIFEST\n
# generated on
Mon Jun 3 13:55:2
4 2024\n
# generated on
Thu Sep 26 17:05:5
4 2024\n
CACHE:\n
\n
hateoas_appcache/definition_view/cG9ydGFsX3R5cGVzL1NvZnR3YXJlIEluc3RhbmNl\n
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_custom_css.css
View file @
3982aa81
...
...
@@ -371,3 +371,8 @@ margin-top: 5px;
margin
:
30px
25px
10px
0
;
border-top
:
1px
solid
#dedede
;
}
div
[
data-gadget-scope
$
=
"output_message"
]
p
{
margin
:
0
;
}
\ No newline at end of file
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_custom_css.xml
View file @
3982aa81
...
...
@@ -247,7 +247,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
5.24509.15236.10769
</string>
</value>
<value>
<string>
101
9.25707.33677.14080
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -267,7 +267,7 @@
</tuple>
<state>
<tuple>
<float>
17
11048261.1
4
</float>
<float>
17
27276878.7
4
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_alldocs_css.css
0 → 100644
View file @
3982aa81
div
[
data-gadget-scope
$
=
"output_message"
]
p
{
margin
:
0
;
}
\ No newline at end of file
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_alldocs_css.xml
0 → 100644
View file @
3982aa81
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Web Style"
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>
<string>
classification/collaborative/team
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
content_md5
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
gadget_officejs_monitoring_jio_alldocs.css
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
gadget_officejs_monitoring_jio_alldocs_css
</string>
</value>
</item>
<item>
<key>
<string>
language
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Web Style
</string>
</value>
</item>
<item>
<key>
<string>
short_title
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Officejs Monitoring All Docs css
</string>
</value>
</item>
<item>
<key>
<string>
version
</string>
</key>
<value>
<none/>
</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>
<unicode>
zope
</unicode>
</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>
1727283385.27
</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>
<unicode>
zope
</unicode>
</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>
1019.35832.27620.40430
</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>
1727283398.43
</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>
<unicode>
zope
</unicode>
</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>
1727283335.24
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_alldocs_html.html
View file @
3982aa81
...
...
@@ -5,6 +5,8 @@
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no"
/>
<title>
Jio All Docs
</title>
<link
rel=
"stylesheet"
href=
"gadget_officejs_monitoring_jio_alldocs.css"
>
<!-- renderjs -->
<script
src=
"rsvp.js"
type=
"text/javascript"
></script>
<script
src=
"renderjs.js"
type=
"text/javascript"
></script>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_alldocs_html.xml
View file @
3982aa81
...
...
@@ -248,7 +248,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
5.43169.7471.64085
</string>
</value>
<value>
<string>
101
9.35831.119.51780
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -268,7 +268,7 @@
</tuple>
<state>
<tuple>
<float>
17
12168022.6
1
</float>
<float>
17
27283353.8
1
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_alldocs_js.js
View file @
3982aa81
...
...
@@ -18,6 +18,7 @@
})
.
push
(
function
(
result
)
{
jio_gadget
=
result
;
// TODO check url response before creating jio? sometimes public feeds url is broken
return
jio_gadget
.
createJio
({
type
:
"
webhttp
"
,
// XXX fix of url
...
...
@@ -30,6 +31,7 @@
gadget
.
state
.
doc
.
source
+
"
.history
"
)
.
push
(
undefined
,
function
(
error
)
{
//check if json error
if
(
error
.
name
===
"
cancel
"
)
{
return
undefined
;
}
...
...
@@ -133,7 +135,7 @@
description
:
"
The promise output message
"
,
editable
:
0
,
hidden
:
0
,
"
default
"
:
status_history
.
data
[
i
].
message
,
"
default
"
:
status_history
.
data
[
i
].
message
.
replaceAll
(
"
\n
"
,
""
).
replaceAll
(
"
\\
n
"
,
""
)
,
key
:
"
message
"
,
required
:
0
,
title
:
"
Promise Output
"
,
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_alldocs_js.xml
View file @
3982aa81
...
...
@@ -250,7 +250,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
6.40876.2382.1215
1
</string>
</value>
<value>
<string>
101
9.35732.58009.3094
1
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -270,7 +270,7 @@
</tuple>
<state>
<tuple>
<float>
17
15958907.55
</float>
<float>
17
27278390.96
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_html.html
View file @
3982aa81
...
...
@@ -12,6 +12,7 @@
<script
src=
"jiodev.js"
type=
"text/javascript"
></script>
<script
src=
"monitoring_jio_storage.js"
type=
"text/javascript"
></script>
<script
src=
"monitoring_jio_web_storage.js"
type=
"text/javascript"
></script>
<script
src=
"monitoring_jio_erp5monitor_storage.js"
type=
"text/javascript"
></script>
<script
src=
"jio_ojs_storage.js"
type=
"text/javascript"
></script>
<script
src=
"jio_appcachestorage.js"
></script>
<script
src=
"jio_configuration_storage.js"
></script>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_html.xml
View file @
3982aa81
...
...
@@ -245,7 +245,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
4.2117.47678.65518
</string>
</value>
<value>
<string>
101
7.35894.43518.51251
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -265,7 +265,7 @@
</tuple>
<state>
<tuple>
<float>
17
06206800.08
</float>
<float>
17
23154487.39
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_js.js
View file @
3982aa81
...
...
@@ -3,7 +3,7 @@
(
function
(
window
,
rJS
,
jIO
)
{
"
use strict
"
;
var
LOCK_NAME
=
"
sync_lock
"
;
var
LOCK_NAME
=
"
sync_lock
"
,
LIMIT
=
300
;
function
promiseLock
(
name
,
options
,
callback
)
{
var
callback_promise
=
null
,
...
...
@@ -52,6 +52,63 @@
return
new
RSVP
.
Promise
(
resolver
,
canceller
);
}
function
getUpdatedMonitoringStorageSpec
(
gadget
,
checking_update_on_repair
)
{
var
storage_definition_list
=
[],
i
,
master_url_list
,
update_settings
,
monitoring_jio
;
return
gadget
.
getSettingList
([
'
master_url_list
'
,
'
master_url_list_updated
'
,
'
default_view_reference
'
])
.
push
(
function
(
result_list
)
{
if
(
result_list
[
0
])
{
master_url_list
=
result_list
[
0
];
if
(
result_list
[
1
])
{
update_settings
=
true
;
}
else
{
if
(
checking_update_on_repair
)
{
return
;
}
}
for
(
i
=
0
;
i
<
master_url_list
.
length
;
i
+=
1
)
{
storage_definition_list
.
push
({
type
:
"
erp5monitor
"
,
limit
:
LIMIT
,
sub_storage
:
{
type
:
"
erp5
"
,
url
:
master_url_list
[
i
],
default_view_reference
:
result_list
[
2
]
}
});
}
}
monitoring_jio
=
{
type
:
"
replicatedopml
"
,
remote_storage_unreachable_status
:
"
WARNING
"
,
remote_opml_check_time_interval
:
86400000
,
request_timeout
:
25000
,
// timeout is to 25 second
local_sub_storage
:
{
type
:
"
query
"
,
sub_storage
:
{
type
:
"
uuid
"
,
sub_storage
:
{
type
:
"
indexeddb
"
,
database
:
"
monitoring_local.db
"
}
}
},
remote_sub_storage
:
{
type
:
"
union
"
,
storage_list
:
storage_definition_list
}
};
if
(
update_settings
)
{
return
gadget
.
setSetting
(
'
master_url_list_updated
'
,
false
);
}
})
.
push
(
function
()
{
return
monitoring_jio
;
});
}
rJS
(
window
)
.
ready
(
function
(
gadget
)
{
...
...
@@ -60,9 +117,10 @@
})
.
declareAcquiredMethod
(
"
getSettingList
"
,
"
getSettingList
"
)
.
declareAcquiredMethod
(
"
setSettingList
"
,
"
setSettingList
"
)
.
declareAcquiredMethod
(
"
setSetting
"
,
"
setSetting
"
)
.
declareMethod
(
'
updateConfiguration
'
,
function
(
appcache_storage
,
migration_version
,
current_version
,
jio_storage
)
{
.
declareMethod
(
'
updateConfiguration
'
,
function
(
appcache_storage
,
current_version
,
jio_storage
)
{
var
gadget
=
this
;
if
(
!
appcache_storage
)
{
return
;
}
return
RSVP
.
Queue
()
...
...
@@ -73,7 +131,9 @@
return
jio_storage
.
repair
();
})
.
push
(
function
()
{
return
gadget
.
setSetting
(
"
migration_version
"
,
current_version
);
return
gadget
.
setSettingList
({
'
migration_version
'
:
current_version
,
'
master_url_list
'
:
undefined
,
'
master_url_list_updated
'
:
false
});
});
})
...
...
@@ -88,7 +148,7 @@
.
declareMethod
(
'
createJio
'
,
function
(
options
)
{
var
gadget
=
this
,
current_version
,
index
,
appcache_storage
,
monitoring_jio
,
appcache_jio
,
migration_version
,
manifest
,
appcache_jio
,
migration_version
,
manifest
,
monitoring_jio
,
origin_url
=
window
.
location
.
href
;
return
gadget
.
getSettingList
([
'
configuration_manifest
'
,
'
migration_version
'
])
...
...
@@ -99,22 +159,16 @@
index
=
current_version
.
indexOf
(
window
.
location
.
host
)
+
window
.
location
.
host
.
length
;
current_version
=
current_version
.
substr
(
index
);
manifest
=
"
gadget_officejs_monitoring.configuration
"
;
monitoring_jio
=
{
type
:
"
replicatedopml
"
,
remote_storage_unreachable_status
:
"
WARNING
"
,
remote_opml_check_time_interval
:
86400000
,
request_timeout
:
25000
,
// timeout is to 25 second
local_sub_storage
:
{
type
:
"
query
"
,
sub_storage
:
{
type
:
"
uuid
"
,
sub_storage
:
{
type
:
"
indexeddb
"
,
database
:
"
monitoring_local.db
"
}
}
if
(
migration_version
!==
current_version
)
{
return
gadget
.
setSettingList
({
'
master_url_list
'
:
undefined
,
'
master_url_list_updated
'
:
false
});
}
};
})
.
push
(
function
()
{
return
getUpdatedMonitoringStorageSpec
(
gadget
);
})
.
push
(
function
(
spec
)
{
monitoring_jio
=
spec
;
appcache_jio
=
{
type
:
"
replicate
"
,
parallel_operation_attachment_amount
:
10
,
...
...
@@ -161,8 +215,6 @@
}
})
.
push
(
function
(
all_docs
)
{
if
(
all_docs
&&
all_docs
.
data
.
total_rows
)
{
//iterate all docs, jio_remove, and recreate
var
remove_queue
=
new
RSVP
.
Queue
(),
i
;
function
remove_doc
(
id
)
{
remove_queue
...
...
@@ -170,6 +222,8 @@
return
gadget
.
props
.
jio_storage
.
remove
(
id
);
});
}
if
(
all_docs
&&
all_docs
.
data
.
total_rows
)
{
//iterate all docs, jio_remove, and recreate
for
(
i
=
0
;
i
<
all_docs
.
data
.
total_rows
;
i
+=
1
)
{
remove_doc
(
all_docs
.
data
.
rows
[
i
].
id
);
}
...
...
@@ -183,7 +237,7 @@
.
push
(
function
()
{
if
(
migration_version
!==
current_version
)
{
appcache_storage
=
jIO
.
createJIO
(
appcache_jio
);
return
gadget
.
updateConfiguration
(
appcache_storage
,
migration_version
,
current_version
,
gadget
.
props
.
jio_storage
);
return
gadget
.
updateConfiguration
(
appcache_storage
,
current_version
,
gadget
.
props
.
jio_storage
);
}
})
.
push
(
function
()
{
...
...
@@ -228,11 +282,17 @@
});
})
.
declareMethod
(
'
repair
'
,
function
()
{
var
storage
=
this
.
props
.
jio_storage
,
argument_list
=
arguments
;
var
gadget
=
this
,
argument_list
=
arguments
;
return
promiseLock
(
LOCK_NAME
,
{},
function
()
{
return
getUpdatedMonitoringStorageSpec
(
gadget
,
true
)
.
push
(
function
(
monitoring_jio
)
{
if
(
monitoring_jio
)
{
gadget
.
createStorage
(
undefined
,
monitoring_jio
);
}
var
storage
=
gadget
.
props
.
jio_storage
;
return
storage
.
repair
.
apply
(
storage
,
argument_list
);
});
});
});
}(
window
,
rJS
,
jIO
));
\ No newline at end of file
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_jio_js.xml
View file @
3982aa81
...
...
@@ -249,7 +249,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
6.59484.28533.58572
</string>
</value>
<value>
<string>
101
9.25813.42370.5614
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -269,7 +269,7 @@
</tuple>
<state>
<tuple>
<float>
17
17176711.0
</float>
<float>
17
26682335.1
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_opml_edit_js.js
View file @
3982aa81
...
...
@@ -63,10 +63,14 @@
.
push
(
function
()
{
return
{
status
:
'
OK
'
};
},
function
(
error
)
{
//console.error(error);
console
.
log
(
error
);
var
code
=
error
.
status
;
if
(
!
code
&&
error
.
target
)
{
code
=
error
.
target
.
status
;
}
return
{
status
:
'
ERROR
'
,
code
:
error
.
status
||
error
.
target
.
status
,
code
:
code
,
url
:
base_url
,
title
:
title
};
...
...
@@ -149,13 +153,14 @@
password
:
doc
.
password
,
active
:
(
doc
.
active
===
"
on
"
)
?
true
:
false
,
has_monitor
:
true
,
state
:
doc
.
state
||
(
doc
.
active
===
"
on
"
?
"
Started
"
:
"
Stopped
"
)
state
:
doc
.
state
||
(
doc
.
active
===
"
on
"
?
"
Started
"
:
"
Stopped
"
),
slapos_master_url
:
doc
.
slapos_master_url
,
manually_added
:
true
},
update_password_list
=
[],
allow_force
=
false
,
return_dict
;
if
(
doc
.
slapos_master_url
&&
doc
.
slapos_master_url
!==
undefined
&&
doc
.
slapos_master_url
!==
""
)
{
if
(
doc
.
slapos_master_url
!==
undefined
)
{
opml_dict
.
slapos_master_url
=
doc
.
slapos_master_url
;
}
gadget
.
state
.
message
.
textContent
=
""
;
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_opml_edit_js.xml
View file @
3982aa81
...
...
@@ -252,7 +252,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
6.62588.18488.24661
</string>
</value>
<value>
<string>
101
9.37418.47754.9113
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -272,7 +272,7 @@
</tuple>
<state>
<tuple>
<float>
17
17178789.09
</float>
<float>
17
27388970.66
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_submit_html.html
View file @
3982aa81
...
...
@@ -13,5 +13,10 @@
<script
src=
"gadget_officejs_monitoring_submit.js"
></script>
</head>
<body></body>
<body>
<form>
<div
data-gadget-url=
"gadget_officejs_monitoring_opml_edit.html"
data-gadget-scope=
"opml_gadget"
data-gadget-sandbox=
"public"
></div>
</form>
</body>
</html>
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_submit_html.xml
View file @
3982aa81
...
...
@@ -240,7 +240,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
6.14835.20658.8448
</string>
</value>
<value>
<string>
101
9.25707.33677.14080
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -260,7 +260,7 @@
</tuple>
<state>
<tuple>
<float>
17
14399889.98
</float>
<float>
17
27375273.45
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_submit_js.js
View file @
3982aa81
...
...
@@ -8,19 +8,19 @@
// Acquired methods
/////////////////////////////////////////////////////////////////
.
declareAcquiredMethod
(
"
redirect
"
,
"
redirect
"
)
.
declareAcquiredMethod
(
"
notifySubmitting
"
,
"
notifySubmitting
"
)
.
declareAcquiredMethod
(
"
notifySubmitted
"
,
"
notifySubmitted
"
)
/////////////////////////////////////////////////////////////////
// declared methods
/////////////////////////////////////////////////////////////////
.
declareMethod
(
"
handle_submit
"
,
function
(
argument_list
,
options
)
{
.
declareMethod
(
"
handle_submit
"
,
function
(
argument_list
,
options
,
content
)
{
switch
(
options
.
options
.
portal_type
)
{
case
"
Instance Tree
"
:
//TODO do the old parameter gadget save here and fix it
return
this
.
redirect
({
command
:
'
reload
'
});
case
"
Opml
"
:
console
.
log
(
"
opml submit argument_list, options:
"
,
argument_list
,
options
);
//TODO fix submit
var
gadget
=
this
,
doc
,
opml_gadget
;
...
...
@@ -30,18 +30,12 @@
})
.
push
(
function
(
g
)
{
opml_gadget
=
g
;
return
gadget
.
getDeclaredGadget
(
'
form_view
'
);
})
.
push
(
function
(
form_gadget
)
{
return
form_gadget
.
getContent
();
})
.
push
(
function
(
form_doc
)
{
doc
=
form_doc
;
if
(
doc
.
password
!==
gadget
.
state
.
password
)
{
doc
=
content
;
if
(
doc
.
password
!==
options
.
doc
.
password
)
{
// password was modified, update on backend
doc
.
new_password
=
doc
.
password
;
doc
.
confirm_new_password
=
doc
.
new_password
;
doc
.
password
=
gadget
.
state
.
password
;
doc
.
password
=
options
.
doc
.
password
;
doc
.
verify_password
=
1
;
}
else
{
doc
.
verify_password
=
(
doc
.
verify_password
===
"
on
"
)
?
1
:
0
;
...
...
@@ -54,10 +48,10 @@
.
push
(
function
()
{
var
verify_opml
=
doc
.
title
===
""
||
doc
.
title
===
undefined
||
doc
.
verify_password
===
1
;
if
(
gadget
.
state
.
active
===
false
&&
doc
.
active
===
"
on
"
)
{
if
(
options
.
doc
.
active
===
false
&&
doc
.
active
===
"
on
"
)
{
verify_opml
=
true
;
}
doc
.
title
=
gadget
.
state
.
opml_
title
;
doc
.
title
=
options
.
doc
.
title
;
return
opml_gadget
.
saveOPML
(
doc
,
verify_opml
);
})
.
push
(
function
(
state
)
{
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_submit_js.xml
View file @
3982aa81
...
...
@@ -242,7 +242,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
7.1223.8753.47035
</string>
</value>
<value>
<string>
101
9.37597.6963.8738
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -262,7 +262,7 @@
</tuple>
<state>
<tuple>
<float>
17
17428914.0
</float>
<float>
17
27389294.71
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_sync_js.js
View file @
3982aa81
/*global window, rJS, RSVP,
console,
XMLHttpRequest, document */
/*global window, rJS, RSVP, XMLHttpRequest, document */
/*jslint nomen: true, indent: 2, maxerr: 3*/
(
function
(
window
,
rJS
,
RSVP
,
console
,
XMLHttpRequest
,
document
)
{
(
function
(
window
,
rJS
,
RSVP
,
XMLHttpRequest
,
document
)
{
"
use strict
"
;
var
gadget_klass
=
rJS
(
window
);
...
...
@@ -47,7 +47,9 @@
function
syncAllStorage
()
{
var
has_error
=
false
,
last_sync_time
;
last_sync_time
,
classname
=
"
success
"
,
message
=
"
Synchronisation finished.
"
;
gadget
.
props
.
started
=
true
;
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
...
...
@@ -68,8 +70,7 @@
})
.
push
(
undefined
,
function
(
error
)
{
// should include error message in error
has_error
=
true
;
console
.
error
(
error
);
has_error
=
error
;
// return false so it will trigger the next run
return
false
;
})
...
...
@@ -77,34 +78,17 @@
last_sync_time
=
new
Date
().
getTime
();
return
RSVP
.
all
([
gadget
.
setSetting
(
'
latest_sync_time
'
,
last_sync_time
),
gadget
.
notifySubmitt
ing
()
gadget
.
notifySubmitt
ed
()
]);
})
.
push
(
function
()
{
var
classname
=
"
success
"
,
message
=
"
Synchronisation finished.
"
;
if
(
has_error
)
{
classname
=
"
error
"
;
message
=
"
Synchronisation finished with error(s).
"
;
message
+=
"
\n
You can retry with manual sync.
"
;
message
+=
"
\n
"
+
has_error
;
}
return
gadget
.
notifySubmitted
({
message
:
message
,
status
:
classname
});
})
.
push
(
function
()
{
gadget
.
props
.
started
=
false
;
/*return $.notify(
"Last Sync: " + formatDate(new Date(last_sync_time)),
{
position: "bottom right",
autoHide: true,
className: "success",
autoHideDelay: 30000
}
);*/
return
{
msg
:
message
,
type
:
classname
};
});
}
...
...
@@ -223,4 +207,4 @@
});
});
}(
window
,
rJS
,
RSVP
,
console
,
XMLHttpRequest
,
document
));
\ No newline at end of file
}(
window
,
rJS
,
RSVP
,
XMLHttpRequest
,
document
));
\ No newline at end of file
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_officejs_monitoring_sync_js.xml
View file @
3982aa81
...
...
@@ -252,7 +252,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
4.7721.36434.2560
</string>
</value>
<value>
<string>
101
8.39204.41098.43246
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -272,7 +272,7 @@
</tuple>
<state>
<tuple>
<float>
17
06281549.4
3
</float>
<float>
17
23554584.8
3
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/monitoring_jio_erp5monitor_storage_js.js
0 → 100644
View file @
3982aa81
/*
* Copyright 2016, Nexedi SA
* Released under the LGPL license.
* http://www.gnu.org/licenses/lgpl.html
*/
/*jslint nomen: true*/
/*global jIO, RSVP */
(
function
(
jIO
,
RSVP
)
{
"
use strict
"
;
var
LIMIT
=
100
;
//default
/**
* Monitor erp5 layer to wrap erp5 storages for monitor app
*
* @class ERP5Monitor
* @constructor
*/
function
ERP5Monitor
(
spec
)
{
if
(
!
spec
.
sub_storage
||
spec
.
sub_storage
.
type
!==
'
erp5
'
)
{
throw
new
TypeError
(
"
ERP5Monitor subtorage must be erp5 type
"
);
}
if
(
spec
.
limit
)
{
LIMIT
=
spec
.
limit
;
}
this
.
_storage_definition
=
spec
.
sub_storage
;
this
.
_sub_storage
=
jIO
.
createJIO
(
spec
.
sub_storage
);
}
ERP5Monitor
.
prototype
.
get
=
function
(
id
)
{
return
this
.
_sub_storage
.
get
.
apply
(
this
.
_sub_storage
,
arguments
);
};
ERP5Monitor
.
prototype
.
post
=
function
()
{
return
this
.
_sub_storage
.
post
.
apply
(
this
.
_sub_storage
,
arguments
);
};
ERP5Monitor
.
prototype
.
put
=
function
()
{
return
this
.
_sub_storage
.
put
.
apply
(
this
.
_sub_storage
,
arguments
);
};
ERP5Monitor
.
prototype
.
remove
=
function
()
{
return
this
.
_sub_storage
.
remove
.
apply
(
this
.
_sub_storage
,
arguments
);
};
ERP5Monitor
.
prototype
.
hasCapacity
=
function
(
capacity
)
{
return
(
capacity
===
"
list
"
)
||
(
capacity
===
"
limit
"
)
||
(
capacity
===
"
include
"
)
||
(
capacity
===
"
query
"
)
||
(
capacity
===
"
select
"
);
};
ERP5Monitor
.
prototype
.
buildQuery
=
function
()
{
var
sub_storage
=
this
.
_sub_storage
,
args
=
arguments
,
master_url
=
this
.
_storage_definition
.
url
,
i
;
if
(
!
arguments
[
0
].
limit
)
{
arguments
[
0
].
limit
=
[
0
,
LIMIT
];
}
return
sub_storage
.
allDocs
.
apply
(
sub_storage
,
args
)
.
push
(
function
(
result
)
{
for
(
i
=
0
;
i
<
result
.
data
.
rows
.
length
;
i
+=
1
)
{
result
.
data
.
rows
[
i
].
master_url
=
master_url
;
}
return
result
.
data
.
rows
;
});
};
jIO
.
addStorage
(
'
erp5monitor
'
,
ERP5Monitor
);
}(
jIO
,
RSVP
));
\ No newline at end of file
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/monitoring_jio_erp5monitor_storage_js.xml
0 → 100644
View file @
3982aa81
<?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>
<string>
classification/collaborative/public
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
content_md5
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
content_type
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
monitoring_jio_erp5monitor_storage.js
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
monitoring_jio_erp5monitor_storage_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>
Monitoring Jio Erp5 Monitor Storage
</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>
<unicode>
zope
</unicode>
</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>
1723124663.84
</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>
<unicode>
zope
</unicode>
</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>
1019.25867.59368.11707
</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>
1726686313.79
</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>
<unicode>
zope
</unicode>
</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>
1723124587.09
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/monitoring_jio_storage_js.js
View file @
3982aa81
/*
* Copyright 2016, Nexedi SA
* Released under the LGPL license.
* http://www.gnu.org/licenses/lgpl.html
*/
* Copyright 2016, Nexedi SA
* Released under the LGPL license.
* http://www.gnu.org/licenses/lgpl.html
*/
/*jslint nomen: true */
/*global jIO, RSVP,
Rusha, console, Blob
*/
/*jslint
indent: 2
nomen: true */
/*global jIO, RSVP,
rJS, Rusha, Blob, console, btoa, URLSearchParams
*/
(
function
(
jIO
,
RSVP
,
Rusha
,
Blob
,
console
)
{
(
function
(
jIO
,
RSVP
,
rJS
,
Rusha
,
Blob
,
console
,
btoa
,
URLSearchParams
)
{
"
use strict
"
;
/**
...
...
@@ -98,6 +98,11 @@
"
is not defined
"
);
}
this
.
_local_sub_storage
=
jIO
.
createJIO
(
spec
.
local_sub_storage
);
this
.
_local_sub_storage_spec
=
spec
.
local_sub_storage
;
if
(
spec
.
remote_sub_storage
!==
undefined
)
{
this
.
_remote_sub_storage_spec
=
spec
.
remote_sub_storage
;
this
.
_remote_sub_storage
=
jIO
.
createJIO
(
spec
.
remote_sub_storage
);
}
this
.
_remote_storage_unreachable_status
=
spec
.
remote_storage_unreachable_status
;
this
.
_remote_storage_dict
=
{};
...
...
@@ -139,6 +144,10 @@
};
ReplicatedOPMLStorage
.
prototype
.
hasCapacity
=
function
(
capacity
)
{
var
this_storage_not_capacity_list
=
[
'
post
'
,
'
getAttachment
'
,
'
putAttachment
'
];
if
(
this_storage_not_capacity_list
.
indexOf
(
capacity
)
!==
-
1
)
{
return
false
;
}
if
(
capacity
===
'
include
'
)
{
return
true
;
}
...
...
@@ -146,12 +155,14 @@
arguments
);
};
ReplicatedOPMLStorage
.
prototype
.
getAttachment
=
function
()
{
return
this
.
_local_sub_storage
.
getAttachment
.
apply
(
this
.
_local_sub_storage
,
ReplicatedOPMLStorage
.
prototype
.
allAttachments
=
function
()
{
return
this
.
_local_sub_storage
.
allAttachments
.
apply
(
this
.
_local_sub_storage
,
arguments
);
};
ReplicatedOPMLStorage
.
prototype
.
remove
=
function
(
id
)
{
//the removal of an opml involves to remove the full opml tree asociated
//note: if the opml belongs to a slapos master, next sync will restore it
var
storage
=
this
.
_local_sub_storage
;
return
storage
.
get
(
id
)
.
push
(
function
(
doc
)
{
...
...
@@ -249,11 +260,6 @@
});
};
ReplicatedOPMLStorage
.
prototype
.
allAttachments
=
function
()
{
return
this
.
_local_sub_storage
.
allAttachments
.
apply
(
this
.
_local_sub_storage
,
arguments
);
};
function
getStorageUrl
(
storage_spec
)
{
var
spec
=
storage_spec
;
while
(
spec
!==
undefined
)
{
...
...
@@ -406,6 +412,15 @@
});
}
function
fixDateTimezone
(
date_string
)
{
// set default timezone offset to UTC
// XXX should be removed later
if
(
ZONE_LIST
.
indexOf
(
date_string
.
slice
(
-
5
))
===
-
1
)
{
return
date_string
+
"
+0000
"
;
}
return
date_string
;
}
function
updateInstanceTreeState
(
hosting
,
element
)
{
var
status
=
element
.
status
.
toUpperCase
();
...
...
@@ -418,21 +433,13 @@
hosting
.
status
=
status
;
}
else
if
(
status
===
"
WARNING
"
)
{
hosting
.
status
=
status
;
}
if
(
status
===
"
OK
"
&&
hosting
.
status
!==
status
)
{
hosting
.
status
=
status
;
}
if
(
status
===
"
OK
"
&&
hosting
.
status
!==
status
)
{
hosting
.
status
=
status
;
}
function
fixDateTimezone
(
date_string
)
{
// set default timezone offset to UTC
// XXX should be removed later
if
(
ZONE_LIST
.
indexOf
(
date_string
.
slice
(
-
5
))
===
-
1
)
{
return
date_string
+
"
+0000
"
;
}
return
date_string
;
}
function
getOpmlTree
(
context
,
opml_url
,
opml_spec
,
basic_login
,
opml_title
)
{
function
getOpmlTree
(
context
,
opml_url
,
opml_spec
,
basic_login
,
opml_title
,
slapos_master_url
)
{
var
opml_storage
,
opml_document_list
=
[],
delete_key_list
=
[],
...
...
@@ -453,7 +460,8 @@
opml_url
:
opml_url
,
status
:
"
WARNING
"
,
instance_amount
:
0
,
status_date
:
(
new
Date
()).
toUTCString
()
+
"
+0000
"
status_date
:
(
new
Date
()).
toUTCString
()
+
"
+0000
"
,
slapos_master_url
:
slapos_master_url
};
return
getDocumentAsAttachment
(
context
,
opml_url
,
OPML_ATTACHMENT_NAME
)
.
push
(
function
(
opml_doc
)
{
...
...
@@ -578,7 +586,8 @@
parent_id
:
id
,
parent_url
:
opml_url
,
reference
:
id_hash
,
active
:
true
active
:
true
,
slapos_master_url
:
slapos_master_url
});
Object
.
assign
(
item
.
doc
,
header_dict
);
if
(
!
skip_add
)
{
...
...
@@ -659,7 +668,8 @@
item_result
.
type
,
status
:
status
,
reference
:
element
.
reference
||
id_hash
,
active
:
true
active
:
true
,
slapos_master_url
:
slapos_master_url
});
opml_document_list
.
push
({
id
:
id_hash
,
...
...
@@ -679,14 +689,18 @@
if
(
result_list
[
i
].
type
===
PROMISE_TYPE
)
{
// the first element of rss is the header
extra_dict
=
{
lastBuildDate
:
fixDateTimezone
(
result_list
[
i
].
result
.
data
.
rows
[
0
].
doc
.
lastBuildDate
),
lastBuildDate
:
fixDateTimezone
(
result_list
[
i
].
result
.
data
.
rows
[
0
].
doc
.
lastBuildDate
),
channel
:
result_list
[
i
].
result
.
data
.
rows
[
0
].
doc
.
description
,
channel_item
:
result_list
[
i
].
result
.
data
.
rows
[
0
].
doc
.
title
channel_item
:
result_list
[
i
].
result
.
data
.
rows
[
0
].
doc
.
title
,
description
:
""
};
start
=
1
;
}
for
(
j
=
start
;
j
<
result_list
[
i
].
result
.
data
.
total_rows
;
j
+=
1
)
{
if
(
result_list
[
i
].
type
===
PROMISE_TYPE
)
{
extra_dict
.
output_message
=
result_list
[
i
].
result
.
data
.
rows
[
j
].
doc
.
description
;
}
applyItemToTree
(
result_list
[
i
].
result
.
data
.
rows
[
j
],
result_list
[
i
],
...
...
@@ -706,8 +720,7 @@
name
:
result_list
[
i
].
url
,
doc
:
result_list
[
i
].
current_signature
});
}
else
if
(
context
.
_remote_storage_unreachable_status
!==
undefined
)
{
}
else
if
(
context
.
_remote_storage_unreachable_status
!==
undefined
)
{
if
(
result_list
[
i
].
type
===
"
webhttp
"
)
{
// In case it was impossible to get software Instance
// Add an empty Software Instance with unreachable status
...
...
@@ -811,7 +824,7 @@
function
syncOpmlStorage
(
context
)
{
return
context
.
_local_sub_storage
.
allDocs
({
query
:
'
(portal_type:"
'
+
OPML_PORTAL_TYPE
+
'
") AND (active:true) AND (url:"https://%")
'
,
select_list
:
[
"
title
"
,
"
url
"
,
"
basic_login
"
]
select_list
:
[
"
title
"
,
"
url
"
,
"
basic_login
"
,
"
slapos_master_url
"
]
})
.
push
(
function
(
storage_result
)
{
var
i
,
...
...
@@ -834,7 +847,8 @@
}
},
storage_spec
.
basic_login
,
storage_spec
.
title
storage_spec
.
title
,
storage_spec
.
slapos_master_url
);
})
.
push
(
function
(
result_list
)
{
...
...
@@ -855,9 +869,212 @@
ReplicatedOPMLStorage
.
prototype
.
repair
=
function
()
{
var
context
=
this
,
has_failed
=
false
,
error_msg
=
""
,
argument_list
=
arguments
;
function
getParameterDictFromUrl
(
uri_param
)
{
if
(
uri_param
.
has
(
'
url
'
)
&&
uri_param
.
has
(
'
password
'
)
&&
uri_param
.
has
(
'
username
'
)
&&
uri_param
.
get
(
'
url
'
).
startsWith
(
'
http
'
))
{
return
{
opml_url
:
uri_param
.
get
(
'
url
'
).
trim
(),
username
:
uri_param
.
get
(
'
username
'
).
trim
(),
password
:
uri_param
.
get
(
'
password
'
).
trim
()
};
}
}
function
getParameterFromconnectionDict
(
connection_dict
)
{
if
(
connection_dict
[
"
monitor-url
"
]
&&
connection_dict
[
"
monitor-url
"
].
startsWith
(
'
http
'
)
&&
connection_dict
[
"
monitor-user
"
]
&&
connection_dict
[
"
monitor-password
"
])
{
return
{
opml_url
:
connection_dict
[
"
monitor-url
"
].
trim
(),
username
:
connection_dict
[
"
monitor-user
"
].
trim
(),
password
:
connection_dict
[
"
monitor-password
"
].
trim
()
};
}
}
function
readMonitoringParameter
(
parmeter_xml
)
{
var
xml_doc
=
rJS
.
parseDocumentStringOrFail
(
parmeter_xml
,
"
text/xml
"
),
parameter
,
uri_param
,
json_parameter
,
parameter_dict
,
monitor_dict
=
{};
json_parameter
=
xml_doc
.
getElementById
(
"
_
"
);
if
(
json_parameter
!==
undefined
&&
json_parameter
!==
null
)
{
parameter_dict
=
JSON
.
parse
(
json_parameter
.
textContent
);
if
(
parameter_dict
.
hasOwnProperty
(
"
monitor-setup-url
"
))
{
return
getParameterDictFromUrl
(
new
URLSearchParams
(
parameter_dict
[
"
monitor-setup-url
"
])
);
}
return
getParameterFromconnectionDict
(
parameter_dict
);
}
parameter
=
xml_doc
.
getElementById
(
"
monitor-setup-url
"
);
if
(
parameter
!==
undefined
&&
parameter
!==
null
)
{
// monitor-setup-url exists
uri_param
=
new
URLSearchParams
(
parameter
.
textContent
);
return
getParameterDictFromUrl
(
uri_param
);
}
parameter
=
xml_doc
.
getElementById
(
"
monitor-url
"
);
if
(
parameter
!==
undefined
&&
parameter
!==
null
)
{
monitor_dict
.
url
=
parameter
.
textContent
.
trim
();
parameter
=
xml_doc
.
getElementById
(
"
monitor-user
"
);
if
(
parameter
===
undefined
&&
parameter
!==
null
)
{
return
;
}
monitor_dict
.
username
=
parameter
.
textContent
.
trim
();
parameter
=
xml_doc
.
getElementById
(
"
monitor-password
"
);
if
(
parameter
===
undefined
&&
parameter
!==
null
)
{
return
;
}
monitor_dict
.
password
=
parameter
.
textContent
.
trim
();
return
monitor_dict
;
}
}
function
getInstanceOPMLList
(
storage
)
{
if
(
!
storage
)
{
return
[];
}
var
instance_tree_list
=
[],
opml_list
=
[],
uid_dict
=
{};
return
storage
.
allDocs
({
query
:
'
(portal_type:"Instance Tree") AND (validation_state:"validated")
'
,
select_list
:
[
'
title
'
,
'
default_successor_uid
'
,
'
uid
'
,
'
slap_state
'
,
'
id
'
]
})
.
push
(
function
(
result
)
{
var
i
,
slapos_id
,
slapos_master_url
=
""
,
uid_search_list
=
[];
for
(
i
=
0
;
i
<
result
.
data
.
total_rows
;
i
+=
1
)
{
if
(
result
.
data
.
rows
[
i
].
value
.
slap_state
!==
"
destroy_requested
"
)
{
//TODO could slapos_id be used to desambiguate identic title
//instances trees between different storages?
slapos_id
=
result
.
data
.
rows
[
i
].
value
.
title
;
if
(
result
.
data
.
rows
[
i
].
master_url
)
{
slapos_master_url
=
result
.
data
.
rows
[
i
].
master_url
;
}
instance_tree_list
.
push
({
title
:
result
.
data
.
rows
[
i
].
value
.
title
,
relative_url
:
result
.
data
.
rows
[
i
].
id
,
slapos_id
:
slapos_id
,
slapos_master_url
:
slapos_master_url
,
active
:
(
result
.
data
.
rows
[
i
].
value
.
slap_state
===
"
start_requested
"
)
?
true
:
false
,
state
:
(
result
.
data
.
rows
[
i
].
value
.
slap_state
===
"
start_requested
"
)
?
"
Started
"
:
"
Stopped
"
});
uid_search_list
.
push
(
result
.
data
.
rows
[
i
].
value
.
uid
);
if
(
result
.
data
.
rows
[
i
].
value
.
default_successor_uid
)
{
uid_dict
[
result
.
data
.
rows
[
i
].
value
.
default_successor_uid
]
=
i
;
}
}
}
return
storage
.
allDocs
({
query
:
'
(portal_type:"Software Instance") AND
'
+
'
(successor_related_uid:("
'
+
uid_search_list
.
join
(
'
","
'
)
+
'
"))
'
,
select_list
:
[
'
uid
'
,
'
successor_related_uid
'
,
'
connection_xml
'
]
});
})
.
push
(
function
(
result
)
{
var
i
,
tmp_parameter
,
tmp_uid
,
slapos_master_url
=
""
;
for
(
i
=
0
;
i
<
result
.
data
.
total_rows
;
i
+=
1
)
{
tmp_uid
=
result
.
data
.
rows
[
i
].
value
.
uid
;
if
(
uid_dict
.
hasOwnProperty
(
tmp_uid
))
{
try
{
tmp_parameter
=
readMonitoringParameter
(
result
.
data
.
rows
[
i
].
value
.
connection_xml
);
}
catch
(
error
)
{
if
(
error
.
name
==
'
DOMParserError
'
)
{
tmp_parameter
=
undefined
;
}
else
{
throw
error
;
}
}
if
(
tmp_parameter
===
undefined
)
{
tmp_parameter
=
{
username
:
""
,
password
:
""
,
opml_url
:
undefined
};
}
if
(
instance_tree_list
[
uid_dict
[
tmp_uid
]])
{
if
(
result
.
data
.
rows
[
i
].
master_url
)
{
slapos_master_url
=
result
.
data
.
rows
[
i
].
master_url
;
}
opml_list
.
push
({
portal_type
:
OPML_PORTAL_TYPE
,
title
:
instance_tree_list
[
uid_dict
[
tmp_uid
]]
.
title
,
relative_url
:
instance_tree_list
[
uid_dict
[
tmp_uid
]]
.
relative_url
,
url
:
tmp_parameter
.
opml_url
||
String
(
tmp_uid
)
+
"
NO MONITOR
"
,
has_monitor
:
tmp_parameter
.
opml_url
!==
undefined
,
username
:
tmp_parameter
.
username
,
password
:
tmp_parameter
.
password
,
basic_login
:
btoa
(
tmp_parameter
.
username
+
'
:
'
+
tmp_parameter
.
password
),
active
:
tmp_parameter
.
opml_url
!==
undefined
&&
instance_tree_list
[
uid_dict
[
tmp_uid
]].
active
,
state
:
instance_tree_list
[
uid_dict
[
tmp_uid
]].
state
,
slapos_master_url
:
slapos_master_url
});
}
}
}
return
opml_list
;
});
}
function
cleanOpmlStorage
(
context
)
{
//TODO use slapos_master_url in the query instead of iterate later
return
context
.
_local_sub_storage
.
allDocs
({
query
:
'
(portal_type:"
'
+
OPML_PORTAL_TYPE
+
'
")
'
,
select_list
:
[
"
title
"
,
"
url
"
,
"
basic_login
"
,
"
slapos_master_url
"
,
"
manually_added
"
]
})
.
push
(
function
(
result
)
{
function
removeAllOPML
(
remove_opml_list
,
jio
)
{
var
remove_queue
=
new
RSVP
.
Queue
(),
i
;
function
remove_opml
(
id
)
{
remove_queue
.
push
(
function
()
{
return
jio
.
remove
(
id
);
});
}
for
(
i
=
0
;
i
<
remove_opml_list
.
length
;
i
+=
1
)
{
remove_opml
(
remove_opml_list
[
i
].
id
);
}
return
remove_queue
;
}
var
slapos_master_url_list
=
[],
spec_list
=
context
.
_remote_sub_storage_spec
.
storage_list
,
i
,
remove_opml_list
=
[],
opml_list
=
result
.
data
.
rows
;
if
(
spec_list
)
{
for
(
i
=
0
;
i
<
spec_list
.
length
;
i
+=
1
)
{
if
(
spec_list
[
i
].
sub_storage
&&
spec_list
[
i
].
sub_storage
.
url
)
{
slapos_master_url_list
.
push
(
spec_list
[
i
].
sub_storage
.
url
);
}
}
}
if
(
slapos_master_url_list
.
length
>
0
)
{
for
(
i
=
0
;
i
<
opml_list
.
length
;
i
+=
1
)
{
if
(
!
opml_list
[
i
].
value
.
manually_added
)
{
if
(
!
slapos_master_url_list
.
includes
(
opml_list
[
i
].
value
.
slapos_master_url
))
{
remove_opml_list
.
push
(
opml_list
[
i
]);
}
}
}
}
return
removeAllOPML
(
remove_opml_list
,
context
);
});
}
return
new
RSVP
.
Queue
()
//repair sub storage layers (local and remote)
.
push
(
function
()
{
return
context
.
_local_sub_storage
.
repair
.
apply
(
context
.
_local_sub_storage
,
...
...
@@ -865,10 +1082,67 @@
);
})
.
push
(
function
()
{
if
(
context
.
_remote_sub_storage
)
{
return
context
.
_remote_sub_storage
.
repair
.
apply
(
context
.
_remote_sub_storage
,
argument_list
);
}
})
.
push
(
function
()
{
//delete all opmls trees of no longer present slapos masters
//(in case master url list was updated)
return
cleanOpmlStorage
(
context
);
})
.
push
(
function
()
{
//get opml list from remote slapos master(s)
return
getInstanceOPMLList
(
context
.
_remote_sub_storage
);
})
.
push
(
undefined
,
function
(
error
)
{
has_failed
=
true
;
if
(
error
.
target
)
{
if
(
error
.
target
.
status
===
401
)
{
error_msg
=
"
: unauthorized access to slapos master
"
;
}
if
(
error
.
target
.
status
===
404
)
{
error_msg
=
"
: slapos master url not found
"
;
}
if
(
error
.
target
.
status
-
500
>
0
)
{
error_msg
=
"
: server error on slapos master side -
"
+
error
.
target
.
status
;
}
if
(
error
.
target
.
responseURL
)
{
error_msg
+=
"
. URL:
"
+
error
.
target
.
responseURL
;
}
}
else
{
console
.
log
(
error
);
}
if
(
!
error_msg
)
{
throw
error
;
}
throw
new
Error
(
"
Failed to import remote configurations
"
+
error_msg
);
})
.
push
(
function
(
opml_list
)
{
//store opmls in local sub storage
var
i
,
push_queue
=
new
RSVP
.
Queue
();
function
pushOPML
(
opml_dict
)
{
push_queue
.
push
(
function
()
{
return
context
.
_local_sub_storage
.
put
(
opml_dict
.
url
,
opml_dict
);
});
}
for
(
i
=
0
;
i
<
opml_list
.
length
;
i
+=
1
)
{
pushOPML
(
opml_list
[
i
]);
}
return
push_queue
;
})
.
push
(
function
()
{
if
(
!
has_failed
)
{
//sync storage using updated opml list
return
syncOpmlStorage
(
context
);
}
});
};
jIO
.
addStorage
(
'
replicatedopml
'
,
ReplicatedOPMLStorage
);
}(
jIO
,
RSVP
,
Rusha
,
Blob
,
console
));
}(
jIO
,
RSVP
,
rJS
,
Rusha
,
Blob
,
console
,
btoa
,
URLSearchParams
));
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/monitoring_jio_storage_js.xml
View file @
3982aa81
...
...
@@ -249,7 +249,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
7.22812.19597.42137
</string>
</value>
<value>
<string>
101
9.38541.57829.32512
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -269,7 +269,7 @@
</tuple>
<state>
<tuple>
<float>
17
18724260.35
</float>
<float>
17
27445979.03
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/ojsm_gadget_erp5_parentfield_js.js
View file @
3982aa81
/*global window, rJS, RSVP, Handlebars */
/*global window, rJS, RSVP, Handlebars
, atob
*/
/*jslint indent: 2, maxerr: 3 */
(
function
(
window
,
rJS
,
RSVP
,
Handlebars
)
{
(
function
(
window
,
rJS
,
RSVP
,
Handlebars
,
atob
)
{
"
use strict
"
;
var
gadget_klass
=
rJS
(
window
),
...
...
@@ -72,7 +72,7 @@
return
gadget
.
changeState
(
state_dict
);
});
case
"
software_instance
"
:
if
(
software_instance
.
reference
)
{
if
(
software_instance
&&
software_instance
.
reference
)
{
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
return
gadget
.
getUrlFor
({
command
:
'
push_history
'
,
options
:
{
...
...
@@ -94,21 +94,54 @@
return
gadget
.
changeState
(
state_dict
);
}
case
"
computer
"
:
if
(
software_instance
)
{
state_dict
.
content
=
software_instance
.
aggregate_reference
;
}
return
gadget
.
changeState
(
state_dict
);
case
"
partition
"
:
if
(
software_instance
)
{
state_dict
.
content
=
software_instance
.
partition_id
;
}
return
gadget
.
changeState
(
state_dict
);
case
"
partition_ipv6
"
:
if
(
software_instance
)
{
state_dict
.
content
=
software_instance
.
ipv6
;
}
return
gadget
.
changeState
(
state_dict
);
case
"
software_release
"
:
if
(
software_instance
)
{
state_dict
.
content
=
link_template
({
url
:
software_instance
.
software_release
,
title
:
"
Access Software release
"
,
target
:
"
_blank
"
});
}
return
gadget
.
changeState
(
state_dict
);
case
"
public_url
"
:
state_dict
.
content
=
link_template
({
url
:
options
.
link
.
replace
(
'
private
'
,
'
public
'
),
title
:
"
Access Public files
"
,
target
:
"
_blank
"
});
return
gadget
.
changeState
(
state_dict
);
case
"
private_url
"
:
return
gadget
.
jio_get
(
options
.
parent_id
)
.
push
(
function
(
outline_doc
)
{
return
RSVP
.
all
([
outline_doc
.
parent_id
,
gadget
.
jio_get
(
outline_doc
.
parent_url
)]);
})
.
push
(
function
(
doc_list
)
{
if
(
software_instance
&&
software_instance
.
_links
)
{
var
pass_url
=
"
https://
"
+
atob
(
doc_list
[
1
].
basic_login
)
+
"
@
"
+
software_instance
.
_links
.
private_url
.
href
.
split
(
"
//
"
)[
1
];
state_dict
.
content
=
link_template
({
url
:
pass_url
,
title
:
"
Access Private files
"
,
target
:
"
_blank
"
});
}
return
gadget
.
changeState
(
state_dict
);
});
default
:
state_dict
.
content
=
""
;
return
gadget
.
changeState
(
state_dict
);
...
...
@@ -120,4 +153,4 @@
this
.
element
.
innerHTML
=
modification_dict
.
content
;
});
}(
window
,
rJS
,
RSVP
,
Handlebars
));
\ No newline at end of file
}(
window
,
rJS
,
RSVP
,
Handlebars
,
atob
));
\ No newline at end of file
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/ojsm_gadget_erp5_parentfield_js.xml
View file @
3982aa81
...
...
@@ -244,7 +244,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
6.27890.23432.33160
</string>
</value>
<value>
<string>
101
9.38589.15925.60637
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -264,7 +264,7 @@
</tuple>
<state>
<tuple>
<float>
17
15096834.79
</float>
<float>
17
27448911.56
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/officejs_monitoring.xml
View file @
3982aa81
...
...
@@ -104,7 +104,7 @@
<dictionary>
<item>
<key>
<string>
_defined_in_class
</string>
</key>
<value>
<
bool>
True
</bool
>
</value>
<value>
<
int>
1
</int
>
</value>
</item>
<item>
<key>
<string>
_hookname
</string>
</key>
...
...
@@ -544,7 +544,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
5.32811.46439.54528
</string>
</value>
<value>
<string>
101
9.25707.33677.14080
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -564,7 +564,7 @@
</tuple>
<state>
<tuple>
<float>
17
16562039.61
</float>
<float>
17
27370343.76
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/officejs_monitoring/app.xml
View file @
3982aa81
...
...
@@ -104,7 +104,7 @@
<dictionary>
<item>
<key>
<string>
_defined_in_class
</string>
</key>
<value>
<
bool>
True
</bool
>
</value>
<value>
<
int>
1
</int
>
</value>
</item>
<item>
<key>
<string>
_hookname
</string>
</key>
...
...
@@ -579,7 +579,7 @@ WebSection_getMonitorPrecacheManifestList</string> </value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
5.45944.11619.35208
</string>
</value>
<value>
<string>
101
9.25707.33677.14080
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -599,7 +599,7 @@ WebSection_getMonitorPrecacheManifestList</string> </value>
</tuple>
<state>
<tuple>
<float>
17
16562039.61
</float>
<float>
17
27370348.54
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/officejs_monitoring/hateoas_appcache.xml
View file @
3982aa81
...
...
@@ -69,7 +69,7 @@
<dictionary>
<item>
<key>
<string>
_defined_in_class
</string>
</key>
<value>
<
bool>
True
</bool
>
</value>
<value>
<
int>
1
</int
>
</value>
</item>
<item>
<key>
<string>
_hookname
</string>
</key>
...
...
@@ -339,7 +339,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
101
4.3364.27014.64238
</string>
</value>
<value>
<string>
101
9.25707.33677.14080
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -359,7 +359,7 @@
</tuple>
<state>
<tuple>
<float>
17
16562039.61
</float>
<float>
17
27370343.75
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Promise_viewForMonitoring.xml
View file @
3982aa81
...
...
@@ -91,7 +91,7 @@
<key>
<string>
center
</string>
</key>
<value>
<list>
<string>
my_
description
</string>
<string>
my_
output_message
</string>
</list>
</value>
</item>
...
...
@@ -109,8 +109,8 @@
<string>
my_category
</string>
<string>
my_pubDate
</string>
<string>
my_lastBuildDate
</string>
<string>
my_public_url
</string>
<string>
my_private_url
</string>
<string>
my_p
arent_p
ublic_url
</string>
<string>
my_p
arent_p
rivate_url
</string>
</list>
</value>
</item>
...
...
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Promise_viewForMonitoring/my_
description
.xml
→
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Promise_viewForMonitoring/my_
output_message
.xml
View file @
3982aa81
...
...
@@ -2,13 +2,13 @@
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"
TextAreaField"
module=
"Products.Formulator.StandardFields
"
/>
<global
name=
"
GadgetField"
module=
"Products.ERP5Form.GadgetField
"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_
description
</string>
</value>
<value>
<string>
my_
output_message
</string>
</value>
</item>
<item>
<key>
<string>
message_values
</string>
</key>
...
...
@@ -19,20 +19,8 @@
<value>
<string>
The input failed the external validator.
</string>
</value>
</item>
<item>
<key>
<string>
line_too_long
</string>
</key>
<value>
<string>
A line was too long.
</string>
</value>
</item>
<item>
<key>
<string>
required_not_found
</string>
</key>
<value>
<string>
Input is required but no input given.
</string>
</value>
</item>
<item>
<key>
<string>
too_long
</string>
</key>
<value>
<string>
You entered too many characters.
</string>
</value>
</item>
<item>
<key>
<string>
too_many_lines
</string>
</key>
<value>
<string>
You entered too many lines.
</string>
</value>
<key>
<string>
no_validator
</string>
</key>
<value>
<string>
Does not support this operation.
</string>
</value>
</item>
</dictionary>
</value>
...
...
@@ -49,6 +37,10 @@
<key>
<string>
css_class
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
data_url
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string></string>
</value>
...
...
@@ -74,7 +66,7 @@
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
height
</string>
</key>
<key>
<string>
gadget_url
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
...
...
@@ -82,19 +74,11 @@
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
max_length
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
max_linelength
</string>
</key>
<key>
<string>
js_sandbox
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
max_lines
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
required
</string>
</key>
<key>
<string>
renderjs_extra
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
...
...
@@ -102,15 +86,11 @@
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
unicode
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
whitespace_preserve
</string>
</key>
<key>
<string>
validator_field_id
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
width
</string>
</key>
<key>
<string>
validator_form_id
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
...
...
@@ -128,6 +108,10 @@
<key>
<string>
css_class
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
data_url
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string></string>
</value>
...
...
@@ -153,7 +137,7 @@
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
height
</string>
</key>
<key>
<string>
gadget_url
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
...
...
@@ -161,19 +145,11 @@
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
max_length
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
max_linelength
</string>
</key>
<key>
<string>
js_sandbox
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
max_lines
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
required
</string>
</key>
<key>
<string>
renderjs_extra
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
...
...
@@ -181,15 +157,11 @@
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
unicode
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
whitespace_preserve
</string>
</key>
<key>
<string>
validator_field_id
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
width
</string>
</key>
<key>
<string>
validator_form_id
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
...
...
@@ -207,6 +179,10 @@
<key>
<string>
css_class
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
data_url
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string></string>
</value>
...
...
@@ -229,47 +205,46 @@
</item>
<item>
<key>
<string>
extra
</string>
</key>
<value>
<string></string>
</value>
<value>
<string
encoding=
"cdata"
>
<![CDATA[
if (context_document && context_document.output_message) { result.default = "<p style=\'margin: 0;\'>
" + context_document.output_message + "
</p>
"; result.default = result.default.replaceAll("\\n", "
</p><p
style=
\'margin:
0;\'
>
"); result.default = result.default.replaceAll("\\\\n", "
</p><p
style=
\'margin:
0;\'
>
"); }
]]>
</string>
</value>
</item>
<item>
<key>
<string>
height
</string>
</key>
<value>
<
int>
5
</int
>
</value>
<key>
<string>
gadget_url
</string>
</key>
<value>
<
string>
gadget_editor.html
</string
>
</value>
</item>
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
max_length
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
max_linelength
</string>
</key>
<key>
<string>
js_sandbox
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
max_lines
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
required
</string>
</key>
<value>
<int>
0
</int>
</value>
<key>
<string>
renderjs_extra
</string>
</key>
<value>
<list>
<tuple>
<string>
{"editor": "fck_editor", "maximize": true}
</string>
<string>
{"editor": "fck_editor", "maximize": true}
</string>
</tuple>
</list>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Output message
</string>
</value>
</item>
<item>
<key>
<string>
unicode
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
whitespace_preserve
</string>
</key>
<value>
<int>
0
</int>
</value>
<key>
<string>
validator_field_id
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
width
</string>
</key>
<value>
<
int>
40
</int
>
</value>
<key>
<string>
validator_form_id
</string>
</key>
<value>
<
string></string
>
</value>
</item>
</dictionary>
</value>
...
...
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Promise_viewForMonitoring/my_private_url.xml
→
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Promise_viewForMonitoring/my_p
arent_p
rivate_url.xml
View file @
3982aa81
...
...
@@ -2,28 +2,45 @@
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"
HyperLinkField"
module=
"Products.ERP5Form.HyperLink
Field"
/>
<global
name=
"
GadgetField"
module=
"Products.ERP5Form.Gadget
Field"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_private_url
</string>
</value>
<value>
<string>
my_p
arent_p
rivate_url
</string>
</value>
</item>
<item>
<key>
<string>
message_values
</string>
</key>
<value>
<dictionary/>
<dictionary>
<item>
<key>
<string>
external_validator_failed
</string>
</key>
<value>
<string>
The input failed the external validator.
</string>
</value>
</item>
<item>
<key>
<string>
no_validator
</string>
</key>
<value>
<string>
Does not support this operation.
</string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
overrides
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
alternate_name
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
css_class
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
data_url
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string></string>
</value>
...
...
@@ -40,22 +57,42 @@
<key>
<string>
enabled
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
external_validator
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
extra
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
gadget_url
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
href
</string>
</key>
<key>
<string>
js_sandbox
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
renderjs_extra
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
validator_field_id
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
validator_form_id
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
...
...
@@ -63,10 +100,18 @@
<key>
<string>
tales
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
alternate_name
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
css_class
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
data_url
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string></string>
</value>
...
...
@@ -83,22 +128,42 @@
<key>
<string>
enabled
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
external_validator
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
extra
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
gadget_url
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
href
</string>
</key>
<key>
<string>
js_sandbox
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
renderjs_extra
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
validator_field_id
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
validator_form_id
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
...
...
@@ -106,13 +171,21 @@
<key>
<string>
values
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
alternate_name
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
css_class
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
data_url
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string>
Access Private files
</string>
</value>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
...
...
@@ -126,26 +199,49 @@
<key>
<string>
enabled
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
external_validator
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
extra
</string>
</key>
<value>
<string
encoding=
"cdata"
>
<![CDATA[
if (context_document && context_document.link) { result.href = context_document.link; }
]]>
</string>
</value>
<value>
<string
></string>
</value>
</item>
<item>
<key>
<string>
gadget_url
</string>
</key>
<value>
<string>
gadget_erp5_field_parent.html
</string>
</value>
</item>
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
href
</string>
</key>
<value>
<string>
*
</string>
</value>
<key>
<string>
js_sandbox
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
renderjs_extra
</string>
</key>
<value>
<list>
<tuple>
<string>
{"field": "private_url"}
</string>
<string>
{"field": "private_url"}
</string>
</tuple>
</list>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Private Logs Url
</string>
</value>
</item>
<item>
<key>
<string>
validator_field_id
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
validator_form_id
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
...
...
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Promise_viewForMonitoring/my_public_url.xml
→
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/Promise_viewForMonitoring/my_p
arent_p
ublic_url.xml
View file @
3982aa81
...
...
@@ -2,28 +2,45 @@
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"
HyperLinkField"
module=
"Products.ERP5Form.HyperLink
Field"
/>
<global
name=
"
GadgetField"
module=
"Products.ERP5Form.Gadget
Field"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
my_public_url
</string>
</value>
<value>
<string>
my_p
arent_p
ublic_url
</string>
</value>
</item>
<item>
<key>
<string>
message_values
</string>
</key>
<value>
<dictionary/>
<dictionary>
<item>
<key>
<string>
external_validator_failed
</string>
</key>
<value>
<string>
The input failed the external validator.
</string>
</value>
</item>
<item>
<key>
<string>
no_validator
</string>
</key>
<value>
<string>
Does not support this operation.
</string>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
overrides
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
alternate_name
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
css_class
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
data_url
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string></string>
</value>
...
...
@@ -40,22 +57,42 @@
<key>
<string>
enabled
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
external_validator
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
extra
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
gadget_url
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
href
</string>
</key>
<key>
<string>
js_sandbox
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
renderjs_extra
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
validator_field_id
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
validator_form_id
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
...
...
@@ -63,10 +100,18 @@
<key>
<string>
tales
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
alternate_name
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
css_class
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
data_url
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string></string>
</value>
...
...
@@ -83,22 +128,42 @@
<key>
<string>
enabled
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
external_validator
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
extra
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
gadget_url
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
href
</string>
</key>
<key>
<string>
js_sandbox
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
renderjs_extra
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
validator_field_id
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
validator_form_id
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
...
...
@@ -106,13 +171,21 @@
<key>
<string>
values
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
alternate_name
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
css_class
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
data_url
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
default
</string>
</key>
<value>
<string>
Access Public files
</string>
</value>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
...
...
@@ -126,26 +199,49 @@
<key>
<string>
enabled
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
external_validator
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
extra
</string>
</key>
<value>
<string
encoding=
"cdata"
>
<![CDATA[
if (context_document && context_document.link) { result.href = context_document.link.replace(\'private\', \'public\'); }
]]>
</string>
</value>
<value>
<string
></string>
</value>
</item>
<item>
<key>
<string>
gadget_url
</string>
</key>
<value>
<string>
gadget_erp5_field_parent.html
</string>
</value>
</item>
<item>
<key>
<string>
hidden
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
href
</string>
</key>
<value>
<string>
*
</string>
</value>
<key>
<string>
js_sandbox
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
renderjs_extra
</string>
</key>
<value>
<list>
<tuple>
<string>
{"field": "public_url"}
</string>
<string>
{"field": "public_url"}
</string>
</tuple>
</list>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
Public Logs Url
</string>
</value>
</item>
<item>
<key>
<string>
validator_field_id
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
validator_form_id
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</value>
</item>
...
...
bt5/erp5_web_monitoring/SkinTemplateItem/portal_skins/erp5_web_monitoring/WebSection_getMonitorPrecacheManifestList.py
View file @
3982aa81
...
...
@@ -16,6 +16,7 @@ url_list = [
"erp5_launcher_nojqm.js"
,
"monitoring_jio_storage.js"
,
"monitoring_jio_web_storage.js"
,
"monitoring_jio_erp5monitor_storage.js"
,
"jio_ojs_storage.js"
,
"jio_configuration_storage.js"
,
"jio_appcachestorage.js"
,
...
...
@@ -125,6 +126,7 @@ url_list = [
"gadget_erp5_editor_panel.js"
,
"gadget_officejs_monitoring_jio_alldocs.html"
,
"gadget_officejs_monitoring_jio_alldocs.js"
,
"gadget_officejs_monitoring_jio_alldocs.css"
,
"gadget_erp5_page_ojsm_parameters_view.html"
,
"gadget_erp5_page_ojsm_parameters_view.js"
,
"gadget_officejs_monitoring_options_header.html"
,
...
...
bt5/erp5_web_monitoring/bt/template_keep_last_workflow_history_only_path_list
View file @
3982aa81
...
...
@@ -15,6 +15,7 @@ web_page_module/gadget_officejs_monitoring.configuration
web_page_module/gadget_officejs_monitoring_*
web_page_module/gadget_ojsm_*
web_page_module/jsen_json_validator_js
web_page_module/monitoring_jio_erp5monitor_storage_js
web_page_module/monitoring_jio_storage_js
web_page_module/monitoring_jio_web_storage_js
web_page_module/ojsm_gadget_erp5_parent*
...
...
bt5/erp5_web_monitoring/bt/template_keep_workflow_path_list
View file @
3982aa81
...
...
@@ -15,6 +15,7 @@ web_page_module/gadget_officejs_monitoring.configuration
web_page_module/gadget_officejs_monitoring_*
web_page_module/gadget_ojsm_*
web_page_module/jsen_json_validator_js
web_page_module/monitoring_jio_erp5monitor_storage_js
web_page_module/monitoring_jio_storage_js
web_page_module/monitoring_jio_web_storage_js
web_page_module/ojsm_gadget_erp5_parent*
...
...
bt5/erp5_web_monitoring/bt/template_path_list
View file @
3982aa81
...
...
@@ -15,6 +15,7 @@ web_page_module/gadget_officejs_monitoring.configuration
web_page_module/gadget_officejs_monitoring_*
web_page_module/gadget_ojsm_*
web_page_module/jsen_json_validator_js
web_page_module/monitoring_jio_erp5monitor_storage_js
web_page_module/monitoring_jio_storage_js
web_page_module/monitoring_jio_web_storage_js
web_page_module/ojsm_gadget_erp5_parent*
...
...
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