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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Noah Brackenbury
erp5
Commits
b18fe54e
Commit
b18fe54e
authored
Aug 30, 2017
by
Alain Takoudjou
Committed by
Alain Takoudjou
Sep 01, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[officejs_monitoring] Some performances improvement, use officejs bootloader to install application
parent
1923807c
Changes
32
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
1108 additions
and
579 deletions
+1108
-579
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_appcache.xml
...mplateItem/web_page_module/gadget_monitoring_appcache.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_custom_css.css
...lateItem/web_page_module/gadget_monitoring_custom_css.css
+3
-0
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_custom_css.xml
...lateItem/web_page_module/gadget_monitoring_custom_css.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_document_edit_html.html
...web_page_module/gadget_monitoring_document_edit_html.html
+11
-1
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_document_edit_html.xml
.../web_page_module/gadget_monitoring_document_edit_html.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_document_edit_js.js
...tem/web_page_module/gadget_monitoring_document_edit_js.js
+41
-66
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_document_edit_js.xml
...em/web_page_module/gadget_monitoring_document_edit_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_hosting_subscription_list_js.js
..._module/gadget_monitoring_hosting_subscription_list_js.js
+71
-91
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_hosting_subscription_list_js.xml
...module/gadget_monitoring_hosting_subscription_list_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_hosting_subscription_view_html.html
...ule/gadget_monitoring_hosting_subscription_view_html.html
+2
-4
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_hosting_subscription_view_html.xml
...dule/gadget_monitoring_hosting_subscription_view_html.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_hosting_subscription_view_js.js
..._module/gadget_monitoring_hosting_subscription_view_js.js
+32
-31
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_hosting_subscription_view_js.xml
...module/gadget_monitoring_hosting_subscription_view_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_jio_js.js
...hTemplateItem/web_page_module/gadget_monitoring_jio_js.js
+2
-0
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_jio_js.xml
...TemplateItem/web_page_module/gadget_monitoring_jio_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_promise_interface_html.html
...page_module/gadget_monitoring_promise_interface_html.html
+1
-1
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_promise_interface_html.xml
..._page_module/gadget_monitoring_promise_interface_html.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_resource_view_html.xml
.../web_page_module/gadget_monitoring_resource_view_html.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_resource_view_js.xml
...em/web_page_module/gadget_monitoring_resource_view_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_settings_configurator_html.html
..._module/gadget_monitoring_settings_configurator_html.html
+3
-3
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_settings_configurator_html.xml
...e_module/gadget_monitoring_settings_configurator_html.xml
+1
-1
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_settings_configurator_js.js
...page_module/gadget_monitoring_settings_configurator_js.js
+165
-76
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_settings_configurator_js.xml
...age_module/gadget_monitoring_settings_configurator_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_status_list_js.js
...eItem/web_page_module/gadget_monitoring_status_list_js.js
+3
-3
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_status_list_js.xml
...Item/web_page_module/gadget_monitoring_status_list_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_sync_js.js
...TemplateItem/web_page_module/gadget_monitoring_sync_js.js
+2
-1
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_sync_js.xml
...emplateItem/web_page_module/gadget_monitoring_sync_js.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/monitoring_jio_storage_js.js
...TemplateItem/web_page_module/monitoring_jio_storage_js.js
+160
-109
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/rjs_gadget_monitoring_html.xml
...mplateItem/web_page_module/rjs_gadget_monitoring_html.xml
+2
-2
bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/monitoring_render_js.xml
...PathTemplateItem/web_site_module/monitoring_render_js.xml
+26
-160
bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/monitoring_render_js/app.xml
...TemplateItem/web_site_module/monitoring_render_js/app.xml
+553
-0
No files found.
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_appcache.xml
View file @
b18fe54e
...
@@ -328,7 +328,7 @@ NETWORK:\n
...
@@ -328,7 +328,7 @@ NETWORK:\n
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
961.
22192.23748.64392
</string>
</value>
<value>
<string>
961.
46782.15224.10001
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -346,7 +346,7 @@ NETWORK:\n
...
@@ -346,7 +346,7 @@ NETWORK:\n
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
150
2462901.33
</float>
<float>
150
3935899.97
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_custom_css.css
View file @
b18fe54e
...
@@ -83,6 +83,9 @@ html.ui-mobile .ui-grid-container.ui-responsive > ul > li, html.ui-mobile .ui-gr
...
@@ -83,6 +83,9 @@ html.ui-mobile .ui-grid-container.ui-responsive > ul > li, html.ui-mobile .ui-gr
.ui-text
{
.ui-text
{
padding
:
0
10px
;
padding
:
0
10px
;
}
}
.ui-text-pre
{
white-space
:
pre-wrap
;
}
.ui-text-left
{
text-align
:
left
;}
.ui-text-left
{
text-align
:
left
;}
.ui-text-right
{
text-align
:
right
;}
.ui-text-right
{
text-align
:
right
;}
.ui-text-center
{
.ui-text-center
{
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_custom_css.xml
View file @
b18fe54e
...
@@ -239,7 +239,7 @@
...
@@ -239,7 +239,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
961.
21883.33309.38348
</string>
</value>
<value>
<string>
961.
46334.51033.4727
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -257,7 +257,7 @@
...
@@ -257,7 +257,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
150
2455104.39
</float>
<float>
150
4086678.92
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_document_edit_html.html
View file @
b18fe54e
...
@@ -14,6 +14,17 @@
...
@@ -14,6 +14,17 @@
<script
id=
"login-toltip-template"
type=
"text/x-handlebars-template"
>
<script
id=
"login-toltip-template"
type=
"text/x-handlebars-template"
>
</script>
</script>
<script
id=
"monitor-parameters-template"
type=
"text/x-handlebars-template"
>
{{
#
each
parameter_list
}}
<
span
class
=
"
label-text
"
>
{{
title
}}:
<
/span
>
{{
#
if
key
}}
<
input
type
=
"
text
"
name
=
"
{{key}}
"
placeholder
=
"
{{title}}
"
value
=
"
{{value}}
"
data
-
mini
=
"
true
"
>
{{
else
}}
<
input
type
=
"
text
"
name
=
"
{{key}}
"
placeholder
=
"
{{title}}
"
value
=
"
{{value}}
"
data
-
mini
=
"
true
"
disabled
=
"
disabled
"
>
{{
/
if
}}
{{
/each}
}
</script>
<!-- magnific-popup -->
<!-- magnific-popup -->
<script
src=
"jquery.magnific-popup.min.js"
type=
"text/javascript"
></script>
<script
src=
"jquery.magnific-popup.min.js"
type=
"text/javascript"
></script>
<!-- custom script -->
<!-- custom script -->
...
@@ -22,7 +33,6 @@
...
@@ -22,7 +33,6 @@
</head>
</head>
<body>
<body>
<div
data-gadget-url=
"gadget_monitoring_jio.html"
data-gadget-scope=
"jio_gadget"
data-gadget-sandbox=
"public"
></div>
<div
data-gadget-url=
"gadget_monitoring_jio.html"
data-gadget-scope=
"jio_gadget"
data-gadget-sandbox=
"public"
></div>
<div
data-gadget-url=
"gadget_monitoring_login_widget.html"
data-gadget-scope=
"login_gadget"
data-gadget-sandbox=
"public"
></div>
<div
class=
"white-popup mfp-hide"
>
<div
class=
"white-popup mfp-hide"
>
<div
class=
"ui-promise-title"
><h2
style=
"font-size: 1.1em;"
></h2></div>
<div
class=
"ui-promise-title"
><h2
style=
"font-size: 1.1em;"
></h2></div>
<form>
<form>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_document_edit_html.xml
View file @
b18fe54e
...
@@ -237,7 +237,7 @@
...
@@ -237,7 +237,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
9
49.48450.25809.9642
</string>
</value>
<value>
<string>
9
61.40703.61920.55040
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -255,7 +255,7 @@
...
@@ -255,7 +255,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
1
457629718.71
</float>
<float>
1
503583997.49
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_document_edit_js.js
View file @
b18fe54e
...
@@ -5,26 +5,9 @@
...
@@ -5,26 +5,9 @@
var
gadget_klass
=
rJS
(
window
),
var
gadget_klass
=
rJS
(
window
),
templater
=
gadget_klass
.
__template_element
,
templater
=
gadget_klass
.
__template_element
,
hashCode
=
new
Rusha
().
digestFromString
;
parameters_widget_template
=
Handlebars
.
compile
(
templater
.
getElementById
(
"
monitor-parameters-template
"
).
innerHTML
/*function getHtmlFromJson(parameter_list) {
);
var i,
html_content = '';
for (i = 0; i < parameter_list.length; i += 1) {
html_content += '<span class="label-text">' + parameter_list[i].title + ':</span>\n';
if (parameter_list[i].key) {
html_content += '<input type="text" name="' + parameter_list[i].key +
'" placeholder="' + parameter_list[i].title + '" value="' +
parameter_list[i].value +'" data-mini="true">\n';
} else {
html_content += '<input type="text" name="' + parameter_list[i].key +
'" placeholder="' + parameter_list[i].title + '" value="'+
parameter_list[i].value +'" data-mini="true" disabled="disabled">\n';
}
}
return html_content;
}
function
getFormDataList
(
formElement
,
parameter_list
)
{
function
getFormDataList
(
formElement
,
parameter_list
)
{
var
i
,
var
i
,
...
@@ -34,47 +17,24 @@
...
@@ -34,47 +17,24 @@
if
(
parameter_list
[
i
].
key
)
{
if
(
parameter_list
[
i
].
key
)
{
// Editable fields
// Editable fields
if
(
formElement
.
querySelector
(
'
input[name="
'
+
parameter_list
[
i
].
key
+
'
"]
'
).
value
!==
undefined
)
{
if
(
formElement
.
querySelector
(
'
input[name="
'
+
parameter_list
[
i
].
key
+
'
"]
'
).
value
!==
undefined
)
{
formData_list[i].value = formElement.querySelector('input[name="' + parameter_list[i].key + '"]').value;
formData_list
[
i
].
value
=
formElement
.
querySelector
(
'
input[name="
'
+
parameter_list
[
i
].
key
+
'
"]
'
).
value
;
}
}
}
}
}
}
return
formData_list
;
return
formData_list
;
}
}
function saveDocument(gadget, jio_document) {
function
saveDocument
(
gadget
,
document_id
,
jio_document
)
{
// Authenticate before save
// Authenticate before save
return gadget.props.login_gadget.getUrlInfo(
return
gadget
.
props
.
jio_gadget
.
put
(
document_id
,
jio_document
)
hashCode(gadget.props.options.url)
)
.push(function (cred) {
var url = gadget.props.options.url;
if (gadget.props.options.path) {
url += (url.endsWith('/') ? '':'/') + gadget.props.options.path;
}
if (cred === undefined) {
cred = {};
}
gadget.props.jio_gadget.createJio({
type: "query",
sub_storage: {
type: "drivetojiomapping",
sub_storage: {
type: "dav",
url: url,
basic_login: cred.hash
}
}
}, false);
return gadget.props.jio_gadget.put(gadget.props.options.key, jio_document);
})
.
push
(
function
(
result
)
{
.
push
(
function
(
result
)
{
return
{
status
:
'
OK
'
};
return
{
status
:
'
OK
'
};
},
function
(
error
)
{
},
function
(
error
)
{
console
.
log
(
error
);
console
.
log
(
error
);
return
{
status
:
'
ERROR
'
,
code
:
error
.
target
.
status
};
return
{
status
:
'
ERROR
'
,
code
:
error
.
target
.
status
};
});
});
}
}*/
gadget_klass
gadget_klass
.
ready
(
function
(
g
)
{
.
ready
(
function
(
g
)
{
...
@@ -91,34 +51,40 @@
...
@@ -91,34 +51,40 @@
gadget
.
props
.
jio_gadget
=
jio_gadget
;
gadget
.
props
.
jio_gadget
=
jio_gadget
;
});
});
})
})
.
ready
(
function
(
gadget
)
{
return
gadget
.
getDeclaredGadget
(
"
login_gadget
"
)
.
push
(
function
(
login_gadget
)
{
gadget
.
props
.
login_gadget
=
login_gadget
;
});
})
.
declareMethod
(
"
render
"
,
function
(
options
)
{
.
declareMethod
(
"
render
"
,
function
(
options
)
{
var
gadget
=
this
;
var
gadget
=
this
;
return
new
RSVP
.
Queue
()
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
.
push
(
function
()
{
gadget
.
props
.
jio_gadget
.
createJio
({
type
:
"
query
"
,
sub_storage
:
{
type
:
"
drivetojiomapping
"
,
sub_storage
:
{
type
:
"
dav
"
,
url
:
options
.
url
,
basic_login
:
options
.
basic_login
}
}
});
gadget
.
props
.
options
=
options
;
return
gadget
.
props
.
deferred
.
resolve
();
return
gadget
.
props
.
deferred
.
resolve
();
});
});
})
})
.
declareMethod
(
"
popupEdit
"
,
function
(
options
,
updateMethod
)
{
.
declareMethod
(
"
popupEdit
"
,
function
(
options
,
updateMethod
)
{
var
gadget
=
this
,
var
gadget
=
this
,
title
=
'
Edit
'
+
(
options
.
title
||
'
Monitoring Parameters
'
)
,
title
=
'
Edit
-
'
+
options
.
title
,
html_form
=
''
;
html_form
=
''
;
html_form
=
parameters_widget_template
({
gadget
.
props
.
options
=
options
;
parameter_list
:
options
.
parameters
||
[]
/*html_form = getHtmlFromJson(options.parameters || []
);
}
);
gadget
.
props
.
element
.
querySelector
(
'
.form-controlgroup
'
)
gadget
.
props
.
element
.
querySelector
(
'
.form-controlgroup
'
)
.
innerHTML
=
html_form
;
.
innerHTML
=
html_form
;
gadget
.
props
.
element
.
querySelector
(
'
.ui-promise-title h2
'
)
gadget
.
props
.
element
.
querySelector
(
'
.ui-promise-title h2
'
)
.
innerHTML = title;*/
.
textContent
=
title
;
return
new
RSVP
.
Queue
()
return
new
RSVP
.
Queue
()
/*
.push(function () {
.
push
(
function
()
{
return
$
.
magnificPopup
.
open
({
return
$
.
magnificPopup
.
open
({
items
:
{
items
:
{
src
:
'
.white-popup
'
,
src
:
'
.white-popup
'
,
...
@@ -147,23 +113,32 @@
...
@@ -147,23 +113,32 @@
'
click
'
,
'
click
'
,
false
,
false
,
function
(
evt
)
{
function
(
evt
)
{
var data = getFormDataList(document.querySelector('.mfp-content form'), options.parameters);
var
data
=
getFormDataList
(
document
.
querySelector
(
'
.mfp-content form
'
),
options
.
parameters
);
return
new
RSVP
.
Queue
()
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
.
push
(
function
()
{
$(document.querySelector('.mfp-content spinner')).toggleClass('ui-content-hidden');
$
(
document
.
querySelector
(
'
.mfp-content spinner
'
))
return RSVP.all([saveDocument(gadget, data)]);
.
toggleClass
(
'
ui-content-hidden
'
);
return
RSVP
.
all
([
saveDocument
(
gadget
,
options
.
document_id
,
data
)]);
})
})
.
push
(
function
(
result
)
{
.
push
(
function
(
result
)
{
if
(
result
[
0
].
status
===
'
ERROR
'
)
{
if
(
result
[
0
].
status
===
'
ERROR
'
)
{
document
.
querySelector
(
'
.mfp-content .ui-text-error
'
)
document
.
querySelector
(
'
.mfp-content .ui-text-error
'
)
.innerHTML = 'ERROR ' + result[0].code + ': Failed to save your document! ' +
.
innerHTML
=
'
ERROR
'
+
result
[
0
].
code
+
'
: Failed to save your document!
'
+
"
Parameters cannot be saved in Offline mode.
"
;
"
Parameters cannot be saved in Offline mode.
"
;
}
else
{
}
else
{
$
.
magnificPopup
.
close
();
$
.
magnificPopup
.
close
();
return
updateMethod
(
data
);}
return
updateMethod
(
data
);}
})
})
.
push
(
function
()
{
.
push
(
function
()
{
$(document.querySelector('.mfp-content spinner')).toggleClass('ui-content-hidden');
$
(
document
.
querySelector
(
'
.mfp-content spinner
'
))
.
toggleClass
(
'
ui-content-hidden
'
);
});
});
}
}
));
));
...
@@ -176,7 +151,7 @@
...
@@ -176,7 +151,7 @@
}
}
}
}
});
});
})
*/
})
.
push
(
function
()
{
.
push
(
function
()
{
return
gadget
.
props
.
deferred
.
resolve
();
return
gadget
.
props
.
deferred
.
resolve
();
});
});
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_document_edit_js.xml
View file @
b18fe54e
...
@@ -239,7 +239,7 @@
...
@@ -239,7 +239,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
961.
21935.10239.63812
</string>
</value>
<value>
<string>
961.
40921.12598.30395
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -257,7 +257,7 @@
...
@@ -257,7 +257,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
150
2457634.68
</float>
<float>
150
3585066.29
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_hosting_subscription_list_js.js
View file @
b18fe54e
/*global window, rJS, Handlebars
, Rusha
*/
/*global window, rJS, Handlebars */
/*jslint nomen: true, indent: 2, maxerr: 3*/
/*jslint nomen: true, indent: 2, maxerr: 3*/
(
function
(
window
,
rJS
,
Handlebars
,
Rusha
)
{
(
function
(
window
,
rJS
,
Handlebars
)
{
"
use strict
"
;
"
use strict
"
;
var
gadget_klass
=
rJS
(
window
),
var
gadget_klass
=
rJS
(
window
),
...
@@ -8,65 +8,80 @@
...
@@ -8,65 +8,80 @@
hosting_widget_template
=
Handlebars
.
compile
(
hosting_widget_template
=
Handlebars
.
compile
(
templater
.
getElementById
(
"
template-hostings-list
"
).
innerHTML
templater
.
getElementById
(
"
template-hostings-list
"
).
innerHTML
),
);
rusha
=
new
Rusha
();
function
generateHash
(
str
)
{
function
getHostingData
(
gadget
)
{
return
rusha
.
digestFromString
(
str
);
// optimized way to fetch hosting subscription list
}
var
hosting_dict
=
{},
instance_dict
=
{};
function
getHostingStatus
(
gadget
,
id
)
{
return
gadget
.
jio_allDocs
({
return
gadget
.
jio_allDocs
({
query
:
'
(portal_type:"opml-outline") AND (parent_id:"
'
+
id
+
'
")
'
select_list
:
[
"
basic_login
"
,
"
url
"
,
"
title
"
],
})
query
:
'
(portal_type:"opml") AND (active:true)
'
,
.
push
(
function
(
ouline_list
)
{
sort_on
:
[[
"
title
"
,
"
descending
"
]]
var
j
,
})
promise_list
=
[];
.
push
(
function
(
result
)
{
for
(
j
=
0
;
j
<
ouline_list
.
data
.
total_rows
;
j
+=
1
)
{
var
i
;
// fetch all instance info to build hosting status
for
(
i
=
0
;
i
<
result
.
data
.
total_rows
;
i
+=
1
)
{
promise_list
.
push
(
hosting_dict
[
result
.
data
.
rows
[
i
].
id
]
=
{
gadget
.
jio_allDocs
({
url
:
result
.
data
.
rows
[
i
].
value
.
url
,
select_list
:
[
"
status
"
,
"
date
"
],
basic_login
:
result
.
data
.
rows
[
i
].
value
.
basic_login
,
query
:
'
(portal_type:"global") AND (parent_id:"
'
+
status
:
"
WARNING
"
,
ouline_list
.
data
.
rows
[
j
].
id
+
'
")
'
date
:
'
Not Synchronized
'
,
})
title
:
result
.
data
.
rows
[
i
].
value
.
title
,
);
amount
:
0
};
}
}
return
RSVP
.
all
(
promise_list
);
return
gadget
.
jio_allDocs
({
query
:
'
(portal_type:"opml-outline")
'
,
select_list
:
[
"
parent_url
"
]
});
})
})
.
push
(
function
(
result_list
)
{
.
push
(
function
(
result
)
{
var
i
,
var
i
;
j
,
for
(
i
=
0
;
i
<
result
.
data
.
total_rows
;
i
+=
1
)
{
status
=
"
OK
"
,
if
(
hosting_dict
.
hasOwnProperty
(
result
.
data
.
rows
[
i
].
value
.
parent_url
))
{
warning
=
""
,
instance_dict
[
result
.
data
.
rows
[
i
].
id
]
=
{
date
=
'
Not Synchronized
'
;
parent_id
:
result
.
data
.
rows
[
i
].
value
.
parent_url
};
for
(
i
=
0
;
i
<
result_list
.
length
;
i
+=
1
)
{
}
for
(
j
=
0
;
j
<
result_list
[
i
].
data
.
total_rows
;
j
+=
1
)
{
}
if
(
warning
!==
""
&&
return
gadget
.
jio_allDocs
({
result_list
[
i
].
data
.
rows
[
j
].
value
.
status
===
"
WARNING
"
)
{
query
:
'
(portal_type:"global")
'
,
warning
=
"
WARNING
"
;
select_list
:
[
}
"
status
"
,
if
(
status
!==
"
ERROR
"
&&
status
!==
"
WARNING
"
&&
"
parent_id
"
,
result_list
[
i
].
data
.
rows
[
j
].
value
.
status
===
"
ERROR
"
)
{
"
date
"
// continue and only change the status if we found Warning === state inconsistent
]
status
=
result_list
[
i
].
data
.
rows
[
j
].
value
.
status
;
});
date
=
result_list
[
i
].
data
.
rows
[
j
].
value
.
date
;
})
}
else
{
.
push
(
function
(
result
)
{
date
=
result_list
[
i
].
data
.
rows
[
j
].
value
.
date
;
var
i
;
}
for
(
i
=
0
;
i
<
result
.
data
.
total_rows
;
i
+=
1
)
{
if
(
instance_dict
.
hasOwnProperty
(
result
.
data
.
rows
[
i
].
value
.
parent_id
))
{
instance_dict
[
result
.
data
.
rows
[
i
].
value
.
parent_id
].
date
=
result
.
data
.
rows
[
i
].
value
.
date
;
instance_dict
[
result
.
data
.
rows
[
i
].
value
.
parent_id
].
status
=
result
.
data
.
rows
[
i
].
value
.
status
;
}
}
}
}
if
(
date
===
'
Not Synchronized
'
)
{
})
status
=
"
WARNING
"
;
.
push
(
function
()
{
//build hosting subscription data
var
key
,
item
;
for
(
key
in
instance_dict
)
{
if
(
instance_dict
.
hasOwnProperty
(
key
))
{
item
=
hosting_dict
[
instance_dict
[
key
].
parent_id
];
item
.
amount
+=
1
;
if
(
item
.
status
!==
"
ERROR
"
)
{
item
.
status
=
instance_dict
[
key
].
status
;
}
item
.
date
=
instance_dict
[
key
].
date
;
}
}
}
return
{
return
gadget
.
changeState
({
opml_dict
:
hosting_dict
});
id
:
id
,
status
:
warning
||
status
,
amount
:
result_list
.
length
,
date
:
date
};
});
});
}
}
...
@@ -92,42 +107,7 @@
...
@@ -92,42 +107,7 @@
title
:
'
Monitoring Hosting Subscriptions
'
title
:
'
Monitoring Hosting Subscriptions
'
})
})
.
push
(
function
()
{
.
push
(
function
()
{
return
gadget
.
jio_allDocs
({
return
getHostingData
(
gadget
);
select_list
:
[
"
basic_login
"
,
"
url
"
,
"
title
"
],
query
:
'
(portal_type:"opml") AND (active:true)
'
,
sort_on
:
[[
"
title
"
,
"
descending
"
]]
});
})
.
push
(
function
(
opml_result
)
{
var
i
,
opml_dict
=
{},
promise_list
=
[],
id
;
for
(
i
=
0
;
i
<
opml_result
.
data
.
total_rows
;
i
+=
1
)
{
id
=
generateHash
(
opml_result
.
data
.
rows
[
i
].
value
.
url
);
opml_dict
[
id
]
=
{
url
:
opml_result
.
data
.
rows
[
i
].
value
.
url
,
basic_login
:
opml_result
.
data
.
rows
[
i
].
value
.
basic_login
,
status
:
"
WARNING
"
,
date
:
'
Not Synchronized
'
,
title
:
opml_result
.
data
.
rows
[
i
].
value
.
title
,
amount
:
0
};
promise_list
.
push
(
getHostingStatus
(
gadget
,
id
));
}
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
return
RSVP
.
all
(
promise_list
);
})
.
push
(
function
(
status_list
)
{
var
i
;
for
(
i
=
0
;
i
<
status_list
.
length
;
i
+=
1
)
{
opml_dict
[
status_list
[
i
].
id
].
status
=
status_list
[
i
].
status
;
opml_dict
[
status_list
[
i
].
id
].
date
=
status_list
[
i
].
date
;
opml_dict
[
status_list
[
i
].
id
].
amount
=
status_list
[
i
].
amount
;
}
return
gadget
.
changeState
({
opml_dict
:
opml_dict
});
});
})
})
.
push
(
function
()
{
.
push
(
function
()
{
var
content
,
var
content
,
...
@@ -203,4 +183,4 @@
...
@@ -203,4 +183,4 @@
});
});
}(
window
,
rJS
,
Handlebars
,
Rusha
));
}(
window
,
rJS
,
Handlebars
));
\ No newline at end of file
\ No newline at end of file
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_hosting_subscription_list_js.xml
View file @
b18fe54e
...
@@ -239,7 +239,7 @@
...
@@ -239,7 +239,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
961.
21883.33309.38348
</string>
</value>
<value>
<string>
961.
36732.50199.26692
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -257,7 +257,7 @@
...
@@ -257,7 +257,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
150
2445069.07
</float>
<float>
150
3333754.52
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_hosting_subscription_view_html.html
View file @
b18fe54e
...
@@ -113,9 +113,7 @@
...
@@ -113,9 +113,7 @@
{{
/
if
}}
{{
/
if
}}
<
td
class
=
"
ui-text-center
"
>
<
td
class
=
"
ui-text-center
"
>
{{
#
if
key
}}
{{
#
if
key
}}
<!--<
a
rel
=
"
{{../index}}
"
class
=
"
prop-edit
"
title
=
'
Edit this value
'
><
i
class
=
"
fa fa-pencil
"
><
/i></
a
>-->
<
a
rel
=
"
{{../index}}
"
class
=
"
prop-edit
"
title
=
'
Edit this value
'
><
i
class
=
"
fa fa-pencil
"
><
/i></
a
>
<!--
disable
edit
for
now
-->
<
a
><
span
class
=
"
ui-text-desabled
"
title
=
'
Edit this value
'
><
i
class
=
"
fa fa-pencil
"
><
/i></
span
><
/a
>
{{
else
}}
{{
else
}}
<
a
><
span
class
=
"
ui-text-desabled
"
title
=
'
Edit this value
'
><
i
class
=
"
fa fa-pencil
"
><
/i></
span
><
/a
>
<
a
><
span
class
=
"
ui-text-desabled
"
title
=
'
Edit this value
'
><
i
class
=
"
fa fa-pencil
"
><
/i></
span
><
/a
>
{{
/
if
}}
{{
/
if
}}
...
@@ -125,7 +123,7 @@
...
@@ -125,7 +123,7 @@
<
/table
>
<
/table
>
{{
/
if
}}
{{
/
if
}}
{{
/each}
}
{{
/each}
}
<
div
class
=
"
alert alert-info ui-content-hidden
"
>
Your
Changes
can
take
a
few
minutes
to
appear
in
this
screen
!<
/div
>
<
div
class
=
"
alert alert-info ui-content-hidden
"
>
Your
changes
will
be
persistent
in
this
screen
after
the
next
sync
!<
/div
>
{{
else
}}
{{
else
}}
<
h2
>
No
parameters
.
<
/h2
>
<
h2
>
No
parameters
.
<
/h2
>
{{
/
if
}}
{{
/
if
}}
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_hosting_subscription_view_html.xml
View file @
b18fe54e
...
@@ -246,7 +246,7 @@
...
@@ -246,7 +246,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
961.
20822.44689.64102
</string>
</value>
<value>
<string>
961.
40879.58115.22357
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -264,7 +264,7 @@
...
@@ -264,7 +264,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
150
2430987.78
</float>
<float>
150
3583096.3
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_hosting_subscription_view_js.js
View file @
b18fe54e
...
@@ -19,10 +19,20 @@
...
@@ -19,10 +19,20 @@
}
}
function
getInstanceDict
(
gadget
,
monitor_dict
)
{
function
getInstanceDict
(
gadget
,
monitor_dict
)
{
var
private_url
=
monitor_dict
.
_links
.
private_url
.
href
.
replace
(
"
jio_private
"
,
"
private
"
),
var
private_url
=
monitor_dict
.
_links
.
private_url
.
href
public_url
=
monitor_dict
.
_links
.
public_url
.
href
.
replace
(
"
jio_public
"
,
"
public
"
),
.
replace
(
"
jio_private
"
,
"
private
"
),
public_url
=
monitor_dict
.
_links
.
public_url
.
href
.
replace
(
"
jio_public
"
,
"
public
"
),
pass_url
=
"
https://
"
+
atob
(
gadget
.
state
.
opml
.
basic_login
)
+
pass_url
=
"
https://
"
+
atob
(
gadget
.
state
.
opml
.
basic_login
)
+
"
@
"
+
private_url
.
split
(
"
//
"
)[
1
];
"
@
"
+
private_url
.
split
(
"
//
"
)[
1
],
i
;
for
(
i
=
0
;
i
<
monitor_dict
.
parameters
.
length
;
i
+=
1
)
{
if
(
monitor_dict
.
parameters
[
i
].
key
===
"
monitor-password
"
)
{
// disabled edit of monitor password from here!!
monitor_dict
.
parameters
[
i
].
key
=
""
;
}
}
return
{
return
{
key
:
monitor_dict
.
reference
,
key
:
monitor_dict
.
reference
,
...
@@ -103,6 +113,7 @@
...
@@ -103,6 +113,7 @@
instance_list
=
[],
instance_list
=
[],
parameter_list
=
[],
parameter_list
=
[],
status_url
=
''
,
status_url
=
''
,
instance_dict
,
i
,
i
,
instance_content
;
instance_content
;
...
@@ -112,13 +123,15 @@
...
@@ -112,13 +123,15 @@
for
(
i
=
0
;
i
<
document_list
.
length
;
i
+=
1
)
{
for
(
i
=
0
;
i
<
document_list
.
length
;
i
+=
1
)
{
// Only one instance per opml-outline
// Only one instance per opml-outline
if
(
document_list
[
i
].
data
.
total_rows
===
1
)
{
if
(
document_list
[
i
].
data
.
total_rows
===
1
)
{
instance_list
.
push
(
instance_dict
=
getInstanceDict
(
getInstanceDict
(
gadget
,
document_list
[
i
].
data
.
rows
[
0
].
value
)
gadget
,
document_list
[
i
].
data
.
rows
[
0
].
value
);
);
instance_list
.
push
(
instance_dict
);
if
(
document_list
[
i
].
data
.
rows
[
0
].
value
.
hasOwnProperty
(
'
parameters
'
))
{
if
(
document_list
[
i
].
data
.
rows
[
0
].
value
.
hasOwnProperty
(
'
parameters
'
))
{
parameter_list
.
push
({
parameter_list
.
push
({
title
:
document_list
[
i
].
data
.
rows
[
0
].
value
.
title
,
title
:
document_list
[
i
].
data
.
rows
[
0
].
value
.
title
,
parameters
:
document_list
[
i
].
data
.
rows
[
0
].
value
.
parameters
,
parameters
:
instance_dict
.
parameters
,
base_url
:
document_list
[
i
].
data
.
rows
[
0
].
value
base_url
:
document_list
[
i
].
data
.
rows
[
0
].
value
.
_links
.
private_url
.
href
||
''
,
.
_links
.
private_url
.
href
||
''
,
index
:
i
index
:
i
...
@@ -172,9 +185,8 @@
...
@@ -172,9 +185,8 @@
function
updateParameterBox
(
parameter_list
,
title
)
{
function
updateParameterBox
(
parameter_list
,
title
)
{
var
element
=
gadget
.
element
.
querySelector
(
'
table[title="
'
+
title
+
'
"]
'
),
var
element
=
gadget
.
element
.
querySelector
(
'
table[title="
'
+
title
+
'
"]
'
),
tmp
,
i
;
i
;
if
(
!
element
)
{
if
(
!
element
)
{
return
;
return
;
}
}
...
@@ -182,7 +194,8 @@
...
@@ -182,7 +194,8 @@
if
(
!
parameter_list
[
i
].
key
)
{
if
(
!
parameter_list
[
i
].
key
)
{
continue
;
continue
;
}
}
element
.
querySelector
(
'
.v-
'
+
parameter_list
[
i
].
key
).
textContent
=
parameter_list
[
i
].
value
;
element
.
querySelector
(
'
.v-
'
+
parameter_list
[
i
].
key
)
.
textContent
=
parameter_list
[
i
].
value
;
}
}
}
}
...
@@ -213,34 +226,22 @@
...
@@ -213,34 +226,22 @@
})
})
.
push
(
function
(
config_gadget
)
{
.
push
(
function
(
config_gadget
)
{
gadget
.
props
.
config_gadget
=
config_gadget
;
gadget
.
props
.
config_gadget
=
config_gadget
;
return
gadget
.
props
.
config_gadget
.
render
({
url
:
gadget
.
state
.
instance_list
[
index
].
private_url
+
'
/config
'
,
basic_login
:
gadget
.
state
.
opml
.
basic_login
});
})
.
push
(
function
()
{
return
gadget
.
props
.
config_gadget
.
popupEdit
({
return
gadget
.
props
.
config_gadget
.
popupEdit
({
url
:
gadget
.
state
.
instance_list
.
_links
.
private_url
.
href
,
parameters
:
gadget
.
state
.
instance_list
[
index
].
parameters
,
title
:
gadget
.
state
.
instance_list
[
index
].
title
,
title
:
gadget
.
state
.
instance_list
[
index
].
title
,
root_title
:
gadget
.
state
.
instance_list
[
index
][
'
hosting-title
'
],
parameters
:
gadget
.
state
.
instance_list
[
index
].
parameters
,
page_options
:
gadget
.
props
.
options
,
document_id
:
'
config.tmp
'
path
:
'
config
'
,
key
:
'
config.tmp
'
},
function
(
data
)
{
},
function
(
data
)
{
var
update_promise
=
[],
i
,
monitor_user
=
''
,
monitor_password
=
''
;
// Try to save monitor credential if they are pres
for
(
i
=
0
;
i
<
data
.
length
;
i
+=
1
)
{
if
(
data
[
i
].
key
===
'
monitor-password
'
)
{
monitor_password
=
data
[
i
].
value
;
}
if
((
data
[
i
].
key
||
data
[
i
].
title
)
===
'
monitor-user
'
)
{
monitor_user
=
data
[
i
].
value
;
}
}
gadget
.
state
.
instance_list
[
index
].
parameters
=
data
;
gadget
.
state
.
instance_list
[
index
].
parameters
=
data
;
updateParameterBox
(
data
,
gadget
.
props
.
document
_list
[
index
].
title
);
updateParameterBox
(
data
,
gadget
.
state
.
instance
_list
[
index
].
title
);
$
(
gadget
.
element
.
querySelector
(
'
.alert-info
'
))
$
(
gadget
.
element
.
querySelector
(
'
.alert-info
'
))
.
removeClass
(
'
ui-content-hidden
'
);
.
removeClass
(
'
ui-content-hidden
'
);
return
RSVP
.
all
(
update_promise
);
});
});
});
});
}
}
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_hosting_subscription_view_js.xml
View file @
b18fe54e
...
@@ -242,7 +242,7 @@
...
@@ -242,7 +242,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
961.
21935.10239.63812
</string>
</value>
<value>
<string>
961.
40930.22839.30634
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -260,7 +260,7 @@
...
@@ -260,7 +260,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
150
2452997.
2
</float>
<float>
150
3585188.8
2
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_jio_js.js
View file @
b18fe54e
...
@@ -16,6 +16,8 @@
...
@@ -16,6 +16,8 @@
}
else
{
}
else
{
this
.
props
.
jio_storage
=
jIO
.
createJIO
({
this
.
props
.
jio_storage
=
jIO
.
createJIO
({
type
:
"
replicatedopml
"
,
type
:
"
replicatedopml
"
,
remote_storage_unreachable_status
:
"
WARNING
"
,
remote_opml_check_time_interval
:
86400000
,
local_sub_storage
:
{
local_sub_storage
:
{
type
:
"
query
"
,
type
:
"
query
"
,
sub_storage
:
{
sub_storage
:
{
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_jio_js.xml
View file @
b18fe54e
...
@@ -239,7 +239,7 @@
...
@@ -239,7 +239,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
961.
21883.33309.38348
</string>
</value>
<value>
<string>
961.
37911.38494.42700
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -257,7 +257,7 @@
...
@@ -257,7 +257,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
150
2445069.09
</float>
<float>
150
3418549.74
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_promise_interface_html.html
View file @
b18fe54e
...
@@ -41,7 +41,7 @@
...
@@ -41,7 +41,7 @@
<
div
style
=
"
border: 1px solid rgba(0,0,0,0.1); margin-top: 10px;
"
>
<
div
style
=
"
border: 1px solid rgba(0,0,0,0.1); margin-top: 10px;
"
>
<
div
class
=
"
ui-body
"
>
<
div
class
=
"
ui-body
"
>
{{
#
if
message
}}
{{
#
if
message
}}
<
p
><
strong
>
{{
status
}}
<
/strong>: {{message}}</
p
>
<
p
class
=
"
ui-text ui-text-pre
"
><
strong
>
{{
status
}}
<
/strong>: {{message}}</
p
>
{{
else
}}
{{
else
}}
<
p
><
strong
>
No
output
message
!<
/strong></
p
>
<
p
><
strong
>
No
output
message
!<
/strong></
p
>
{{
/
if
}}
{{
/
if
}}
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_promise_interface_html.xml
View file @
b18fe54e
...
@@ -243,7 +243,7 @@
...
@@ -243,7 +243,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
961.2
0815.19432.23961
</string>
</value>
<value>
<string>
961.2
1883.33309.38348
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -261,7 +261,7 @@
...
@@ -261,7 +261,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
150
2378039.46
</float>
<float>
150
4086738.54
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_resource_view_html.xml
View file @
b18fe54e
...
@@ -243,7 +243,7 @@
...
@@ -243,7 +243,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
961.
17644.54835.143
3
</string>
</value>
<value>
<string>
961.
47920.32703.1749
3
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -261,7 +261,7 @@
...
@@ -261,7 +261,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
150
2188014.54
</float>
<float>
150
4086069.06
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_resource_view_js.xml
View file @
b18fe54e
...
@@ -239,7 +239,7 @@
...
@@ -239,7 +239,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
961.2
1935.10239.63812
</string>
</value>
<value>
<string>
961.2
2271.22355.17766
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -257,7 +257,7 @@
...
@@ -257,7 +257,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
150
2465240.4
1
</float>
<float>
150
4086036.2
1
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_settings_configurator_html.html
View file @
b18fe54e
...
@@ -73,9 +73,9 @@
...
@@ -73,9 +73,9 @@
<input
type=
"password"
name=
"password"
required
value=
""
/>
<input
type=
"password"
name=
"password"
required
value=
""
/>
</div>
</div>
</div>
</div>
<
!--<
label class="configure-auth">
<label
class=
"configure-auth"
>
<input type="checkbox" name="configure-newpwd">Show/hide
chang
e password form
<input
type=
"checkbox"
name=
"configure-newpwd"
>
Show/hide
updat
e password form
</label>
-->
</label>
<div
class=
"new-password"
style=
"display: none"
>
<div
class=
"new-password"
style=
"display: none"
>
<div
class=
"ui-form"
>
<div
class=
"ui-form"
>
<div
class=
"ui-field-contain"
>
<div
class=
"ui-field-contain"
>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_settings_configurator_html.xml
View file @
b18fe54e
...
@@ -257,7 +257,7 @@
...
@@ -257,7 +257,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
150
2455270.08
</float>
<float>
150
3497281.04
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_settings_configurator_js.js
View file @
b18fe54e
...
@@ -30,7 +30,7 @@
...
@@ -30,7 +30,7 @@
+
"
:
"
+
addZero
(
d
.
getMinutes
())
+
"
:
"
+
addZero
(
d
.
getSeconds
());
+
"
:
"
+
addZero
(
d
.
getMinutes
())
+
"
:
"
+
addZero
(
d
.
getSeconds
());
}
}
function
checkCredential
(
gadget
,
url
,
title
,
hash
,
opml_hash
)
{
function
checkCredential
(
gadget
,
url
,
title
,
hash
)
{
var
ouput
;
var
ouput
;
// Verify if login and password are correct for this URL
// Verify if login and password are correct for this URL
if
(
url
===
undefined
)
{
if
(
url
===
undefined
)
{
...
@@ -38,18 +38,6 @@
...
@@ -38,18 +38,6 @@
}
}
return
testUrl
(
url
,
hash
)
return
testUrl
(
url
,
hash
)
.
then
(
function
(
result
)
{
.
then
(
function
(
result
)
{
/*if (result.status === 'OK') {
return result;
} else {
result.title = title;
return testUrl(url, opml_hash)
.push(function (sub_result) {
if (sub_result.status !== 'OK') {
return result;
}
return sub_result;
});
}*/
return
result
;
return
result
;
},
function
(
error
)
{
},
function
(
error
)
{
var
ko_msg
=
{
var
ko_msg
=
{
...
@@ -57,15 +45,6 @@
...
@@ -57,15 +45,6 @@
msg
:
error
.
msg
+
'
(
'
+
url
+
'
)
'
,
msg
:
error
.
msg
+
'
(
'
+
url
+
'
)
'
,
title
:
title
title
:
title
};
};
/*if (opml_hash) {
return testUrl(url, opml_hash)
.push(function (result) {
if (result.status === 'OK') {
return {status: 'OK'};
}
return ko_msg;
});
}*/
return
ko_msg
;
return
ko_msg
;
});
});
}
}
...
@@ -90,20 +69,23 @@
...
@@ -90,20 +69,23 @@
function
loadOPMLConfiguration
(
gadget
)
{
function
loadOPMLConfiguration
(
gadget
)
{
return
gadget
.
jio_allDocs
({
return
gadget
.
jio_allDocs
({
query
:
'
portal_type:"opml"
'
,
query
:
'
portal_type:"opml"
'
,
select_list
:
[
'
title
'
,
'
url
'
,
'
active
'
],
select_list
:
[
'
title
'
,
'
url
'
,
'
active
'
,
'
basic_login
'
],
sort_on
:
[[
"
title
"
,
"
ascending
"
]]
sort_on
:
[[
"
title
"
,
"
ascending
"
]]
})
})
.
push
(
function
(
result
)
{
.
push
(
function
(
result
)
{
var
i
,
var
i
,
opml_list
=
[],
opml_list
=
[],
cred_list
,
content
;
content
;
for
(
i
=
0
;
i
<
result
.
data
.
total_rows
;
i
+=
1
)
{
for
(
i
=
0
;
i
<
result
.
data
.
total_rows
;
i
+=
1
)
{
cred_list
=
atob
(
result
.
data
.
rows
[
i
].
value
.
basic_login
).
split
(
"
:
"
);
opml_list
.
push
({
opml_list
.
push
({
key
:
result
.
data
.
rows
[
i
].
value
.
title
+
"
#
"
+
key
:
result
.
data
.
rows
[
i
].
value
.
title
+
"
#
"
+
result
.
data
.
rows
[
i
].
value
.
url
,
result
.
data
.
rows
[
i
].
value
.
url
,
href
:
"
#page=settings_configurator&url=
"
+
href
:
"
#page=settings_configurator&url=
"
+
result
.
data
.
rows
[
i
].
value
.
url
+
result
.
data
.
rows
[
i
].
value
.
url
+
'
&tab=add
'
,
'
&tab=add&password=
'
+
cred_list
[
1
]
+
'
&username=
'
+
cred_list
[
0
],
link
:
result
.
data
.
rows
[
i
].
value
.
url
,
link
:
result
.
data
.
rows
[
i
].
value
.
url
,
title
:
result
.
data
.
rows
[
i
].
value
.
title
||
''
,
title
:
result
.
data
.
rows
[
i
].
value
.
title
||
''
,
status
:
(
result
.
data
.
rows
[
i
].
value
.
active
)
?
"
Enabled
"
:
"
Disabled
"
status
:
(
result
.
data
.
rows
[
i
].
value
.
active
)
?
"
Enabled
"
:
"
Disabled
"
...
@@ -112,7 +94,7 @@
...
@@ -112,7 +94,7 @@
content
=
opml_url_template
({
opml_list
:
opml_list
});
content
=
opml_url_template
({
opml_list
:
opml_list
});
gadget
.
element
.
querySelector
(
"
.opml-tablelinks > tbody
"
)
gadget
.
element
.
querySelector
(
"
.opml-tablelinks > tbody
"
)
.
innerHTML
=
content
;
.
innerHTML
=
content
;
return
;
return
gadget
.
changeState
({
"
opml_list
"
:
opml_list
})
;
});
});
}
}
...
@@ -146,15 +128,66 @@
...
@@ -146,15 +128,66 @@
if
(
credential_hash
!==
undefined
)
{
if
(
credential_hash
!==
undefined
)
{
xhr
.
setRequestHeader
(
'
Authorization
'
,
'
Basic
'
+
credential_hash
);
xhr
.
setRequestHeader
(
'
Authorization
'
,
'
Basic
'
+
credential_hash
);
}
}
//try {
xhr
.
send
(
""
);
xhr
.
send
(
""
);
//} catch (e) {
// reject({status: 'ERROR', msg: e});
//}
});
});
});
});
}
}
function
changeMonitorPassword
(
gadget
,
base_url
,
title
,
basic_login
,
password
)
{
var
url
=
base_url
,
jio_gadget
,
jio_options
;
url
+=
(
url
.
endsWith
(
'
/
'
)
?
''
:
'
/
'
)
+
'
config/
'
;
gadget
.
props
.
gindex
+=
1
;
return
gadget
.
declareGadget
(
"
gadget_monitoring_jio.html
"
,
{
element
:
gadget
.
element
,
scope
:
'
jio_
'
+
gadget
.
props
.
gindex
+
"
_gadget
"
,
sandbox
:
"
public
"
}
).
push
(
function
(
new_gadget
)
{
jio_gadget
=
new_gadget
;
jio_gadget
.
createJio
({
type
:
"
query
"
,
sub_storage
:
{
type
:
"
drivetojiomapping
"
,
sub_storage
:
{
type
:
"
dav
"
,
url
:
url
,
basic_login
:
basic_login
}
}
});
return
jio_gadget
.
get
(
'
config
'
);
})
.
push
(
function
(
doc
)
{
var
i
;
if
(
doc
)
{
for
(
i
=
0
;
i
<
doc
.
length
;
i
+=
1
)
{
if
(
doc
[
i
].
key
===
'
monitor-password
'
)
{
doc
[
i
].
value
=
password
;
return
jio_gadget
.
put
(
'
config.tmp
'
,
doc
);
}
}
}
return
new
Error
(
"
Cannot get document 'config.json' at :
"
%
url
);
})
.
push
(
function
()
{
return
{
status
:
'
OK
'
};
},
function
(
error
)
{
console
.
log
(
error
);
return
{
status
:
'
ERROR
'
,
code
:
error
.
target
.
status
,
url
:
base_url
,
title
:
title
};
});
}
gadget_klass
gadget_klass
/////////////////////////////
/////////////////////////////
// state
// state
...
@@ -163,12 +196,14 @@
...
@@ -163,12 +196,14 @@
deferred
:
""
,
deferred
:
""
,
sync_gadget
:
""
,
sync_gadget
:
""
,
selected
:
""
,
selected
:
""
,
jio_gadget
:
""
jio_gadget
:
""
,
opml_list
:
""
})
})
/////////////////////////////
/////////////////////////////
// ready
// ready
/////////////////////////////
/////////////////////////////
.
ready
(
function
(
gadget
)
{
.
ready
(
function
(
gadget
)
{
gadget
.
props
=
{
gindex
:
0
};
return
new
RSVP
.
Queue
()
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
.
push
(
function
()
{
return
gadget
.
changeState
({
deferred
:
RSVP
.
defer
()});
return
gadget
.
changeState
({
deferred
:
RSVP
.
defer
()});
...
@@ -203,23 +238,23 @@
...
@@ -203,23 +238,23 @@
panel_action: false*/
panel_action: false*/
})
})
.
push
(
function
()
{
.
push
(
function
()
{
return
loadOPMLConfiguration
(
gadget
);
})
.
push
(
function
()
{
var
i
;
if
(
options
.
url
!==
undefined
&&
options
.
url
!==
''
)
{
if
(
options
.
url
!==
undefined
&&
options
.
url
!==
''
)
{
gadget
.
element
.
querySelector
(
"
input[name='url']
"
)
gadget
.
element
.
querySelector
(
"
input[name='url']
"
)
.
value
=
options
.
url
;
.
value
=
options
.
url
;
if
(
options
.
username
!==
undefined
&&
options
.
username
!==
''
&&
options
.
password
!==
undefined
&&
options
.
password
!==
''
)
{
//gadget.props.username = options.username;
//gadget.props.password = options.password;
gadget
.
element
.
querySelector
(
"
input[name='username']
"
)
.
value
=
options
.
username
;
gadget
.
element
.
querySelector
(
"
input[name='password']
"
)
.
value
=
options
.
password
;
}
}
}
if
(
options
.
username
!==
undefined
&&
options
.
username
!==
''
&&
options
.
password
!==
undefined
&&
options
.
password
!==
''
)
{
//gadget.props.username = options.username;
//gadget.props.password = options.password;
gadget
.
element
.
querySelector
(
"
input[name='username']
"
)
.
value
=
options
.
username
;
gadget
.
element
.
querySelector
(
"
input[name='password']
"
)
.
value
=
options
.
password
;
}
//return gadget.getSetting('monitor_url_description');
return
loadOPMLConfiguration
(
gadget
);
})
.
push
(
function
()
{
return
gadget
.
getSetting
(
'
latest_sync_time
'
);
return
gadget
.
getSetting
(
'
latest_sync_time
'
);
})
})
.
push
(
function
(
latest_sync_time
)
{
.
push
(
function
(
latest_sync_time
)
{
...
@@ -303,6 +338,22 @@
...
@@ -303,6 +338,22 @@
return
key_list
;
return
key_list
;
}
}
function
setFormValue
(
data
)
{
if
(
data
===
undefined
)
{
data
=
{};
}
gadget
.
element
.
querySelector
(
"
input[name='username']
"
).
value
=
data
.
username
||
""
;
gadget
.
element
.
querySelector
(
"
input[name='password']
"
).
value
=
data
.
password
||
""
;
gadget
.
element
.
querySelector
(
"
input[name='new_password']
"
).
value
=
data
.
new_password
||
""
;
gadget
.
element
.
querySelector
(
"
input[name='new_password_confirm']
"
).
value
=
data
.
new_password_confirm
||
""
;
gadget
.
element
.
querySelector
(
"
input[name='url']
"
).
value
=
data
.
url
||
""
;
}
return
new
RSVP
.
Queue
()
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
.
push
(
function
()
{
return
gadget
.
state
.
deferred
.
promise
;
return
gadget
.
state
.
deferred
.
promise
;
...
@@ -337,7 +388,7 @@
...
@@ -337,7 +388,7 @@
return
gadget
.
state
.
sync_gadget
.
startSync
({
now
:
true
});
return
gadget
.
state
.
sync_gadget
.
startSync
({
now
:
true
});
})
})
.
push
(
function
()
{
.
push
(
function
()
{
gadget
.
element
.
querySelector
(
'
.sync-all
'
)
gadget
.
element
.
querySelector
(
'
.sync-all
span
'
)
.
textContent
=
title
;
.
textContent
=
title
;
gadget
.
element
.
querySelector
(
'
.sync-all
'
)
gadget
.
element
.
querySelector
(
'
.sync-all
'
)
.
disabled
=
false
;
.
disabled
=
false
;
...
@@ -530,7 +581,7 @@
...
@@ -530,7 +581,7 @@
gadget
.
element
.
querySelector
(
'
.msgtext-box
'
)
gadget
.
element
.
querySelector
(
'
.msgtext-box
'
)
.
innerHTML
=
notify_msg_template
({
.
innerHTML
=
notify_msg_template
({
status
:
"
error
"
,
status
:
"
error
"
,
text
:
"
ERROR while
remov
ing OPML(s)
"
text
:
"
ERROR while
updat
ing OPML(s)
"
});
});
return
[];
return
[];
})
})
...
@@ -594,29 +645,17 @@
...
@@ -594,29 +645,17 @@
button_submit
.
textContent
=
submit_text
;
button_submit
.
textContent
=
submit_text
;
}
}
function
clearForm
()
{
function
pushNewOPML
(
opml_url
,
username
,
password
,
new_password
)
{
gadget
.
element
.
querySelector
(
"
input[name='username']
"
).
value
=
""
;
gadget
.
element
.
querySelector
(
"
input[name='password']
"
).
value
=
""
;
gadget
.
element
.
querySelector
(
"
input[name='new_password']
"
).
value
=
""
;
gadget
.
element
.
querySelector
(
"
input[name='new_password_confirm']
"
).
value
=
""
;
gadget
.
element
.
querySelector
(
"
input[name='url']
"
).
value
=
""
;
}
function
pushNewOPML
(
opml_url
,
username
,
password
)
{
var
opml_dict
=
{
var
opml_dict
=
{
type
:
"
opml
"
,
type
:
"
opml
"
,
portal_type
:
"
opml
"
,
portal_type
:
"
opml
"
,
url
:
opml_url
,
url
:
opml_url
,
basic_login
:
btoa
(
username
+
'
:
'
+
password
),
basic_login
:
btoa
(
username
+
'
:
'
+
password
),
active
:
true
active
:
true
};
},
update_password_list
=
[];
function
validateOPML
(
basic_login
)
{
function
validateOPML
()
{
// read the opml to get the content and title
// read the opml to get the content and title
//delete gadget.state.jio_storage;
//delete gadget.state.jio_storage;
button_submit
.
textContent
=
"
Reading OPML content...
"
;
button_submit
.
textContent
=
"
Reading OPML content...
"
;
...
@@ -652,13 +691,18 @@
...
@@ -652,13 +691,18 @@
if
(
opml_result
.
data
.
total_rows
>
0
)
{
if
(
opml_result
.
data
.
total_rows
>
0
)
{
opml_dict
.
title
=
opml_result
.
data
.
rows
[
0
].
value
.
title
;
opml_dict
.
title
=
opml_result
.
data
.
rows
[
0
].
value
.
title
;
for
(
i
=
1
;
i
<
opml_result
.
data
.
total_rows
;
i
+=
1
)
{
for
(
i
=
1
;
i
<
opml_result
.
data
.
total_rows
;
i
+=
1
)
{
check_list
.
push
(
checkCredential
(
if
(
opml_result
.
data
.
rows
[
i
].
value
.
url
!==
undefined
)
{
gadget
,
check_list
.
push
(
checkCredential
(
opml_result
.
data
.
rows
[
i
].
value
.
url
,
gadget
,
opml_result
.
data
.
rows
[
i
].
value
.
title
,
opml_result
.
data
.
rows
[
i
].
value
.
url
,
opml_dict
.
basic_login
,
opml_result
.
data
.
rows
[
i
].
value
.
title
,
basic_login
opml_dict
.
basic_login
));
));
update_password_list
.
push
({
base_url
:
opml_result
.
data
.
rows
[
i
].
value
.
url
,
title
:
opml_result
.
data
.
rows
[
i
].
value
.
title
});
}
}
}
button_submit
.
textContent
=
"
Validating password(s)...
"
;
button_submit
.
textContent
=
"
Validating password(s)...
"
;
return
RSVP
.
all
(
check_list
);
return
RSVP
.
all
(
check_list
);
...
@@ -681,6 +725,50 @@
...
@@ -681,6 +725,50 @@
return
false
;
return
false
;
}
}
return
status_list
[
0
];
return
status_list
[
0
];
})
.
push
(
function
(
previous_status
)
{
var
i
,
update_promise_list
=
[];
if
(
new_password
===
""
)
{
return
previous_status
;
}
if
(
!
previous_status
)
{
return
false
;
}
button_submit
.
textContent
=
"
Changing password(s)...
"
;
for
(
i
=
0
;
i
<
update_password_list
.
length
;
i
+=
1
)
{
update_promise_list
.
push
(
changeMonitorPassword
(
gadget
,
update_password_list
[
i
].
base_url
,
update_password_list
[
i
].
title
,
opml_dict
.
basic_login
,
new_password
));
}
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
return
RSVP
.
all
(
update_promise_list
);
})
.
push
(
function
(
result_list
)
{
var
i
,
error_msg
=
""
;
for
(
i
=
0
;
i
<
result_list
.
length
;
i
+=
1
)
{
if
(
result_list
[
i
].
status
===
'
ERROR
'
)
{
error_msg
+=
'
ERROR
'
+
result_list
[
i
].
code
+
'
. [
'
+
result_list
[
i
].
title
+
'
] Failed to
'
+
'
change password, please try again
\n
'
;
}
}
if
(
error_msg
!==
""
)
{
alert_box
.
removeClass
(
'
ui-content-hidden
'
)
.
text
(
error_msg
);
return
false
;
}
else
{
opml_dict
.
basic_login
=
btoa
(
username
+
'
:
'
+
new_password
);
return
true
;
}
});
});
});
}
}
...
@@ -693,7 +781,7 @@
...
@@ -693,7 +781,7 @@
})
})
.
push
(
function
(
doc
)
{
.
push
(
function
(
doc
)
{
current_opml
=
doc
;
current_opml
=
doc
;
return
validateOPML
(
doc
.
basic_login
);
return
validateOPML
();
})
})
.
push
(
function
(
status
)
{
.
push
(
function
(
status
)
{
if
(
status
)
{
if
(
status
)
{
...
@@ -728,7 +816,8 @@
...
@@ -728,7 +816,8 @@
);
);
return
false
;
return
false
;
}
}
return
pushNewOPML
(
opml_url
,
username
,
password
);
return
pushNewOPML
(
opml_url
,
username
,
password
,
new_password
);
});
});
}
}
));
));
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_settings_configurator_js.xml
View file @
b18fe54e
...
@@ -239,7 +239,7 @@
...
@@ -239,7 +239,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
961.
22290.30770.8345
</string>
</value>
<value>
<string>
961.
40699.48372.17271
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -257,7 +257,7 @@
...
@@ -257,7 +257,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
150
2466440.16
</float>
<float>
150
3651680.71
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_status_list_js.js
View file @
b18fe54e
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
.
declareMethod
(
'
render
'
,
function
(
options
)
{
.
declareMethod
(
'
render
'
,
function
(
options
)
{
var
gadget
=
this
,
var
gadget
=
this
,
header
=
{
header
=
{
"
title
"
:
'
Monitoring Promise Status
'
"
title
"
:
'
Monitoring Promise
s
Status
'
},
},
listbox_configuration
=
{
listbox_configuration
=
{
search_page
:
'
status_list
'
,
search_page
:
'
status_list
'
,
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
}],
}],
filter_column
:
{
select
:
"
category
"
,
"
title
"
:
"
Status
"
},
filter_column
:
{
select
:
"
category
"
,
"
title
"
:
"
Status
"
},
query
:
{
query
:
{
"
limit
"
:
[
0
,
6
00
],
"
limit
"
:
[
0
,
4
00
],
select_list
:
[
'
source
'
,
'
channel_item
'
,
'
channel
'
,
'
category
'
,
select_list
:
[
'
source
'
,
'
channel_item
'
,
'
channel
'
,
'
category
'
,
'
date
'
,
'
comments
'
,
'
link
'
,
'
lastBuildDate
'
,
'
parent_id
'
],
'
date
'
,
'
comments
'
,
'
link
'
,
'
lastBuildDate
'
,
'
parent_id
'
],
query
:
'
(portal_type:"promise") AND (active:true)
'
,
query
:
'
(portal_type:"promise") AND (active:true)
'
,
...
@@ -95,8 +95,8 @@
...
@@ -95,8 +95,8 @@
.
declareAcquiredMethod
(
"
getSetting
"
,
"
getSetting
"
)
.
declareAcquiredMethod
(
"
getSetting
"
,
"
getSetting
"
)
.
declareAcquiredMethod
(
"
setSetting
"
,
"
setSetting
"
)
.
declareAcquiredMethod
(
"
setSetting
"
,
"
setSetting
"
)
.
declareAcquiredMethod
(
"
redirect
"
,
"
redirect
"
)
.
declareAcquiredMethod
(
"
redirect
"
,
"
redirect
"
)
.
declareAcquiredMethod
(
"
renderApplication
"
,
"
renderApplication
"
)
.
declareAcquiredMethod
(
"
updateHeader
"
,
"
updateHeader
"
)
.
declareAcquiredMethod
(
"
updateHeader
"
,
"
updateHeader
"
)
.
declareAcquiredMethod
(
"
renderApplication
"
,
"
renderApplication
"
)
.
declareService
(
function
()
{
.
declareService
(
function
()
{
var
gadget
=
this
,
var
gadget
=
this
,
current_sync_date
;
current_sync_date
;
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_status_list_js.xml
View file @
b18fe54e
...
@@ -239,7 +239,7 @@
...
@@ -239,7 +239,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
961.
21935.10239.63812
</string>
</value>
<value>
<string>
961.
42463.34618.20070
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -257,7 +257,7 @@
...
@@ -257,7 +257,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
150
2455678.21
</float>
<float>
150
3676888.75
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_sync_js.js
View file @
b18fe54e
...
@@ -252,6 +252,7 @@
...
@@ -252,6 +252,7 @@
}
}
// Default sync interval to 5 minutes
// Default sync interval to 5 minutes
gadget
.
props
.
default_sync_interval
=
300000
;
gadget
.
props
.
default_sync_interval
=
300000
;
gadget
.
props
.
has_sync_interval
=
false
;
return
new
RSVP
.
Queue
()
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
.
push
(
function
()
{
return
gadget
.
getSetting
(
'
sync_data_interval
'
);
return
gadget
.
getSetting
(
'
sync_data_interval
'
);
...
@@ -260,9 +261,9 @@
...
@@ -260,9 +261,9 @@
if
(
timer_interval
===
undefined
)
{
if
(
timer_interval
===
undefined
)
{
// quickly sync because this is the first run!
// quickly sync because this is the first run!
gadget
.
props
.
timer_interval
=
10000
;
gadget
.
props
.
timer_interval
=
10000
;
gadget
.
props
.
has_sync_interval
=
false
;
}
else
{
}
else
{
gadget
.
props
.
timer_interval
=
timer_interval
;
gadget
.
props
.
timer_interval
=
timer_interval
;
gadget
.
props
.
has_sync_interval
=
true
;
}
}
return
gadget
.
getSetting
(
'
latest_sync_time
'
);
return
gadget
.
getSetting
(
'
latest_sync_time
'
);
})
})
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/gadget_monitoring_sync_js.xml
View file @
b18fe54e
...
@@ -242,7 +242,7 @@
...
@@ -242,7 +242,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
961.
21883.33309.38348
</string>
</value>
<value>
<string>
961.
40574.58268.18875
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -260,7 +260,7 @@
...
@@ -260,7 +260,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
150
2445069.16
</float>
<float>
150
3563500.59
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/monitoring_jio_storage_js.js
View file @
b18fe54e
...
@@ -17,6 +17,7 @@
...
@@ -17,6 +17,7 @@
* {
* {
* "type": "replicatedopml",
* "type": "replicatedopml",
* "remote_storage_unreachable_status": "WARNING",
* "remote_storage_unreachable_status": "WARNING",
* "remote_opml_check_time_interval": 86400000,
* local_sub_storage: {
* local_sub_storage: {
* type: "query",
* type: "query",
* sub_storage: {
* sub_storage: {
...
@@ -28,8 +29,8 @@
...
@@ -28,8 +29,8 @@
*
*
*/
*/
var
rusha
=
new
Rusha
()
;
var
rusha
=
new
Rusha
()
,
//SIGNATURE_PREFIX_NAME = "__signature
__";
OPML_ATTACHMENT_NAME
=
"
__opml
__
"
;
function
generateHash
(
str
)
{
function
generateHash
(
str
)
{
return
rusha
.
digestFromString
(
str
);
return
rusha
.
digestFromString
(
str
);
...
@@ -66,6 +67,12 @@
...
@@ -66,6 +67,12 @@
if
(
this
.
_remote_parser_storage_type
===
undefined
)
{
if
(
this
.
_remote_parser_storage_type
===
undefined
)
{
this
.
_remote_parser_storage_type
=
"
parser
"
;
this
.
_remote_parser_storage_type
=
"
parser
"
;
}
}
this
.
_remote_opml_check_time_interval
=
spec
.
remote_opml_check_time_interval
;
if
(
this
.
_remote_opml_check_time_interval
===
undefined
)
{
// one day in miliseconds
this
.
_remote_opml_check_time_interval
=
86400000
;
}
}
}
ReplicatedOPMLStorage
.
prototype
.
get
=
function
()
{
ReplicatedOPMLStorage
.
prototype
.
get
=
function
()
{
...
@@ -216,7 +223,7 @@
...
@@ -216,7 +223,7 @@
JSON
.
stringify
(
storage_spec
));
JSON
.
stringify
(
storage_spec
));
}
}
function
get
SignatureDocu
ment
(
context
,
attachment_id
,
name
)
{
function
get
DocumentAsAttach
ment
(
context
,
attachment_id
,
name
)
{
return
context
.
_local_sub_storage
.
getAttachment
(
attachment_id
,
name
)
return
context
.
_local_sub_storage
.
getAttachment
(
attachment_id
,
name
)
.
push
(
undefined
,
function
(
error
)
{
.
push
(
undefined
,
function
(
error
)
{
if
((
error
instanceof
jIO
.
util
.
jIOError
)
&&
if
((
error
instanceof
jIO
.
util
.
jIOError
)
&&
...
@@ -246,8 +253,14 @@
...
@@ -246,8 +253,14 @@
return
context
.
_local_sub_storage
.
get
(
id
);
return
context
.
_local_sub_storage
.
get
(
id
);
})
})
.
push
(
function
(
doc
)
{
.
push
(
function
(
doc
)
{
doc
.
status
=
next_status
;
if
(
doc
.
portal_type
===
"
promise
"
)
{
return
context
.
_local_sub_storage
.
put
(
id
,
doc
);
doc
.
category
=
next_status
;
return
context
.
_local_sub_storage
.
put
(
id
,
doc
);
}
if
(
doc
.
status
!==
undefined
)
{
doc
.
status
=
next_status
;
return
context
.
_local_sub_storage
.
put
(
id
,
doc
);
}
});
});
}
}
...
@@ -255,10 +268,14 @@
...
@@ -255,10 +268,14 @@
if
(
signature_dict
.
hasOwnProperty
(
key
))
{
if
(
signature_dict
.
hasOwnProperty
(
key
))
{
if
(
signature_dict
[
key
].
status
!==
next_status
)
{
if
(
signature_dict
[
key
].
status
!==
next_status
)
{
updateStatus
(
key
);
updateStatus
(
key
);
signature_dict
[
key
].
status
=
next_status
;
}
}
}
}
}
}
return
update_status_queue
;
return
update_status_queue
.
push
(
function
()
{
return
signature_dict
;
});
}
}
function
loadSubStorage
(
context
,
storage_spec
,
parent_id
,
type
)
{
function
loadSubStorage
(
context
,
storage_spec
,
parent_id
,
type
)
{
...
@@ -288,12 +305,8 @@
...
@@ -288,12 +305,8 @@
if
(
result
===
undefined
)
{
if
(
result
===
undefined
)
{
if
(
context
.
_remote_storage_unreachable_status
!==
undefined
)
{
if
(
context
.
_remote_storage_unreachable_status
!==
undefined
)
{
// update status of local documents
// update status of local documents
// to set unreachable state
// and set unreachable status
return
getSignatureDocument
(
return
getDocumentAsAttachment
(
context
,
parent_id
,
url
)
context
,
parent_id
,
url
)
.
push
(
function
(
signature_document
)
{
.
push
(
function
(
signature_document
)
{
return
updateSubStorageStatus
(
return
updateSubStorageStatus
(
context
,
context
,
...
@@ -301,14 +314,14 @@
...
@@ -301,14 +314,14 @@
context
.
_remote_storage_unreachable_status
context
.
_remote_storage_unreachable_status
);
);
})
})
.
push
(
function
()
{
.
push
(
function
(
signature_dict
)
{
return
{}
;
return
signature_dict
;
});
});
}
}
return
{};
return
{};
}
}
result_dict
.
result
=
result
;
result_dict
.
result
=
result
;
return
get
SignatureDocu
ment
(
return
get
DocumentAsAttach
ment
(
context
,
context
,
parent_id
,
parent_id
,
url
url
...
@@ -324,35 +337,60 @@
...
@@ -324,35 +337,60 @@
var
opml_storage
,
var
opml_storage
,
opml_document_list
=
[],
opml_document_list
=
[],
delete_key_list
=
[],
delete_key_list
=
[],
signature
_document_list
=
[],
attachment
_document_list
=
[],
opml_result_list
,
opml_result_list
,
current_signature_dict
=
{},
fetch_remote_opml
=
false
,
id
;
id
;
id
=
generateHash
(
opml_url
);
id
=
generateHash
(
opml_url
);
opml_storage
=
createStorage
(
context
,
opml_spec
,
id
);
opml_storage
=
createStorage
(
context
,
opml_spec
,
id
);
return
opml_storage
.
allDocs
({
include_docs
:
true
})
return
getDocumentAsAttachment
(
context
,
opml_url
,
OPML_ATTACHMENT_NAME
)
.
push
(
undefined
,
function
(
error
)
{
.
push
(
function
(
opml_doc
)
{
if
((
error
instanceof
jIO
.
util
.
jIOError
)
&&
var
current_time
=
new
Date
().
getTime
();
(
error
.
status_code
===
404
))
{
if
(
opml_doc
.
expire_time
!==
undefined
)
{
return
{
data
:
{
total_rows
:
0
}};
fetch_remote_opml
=
(
opml_doc
.
expire_time
-
current_time
)
<
0
;
}
else
{
fetch_remote_opml
=
true
;
}
}
//throw error;
if
(
fetch_remote_opml
)
{
// throw will cancel all remaning tasks
return
opml_storage
.
allDocs
({
include_docs
:
true
})
console
.
error
(
error
);
.
push
(
undefined
,
function
(
error
)
{
return
{
data
:
{
total_rows
:
0
}};
if
((
error
instanceof
jIO
.
util
.
jIOError
)
&&
})
(
error
.
status_code
===
404
))
{
.
push
(
function
(
opml_result
)
{
return
{
data
:
{
total_rows
:
0
}};
opml_result_list
=
opml_result
;
}
if
(
opml_result
.
data
.
total_rows
>
0
)
{
//throw error;
return
getSignatureDocument
(
console
.
error
(
error
);
context
,
return
{
data
:
{
total_rows
:
0
}};
id
,
})
opml_url
.
push
(
function
(
opml_result
)
{
);
opml_result_list
=
opml_result
;
if
(
opml_result
.
data
.
total_rows
>
0
)
{
attachment_document_list
.
push
({
id
:
opml_url
,
name
:
OPML_ATTACHMENT_NAME
,
doc
:
{
expire_time
:
new
Date
().
getTime
()
+
context
.
_remote_opml_check_time_interval
,
data
:
opml_result
}
});
return
getDocumentAsAttachment
(
context
,
id
,
opml_url
);
}
return
{};
})
.
push
(
function
(
signature_dict
)
{
current_signature_dict
=
signature_dict
;
});
}
}
return
{}
;
opml_result_list
=
opml_doc
.
data
;
})
})
.
push
(
function
(
current_signature_dict
)
{
.
push
(
function
()
{
var
i
,
var
i
,
item
,
item
,
signature
,
signature
,
...
@@ -362,7 +400,7 @@
...
@@ -362,7 +400,7 @@
result_list
=
[],
result_list
=
[],
header_dict
=
{};
header_dict
=
{};
if
(
opml_result_list
.
data
.
total_rows
>
0
)
{
if
(
opml_result_list
.
data
.
total_rows
>
0
&&
fetch_remote_opml
)
{
header_dict
=
{
header_dict
=
{
dateCreated
:
opml_result_list
.
data
.
rows
[
0
].
doc
.
dateCreated
,
dateCreated
:
opml_result_list
.
data
.
rows
[
0
].
doc
.
dateCreated
,
dateModified
:
opml_result_list
.
data
.
rows
[
0
].
doc
.
dateModified
,
dateModified
:
opml_result_list
.
data
.
rows
[
0
].
doc
.
dateModified
,
...
@@ -374,12 +412,6 @@
...
@@ -374,12 +412,6 @@
item
=
opml_result_list
.
data
.
rows
[
i
];
item
=
opml_result_list
.
data
.
rows
[
i
];
if
(
item
.
doc
.
xmlUrl
!==
undefined
)
{
if
(
item
.
doc
.
xmlUrl
!==
undefined
)
{
id_hash
=
generateHash
(
id
+
item
.
id
);
id_hash
=
generateHash
(
id
+
item
.
id
);
signature
=
generateHash
(
JSON
.
stringify
(
item
.
doc
));
// Append this document signature to the list
doc_signature_dict
[
id_hash
]
=
{
signature
:
signature
};
result_list
.
push
(
loadSubStorage
(
result_list
.
push
(
loadSubStorage
(
context
,
context
,
{
{
...
@@ -407,37 +439,46 @@
...
@@ -407,37 +439,46 @@
));
));
}
}
if
(
current_signature_dict
.
hasOwnProperty
(
id_hash
))
{
if
(
fetch_remote_opml
)
{
if
(
current_signature_dict
[
id_hash
].
signature
===
signature
)
{
// Append this document signature to the list
// remote document was not modified, delete and skip add
signature
=
generateHash
(
JSON
.
stringify
(
item
.
doc
));
doc_signature_dict
[
id_hash
]
=
{
signature
:
signature
};
if
(
current_signature_dict
.
hasOwnProperty
(
id_hash
))
{
if
(
current_signature_dict
[
id_hash
].
signature
===
signature
)
{
// remote document was not modified, delete and skip add
delete
current_signature_dict
[
id_hash
];
skip_add
=
true
;
}
delete
current_signature_dict
[
id_hash
];
delete
current_signature_dict
[
id_hash
];
skip_add
=
true
;
}
}
delete
current_signature_dict
[
id_hash
];
Object
.
assign
(
item
.
doc
,
{
}
portal_type
:
"
opml-outline
"
,
Object
.
assign
(
item
.
doc
,
{
parent_id
:
id
,
portal_type
:
"
opml-outline
"
,
parent_url
:
opml_url
,
parent_id
:
id
,
reference
:
id_hash
,
parent_url
:
opml_url
,
active
:
true
reference
:
id_hash
,
active
:
true
});
Object
.
assign
(
item
.
doc
,
header_dict
);
if
(
!
skip_add
)
{
opml_document_list
.
push
({
id
:
id_hash
,
doc
:
item
.
doc
});
});
Object
.
assign
(
item
.
doc
,
header_dict
);
if
(
!
skip_add
)
{
opml_document_list
.
push
({
id
:
id_hash
,
doc
:
item
.
doc
});
}
}
}
}
}
}
}
signature_document_list
.
push
({
if
(
fetch_remote_opml
&&
Object
.
keys
(
doc_signature_dict
).
length
>
0
)
{
id
:
opml_url
,
attachment_document_list
.
push
({
name
:
opml_url
,
id
:
opml_url
,
doc
:
doc_signature_dict
name
:
opml_url
,
});
doc
:
doc_signature_dict
delete_key_list
.
push
.
apply
(
delete_key_list
,
});
Object
.
keys
(
current_signature_dict
));
delete_key_list
.
push
.
apply
(
delete_key_list
,
Object
.
keys
(
current_signature_dict
));
}
return
RSVP
.
all
(
result_list
);
return
RSVP
.
all
(
result_list
);
})
})
.
push
(
function
(
result_list
)
{
.
push
(
function
(
result_list
)
{
...
@@ -493,47 +534,57 @@
...
@@ -493,47 +534,57 @@
for
(
i
=
0
;
i
<
result_list
.
length
;
i
+=
1
)
{
for
(
i
=
0
;
i
<
result_list
.
length
;
i
+=
1
)
{
extra_dict
=
undefined
;
extra_dict
=
undefined
;
start
=
0
;
start
=
0
;
if
(
result_list
[
i
].
type
===
"
promise
"
&&
if
(
result_list
[
i
].
result
.
data
.
total_rows
>
0
)
{
result_list
[
i
].
result
.
data
.
total_rows
>
0
)
{
if
(
result_list
[
i
].
type
===
"
promise
"
)
{
// the first element of rss is the header
// the first element of rss is the header
extra_dict
=
{
extra_dict
=
{
lastBuildDate
:
result_list
[
i
].
result
.
data
.
rows
[
0
].
doc
lastBuildDate
:
result_list
[
i
].
result
.
data
.
rows
[
0
].
doc
.
lastBuildDate
,
.
lastBuildDate
,
channel
:
result_list
[
i
].
result
.
data
.
rows
[
0
].
doc
.
description
,
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
};
};
applyItemToTree
(
applyItemToTree
(
result_list
[
i
].
result
.
data
.
rows
[
0
],
result_list
[
i
].
result
.
data
.
rows
[
0
],
result_list
[
i
],
result_list
[
i
],
"
rss
"
"
rss
"
);
);
start
=
1
;
start
=
1
;
}
}
for
(
j
=
start
;
j
<
result_list
[
i
].
result
.
data
.
total_rows
;
j
+=
1
)
{
for
(
j
=
start
;
j
<
result_list
[
i
].
result
.
data
.
total_rows
;
j
+=
1
)
{
applyItemToTree
(
applyItemToTree
(
result_list
[
i
].
result
.
data
.
rows
[
j
],
result_list
[
i
].
result
.
data
.
rows
[
j
],
result_list
[
i
],
result_list
[
i
],
undefined
,
undefined
,
extra_dict
extra_dict
);
}
attachment_document_list
.
push
({
id
:
result_list
[
i
].
parent_id
,
name
:
result_list
[
i
].
url
,
doc
:
item_signature_dict
});
item_signature_dict
=
{};
delete_key_list
.
push
.
apply
(
delete_key_list
,
Object
.
keys
(
result_list
[
i
].
current_signature
)
);
);
}
else
if
(
Object
.
keys
(
result_list
[
i
].
current_signature
).
length
>
0
)
{
// if the remote data is empty and current_signature is not empty,
// push to storage in case the status was changed
// this help for speed optimisation
attachment_document_list
.
push
({
id
:
result_list
[
i
].
parent_id
,
name
:
result_list
[
i
].
url
,
doc
:
result_list
[
i
].
current_signature
});
}
}
signature_document_list
.
push
({
id
:
result_list
[
i
].
parent_id
,
name
:
result_list
[
i
].
url
,
doc
:
item_signature_dict
});
item_signature_dict
=
{};
delete_key_list
.
push
.
apply
(
delete_key_list
,
Object
.
keys
(
result_list
[
i
].
current_signature
)
);
}
}
return
[
opml_document_list
,
delete_key_list
,
signature
_document_list
];
return
[
opml_document_list
,
delete_key_list
,
attachment
_document_list
];
});
});
}
}
function
pushDocumentToStorage
(
context
,
document_list
,
delete_key_list
,
function
pushDocumentToStorage
(
context
,
document_list
,
delete_key_list
,
signature
_document_list
)
{
attachment
_document_list
)
{
var
document_queue
=
new
RSVP
.
Queue
(),
var
document_queue
=
new
RSVP
.
Queue
(),
i
;
i
;
...
@@ -579,7 +630,7 @@
...
@@ -579,7 +630,7 @@
var
j
,
var
j
,
signature_queue
=
new
RSVP
.
Queue
();
signature_queue
=
new
RSVP
.
Queue
();
function
push
Signature
(
id
,
name
,
element
)
{
function
push
Attachment
(
id
,
name
,
element
)
{
signature_queue
signature_queue
.
push
(
function
()
{
.
push
(
function
()
{
return
context
.
_local_sub_storage
.
putAttachment
(
return
context
.
_local_sub_storage
.
putAttachment
(
...
@@ -592,11 +643,11 @@
...
@@ -592,11 +643,11 @@
console
.
error
(
error
);
console
.
error
(
error
);
});
});
}
}
for
(
j
=
0
;
j
<
signature
_document_list
.
length
;
j
+=
1
)
{
for
(
j
=
0
;
j
<
attachment
_document_list
.
length
;
j
+=
1
)
{
push
Signature
(
push
Attachment
(
signature
_document_list
[
j
].
id
,
attachment
_document_list
[
j
].
id
,
signature
_document_list
[
j
].
name
,
attachment
_document_list
[
j
].
name
,
signature
_document_list
[
j
].
doc
attachment
_document_list
[
j
].
doc
);
);
}
}
});
});
...
@@ -667,4 +718,4 @@
...
@@ -667,4 +718,4 @@
jIO
.
addStorage
(
'
replicatedopml
'
,
ReplicatedOPMLStorage
);
jIO
.
addStorage
(
'
replicatedopml
'
,
ReplicatedOPMLStorage
);
}(
jIO
,
RSVP
,
Rusha
,
Blob
,
console
));
}(
jIO
,
RSVP
,
Rusha
,
Blob
,
console
));
\ No newline at end of file
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/monitoring_jio_storage_js.xml
View file @
b18fe54e
...
@@ -239,7 +239,7 @@
...
@@ -239,7 +239,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
961.
21883.33309.3834
8
</string>
</value>
<value>
<string>
961.
39289.49107.262
8
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -257,7 +257,7 @@
...
@@ -257,7 +257,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
150
2445069.1
9
</float>
<float>
150
3487925.9
9
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_page_module/rjs_gadget_monitoring_html.xml
View file @
b18fe54e
...
@@ -244,7 +244,7 @@
...
@@ -244,7 +244,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
961.
22124.2270.51677
</string>
</value>
<value>
<string>
961.
46449.45833.54135
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -262,7 +262,7 @@
...
@@ -262,7 +262,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
150
2457717.67
</float>
<float>
150
3930399.38
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/monitoring_render_js.xml
View file @
b18fe54e
...
@@ -162,7 +162,7 @@
...
@@ -162,7 +162,7 @@
<dictionary>
<dictionary>
<item>
<item>
<key>
<string>
id
</string>
</key>
<key>
<string>
id
</string>
</key>
<value>
<string>
frontpage_gadget_url
</string>
</value>
<value>
<string>
configuration_latest_document_version
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
type
</string>
</key>
<key>
<string>
type
</string>
</key>
...
@@ -172,97 +172,7 @@
...
@@ -172,97 +172,7 @@
<dictionary>
<dictionary>
<item>
<item>
<key>
<string>
id
</string>
</key>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_frontpage_gadget_url
</string>
</value>
<value>
<string>
configuration_content_security_policy
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_application_title
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_hateoas_url
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_view_action_category
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_default_view_action_reference
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_panel_gadget_url
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_router_gadget_url
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_jio_gadget_url
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_translation_gadget_url
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_manifest_url
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
type
</string>
</key>
<key>
<string>
type
</string>
</key>
...
@@ -272,7 +182,7 @@
...
@@ -272,7 +182,7 @@
<dictionary>
<dictionary>
<item>
<item>
<key>
<string>
id
</string>
</key>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_
header_gadget_url
</string>
</value>
<value>
<string>
configuration_
latest_version
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
type
</string>
</key>
<key>
<string>
type
</string>
</key>
...
@@ -282,7 +192,7 @@
...
@@ -282,7 +192,7 @@
<dictionary>
<dictionary>
<item>
<item>
<key>
<string>
id
</string>
</key>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_
content_security_policy
</string>
</value>
<value>
<string>
configuration_
redirect_url
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
type
</string>
</key>
<key>
<string>
type
</string>
</key>
...
@@ -302,7 +212,7 @@
...
@@ -302,7 +212,7 @@
<dictionary>
<dictionary>
<item>
<item>
<key>
<string>
id
</string>
</key>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_
default_jio_document_page_gadget_url
</string>
</value>
<value>
<string>
configuration_
cache_file
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
type
</string>
</key>
<key>
<string>
type
</string>
</key>
...
@@ -342,86 +252,46 @@
...
@@ -342,86 +252,46 @@
<key>
<string>
categories
</string>
</key>
<key>
<string>
categories
</string>
</key>
<value>
<value>
<tuple>
<tuple>
<string>
caching_policy/must-revalidate
</string>
<string>
aggregate/web_page_module/gadget_officejs_bootloader.html
</string>
<string>
aggregate/web_page_module/rjs_gadget_monitoring_html
</string>
<string>
caching_policy/no-cache
</string>
</tuple>
</tuple>
</value>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
configuration_application_title
</string>
</key>
<key>
<string>
configuration_cache_file
</string>
</key>
<value>
<string>
Monitoring
</string>
</value>
</item>
<item>
<key>
<string>
configuration_content_security_policy
</string>
</key>
<value>
<string>
default-src \'none\'; img-src \'self\' data:; media-src \'self\' blob:; connect-src \'self\' mail.tiolive.com data: *; script-src \'self\' \'unsafe-eval\'; font-src netdna.bootstrapcdn.com \'self\'; style-src \'self\' netdna.bootstrapcdn.com \'unsafe-inline\' data:; frame-src \'self\' data:
</string>
</value>
</item>
<item>
<key>
<string>
configuration_default_jio_document_page_gadget_url
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
configuration_default_view_action_reference
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
configuration_frontpage_gadget_url
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
configuration_hateoas_url
</string>
</key>
<value>
<string>
hateoas/
</string>
</value>
</item>
<item>
<key>
<string>
configuration_header_gadget_url
</string>
</key>
<value>
<string>
gadget_monitoring_header.html
</string>
</value>
</item>
<item>
<key>
<string>
configuration_jio_gadget_url
</string>
</key>
<value>
<string>
gadget_monitoring_jio.html
</string>
</value>
</item>
<item>
<key>
<string>
configuration_manifest_url
</string>
</key>
<value>
<string>
gadget_monitoring.appcache
</string>
</value>
<value>
<string>
gadget_monitoring.appcache
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
configuration_
panel_gadget_url
</string>
</key>
<key>
<string>
configuration_
content_security_policy
</string>
</key>
<value>
<string>
gadget_monitoring_application_panel.html
</string>
</value>
<value>
<string>
default-src \'self\'; img-src \'self\' data:; media-src \'self\' blob:; connect-src \'self\' https://content.dropboxapi.com https://api.dropboxapi.com mail.tiolive.com data: localhost:5378 *.host.vifib.net *.node.vifib.com *.erp5.net https://netdna.bootstrapcdn.com; script-src \'self\' \'unsafe-eval\' \'unsafe-inline\'; font-src \'self\' netdna.bootstrapcdn.com; style-src \'self\' netdna.bootstrapcdn.com \'unsafe-inline\' data:; frame-src \'self\' data:
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
configuration_
router_gadget_url
</string>
</key>
<key>
<string>
configuration_
latest_document_version
</string>
</key>
<value>
<string>
gadget_monitoring_router.html
</string>
</value>
<value>
<string>
001
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
configuration_
translation_gadget_url
</string>
</key>
<key>
<string>
configuration_
latest_version
</string>
</key>
<value>
<string>
gadget_translation.html
</string>
</value>
<value>
<string>
app
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
configuration_view_action_category
</string>
</key>
<key>
<string>
configuration_redirect_url
</string>
</key>
<value>
<value>
<string>
app
</string>
</value>
<none/>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
configuration_x_frame_options
</string>
</key>
<key>
<string>
configuration_x_frame_options
</string>
</key>
<value>
<string>
SAMEORIGIN
</string>
</value>
<value>
<string>
ALLOW-FROM-ALL
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
container_layout
</string>
</key>
<key>
<string>
container_layout
</string>
</key>
<value>
<string>
WebSection_render
DefaultPageAsGadget
</string>
</value>
<value>
<string>
WebSection_render
OfficeJSApplicationPage
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
content_layout
</string>
</key>
<key>
<string>
content_layout
</string>
</key>
<value>
<string>
WebSection_render
DefaultPageAsGadget
</string>
</value>
<value>
<string>
WebSection_render
OfficeJSApplicationPage
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
custom_render_method_id
</string>
</key>
<key>
<string>
custom_render_method_id
</string>
</key>
<value>
<string>
WebSection_render
DefaultPageAsGadget
</string>
</value>
<value>
<string>
WebSection_render
OfficeJSApplicationPage
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
description
</string>
</key>
<key>
<string>
description
</string>
</key>
...
@@ -429,17 +299,13 @@
...
@@ -429,17 +299,13 @@
<none/>
<none/>
</value>
</value>
</item>
</item>
<item>
<key>
<string>
frontpage_gadget_url
</string>
</key>
<value>
<string>
gadget_woelfel_pt_frontpage.html
</string>
</value>
</item>
<item>
<item>
<key>
<string>
id
</string>
</key>
<key>
<string>
id
</string>
</key>
<value>
<string>
monitoring_render_js
</string>
</value>
<value>
<string>
monitoring_render_js
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
layout_configuration_form_id
</string>
</key>
<key>
<string>
layout_configuration_form_id
</string>
</key>
<value>
<string>
WebSection_view
RenderJS
Preference
</string>
</value>
<value>
<string>
WebSection_view
OfficeJSApplication
Preference
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
portal_type
</string>
</key>
<key>
<string>
portal_type
</string>
</key>
...
@@ -453,7 +319,7 @@
...
@@ -453,7 +319,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
skin_selection_name
</string>
</key>
<key>
<string>
skin_selection_name
</string>
</key>
<value>
<string>
RJS
</string>
</value>
<value>
<string>
Officejs
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
static_language_selection
</string>
</key>
<key>
<string>
static_language_selection
</string>
</key>
...
@@ -461,7 +327,7 @@
...
@@ -461,7 +327,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
title
</string>
</key>
<key>
<string>
title
</string>
</key>
<value>
<string>
Monitoring Interface
</string>
</value>
<value>
<string>
Office JS Monitor App
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
visible
</string>
</key>
<key>
<string>
visible
</string>
</key>
...
@@ -601,7 +467,7 @@
...
@@ -601,7 +467,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
1
451487706.16
</float>
<float>
1
503922757.92
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
@@ -646,7 +512,7 @@
...
@@ -646,7 +512,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
961.
21901.38049.4881
</string>
</value>
<value>
<string>
961.
48211.31484.14250
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -664,7 +530,7 @@
...
@@ -664,7 +530,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
150
2456284.8
2
</float>
<float>
150
4021651.0
2
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_web_monitoring/PathTemplateItem/web_site_module/monitoring_render_js/app.xml
0 → 100644
View file @
b18fe54e
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Web Section"
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>
Authenticated
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Member
</string>
<string>
Owner
</string>
<string>
Reviewer
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Add_portal_content_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Add_portal_folders_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Copy_or_Move_Permission
</string>
</key>
<value>
<tuple>
<string>
Assignor
</string>
<string>
Manager
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
_Delete_objects_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>
Authenticated
</string>
<string>
Author
</string>
<string>
Manager
</string>
<string>
Member
</string>
<string>
Owner
</string>
<string>
Reviewer
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
__before_publishing_traverse__
</string>
</key>
<value>
<object>
<klass>
<global
name=
"MultiHook"
module=
"ZPublisher.BeforeTraverse"
/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key>
<string>
_defined_in_class
</string>
</key>
<value>
<int>
1
</int>
</value>
</item>
<item>
<key>
<string>
_hookname
</string>
</key>
<value>
<string>
__before_publishing_traverse__
</string>
</value>
</item>
<item>
<key>
<string>
_list
</string>
</key>
<value>
<list>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</list>
</value>
</item>
<item>
<key>
<string>
_prior
</string>
</key>
<value>
<none/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
__before_traverse__
</string>
</key>
<value>
<dictionary>
<item>
<key>
<tuple>
<int>
99
</int>
<string>
ERP5 Web Section/app
</string>
</tuple>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key>
<string>
_identity_criterion
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
_local_properties
</string>
</key>
<value>
<tuple>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_router_gadget_url
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_application_title
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_jio_gadget_url
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_x_frame_options
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_content_security_policy
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_panel_gadget_url
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_translation_gadget_url
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_header_gadget_url
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_hateoas_url
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
configuration_manifest_url
</string>
</value>
</item>
<item>
<key>
<string>
type
</string>
</key>
<value>
<string>
string
</string>
</value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key>
<string>
_range_criterion
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
categories
</string>
</key>
<value>
<tuple>
<string>
caching_policy/must-revalidate
</string>
<string>
aggregate/web_page_module/rjs_gadget_monitoring_html
</string>
</tuple>
</value>
</item>
<item>
<key>
<string>
configuration_application_title
</string>
</key>
<value>
<string>
Monitoring App
</string>
</value>
</item>
<item>
<key>
<string>
configuration_content_security_policy
</string>
</key>
<value>
<string>
default-src \'self\'; img-src \'self\' data:; media-src \'self\' blob:; connect-src \'self\' https://content.dropboxapi.com https://api.dropboxapi.com mail.tiolive.com data: localhost:5378 *.host.vifib.net *.node.vifib.com *.erp5.net https://netdna.bootstrapcdn.com; script-src \'self\' \'unsafe-eval\' \'unsafe-inline\'; font-src \'self\' netdna.bootstrapcdn.com; style-src \'self\' netdna.bootstrapcdn.com \'unsafe-inline\' data:; frame-src \'self\' data:
</string>
</value>
</item>
<item>
<key>
<string>
configuration_hateoas_url
</string>
</key>
<value>
<string>
hateoas/
</string>
</value>
</item>
<item>
<key>
<string>
configuration_header_gadget_url
</string>
</key>
<value>
<string>
gadget_monitoring_header.html
</string>
</value>
</item>
<item>
<key>
<string>
configuration_jio_gadget_url
</string>
</key>
<value>
<string>
gadget_monitoring_jio.html
</string>
</value>
</item>
<item>
<key>
<string>
configuration_manifest_url
</string>
</key>
<value>
<string>
gadget_monitoring.appcache
</string>
</value>
</item>
<item>
<key>
<string>
configuration_panel_gadget_url
</string>
</key>
<value>
<string>
gadget_monitoring_application_panel.html
</string>
</value>
</item>
<item>
<key>
<string>
configuration_router_gadget_url
</string>
</key>
<value>
<string>
gadget_monitoring_router.html
</string>
</value>
</item>
<item>
<key>
<string>
configuration_translation_gadget_url
</string>
</key>
<value>
<string>
gadget_translation.html
</string>
</value>
</item>
<item>
<key>
<string>
configuration_x_frame_options
</string>
</key>
<value>
<string>
ALLOW-FROM-ALL
</string>
</value>
</item>
<item>
<key>
<string>
container_layout
</string>
</key>
<value>
<string>
WebSection_renderDefaultPageAsGadget
</string>
</value>
</item>
<item>
<key>
<string>
content_layout
</string>
</key>
<value>
<string>
WebSection_renderDefaultPageAsGadget
</string>
</value>
</item>
<item>
<key>
<string>
custom_render_method_id
</string>
</key>
<value>
<string>
WebSection_renderDefaultPageAsGadget
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
empty_criterion_valid
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
app
</string>
</value>
</item>
<item>
<key>
<string>
layout_configuration_form_id
</string>
</key>
<value>
<string>
WebSection_viewRenderJSPreference
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Web Section
</string>
</value>
</item>
<item>
<key>
<string>
short_title
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
skin_selection_name
</string>
</key>
<value>
<string>
RJS
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
SlapOS Monitoring App
</string>
</value>
</item>
<item>
<key>
<string>
visible
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAU=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"WebSectionTraversalHook"
module=
"Products.ERP5.Document.WebSection"
/>
</pickle>
<pickle>
<dictionary/>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"5"
aka=
"AAAAAAAAAAU="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
category_publication_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAY=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
edit_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAc=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"6"
aka=
"AAAAAAAAAAY="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
publish
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1503929920.58
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
published
</string>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record
id=
"7"
aka=
"AAAAAAAAAAc="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
edit
</string>
</value>
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
zope
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
error_message
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
961.48181.3137.59750
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
<value>
<string>
current
</string>
</value>
</item>
<item>
<key>
<string>
time
</string>
</key>
<value>
<object>
<klass>
<global
name=
"DateTime"
module=
"DateTime.DateTime"
/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>
1504021642.59
</float>
<string>
UTC
</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment