Commit d50048bf authored by Paul Graydon's avatar Paul Graydon

ors_wendelin: Update client home page

parent 68538ec9
......@@ -250,7 +250,7 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>invalidate</string> </value>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
......@@ -278,7 +278,7 @@
</tuple>
<state>
<tuple>
<float>1680185454.55</float>
<float>1718027568.51</float>
<string>UTC</string>
</tuple>
</state>
......@@ -287,7 +287,7 @@
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>invalidated</string> </value>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
......
......@@ -5,7 +5,6 @@
var gadget_klass = rJS(window);
gadget_klass
.declareAcquiredMethod("getSetting", "getSetting")
.declareAcquiredMethod("jio_get", "jio_get")
......@@ -16,19 +15,18 @@
Plotly.Plots.resize(gadget.element.querySelector('.graph-initial-success-rate'));
Plotly.Plots.resize(gadget.element.querySelector('.graph-added-success-rate'));
});
})
})
.declareMethod('render', function (option_dict) {
var gadget = this,
i,
initial_success_data,
added_success_data,
label_list = ["vt", "vInititialEPSBEstabSR_lo","vInititialEPSBEstabSR_hi","vAddedEPSBEstabSR_lo", "vAddedEPSBEstabSR_hi"];
label_list = ["vt", "vInititialEPSBEstabSR_lo", "vInititialEPSBEstabSR_hi", "vAddedEPSBEstabSR_lo", "vAddedEPSBEstabSR_hi"];
return new RSVP.Queue().push(function () {
return wendelin.getArrayRawSlice(gadget, option_dict.data_array_key);
})
.push(function (result) {
var graph_data = nj.unpack(result.pick( null, label_list)),
var graph_data = nj.unpack(result.pick(null, label_list)),
date = [],
vInititialEPSBEstabSR_lo = [],
vInititialEPSBEstabSR_hi = [],
......@@ -111,7 +109,6 @@
}
}
);
Plotly.newPlot(
gadget.element.querySelector('.graph-added-success-rate'),
added_success_data,
......
......@@ -242,7 +242,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>1007.32863.55523.57719</string> </value>
<value> <string>1017.10919.17136.25378</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -262,7 +262,7 @@
</tuple>
<state>
<tuple>
<float>1680610679.89</float>
<float>1718093827.83</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -10,6 +10,7 @@
return value[column];
});
}
function allEqual(array, value) {
return array.every(function (current) {
return current === value;
......@@ -79,8 +80,7 @@
Plotly.Plots.resize(gadget.element.querySelector('.upload-link'));
Plotly.Plots.resize(gadget.element.querySelector('.download-link'));
});
})
})
.declareMethod('render', function (option_dict) {
var gadget = this,
i,
......@@ -159,7 +159,6 @@
}
}
);
Plotly.newPlot(
upload_link,
upload_data,
......
......@@ -242,7 +242,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>1007.34352.37418.49595</string> </value>
<value> <string>1017.12308.4841.3874</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -262,7 +262,7 @@
</tuple>
<state>
<tuple>
<float>1680699889.54</float>
<float>1718094024.82</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width" />
<title>ERP5 PT Frontpage</title>
<!--title>ORS Wendelin</title-->
<link rel="http://www.renderjs.org/rel/interface" href="interface_page.html">
<!-- renderjs -->
......@@ -22,5 +22,9 @@
</head>
<body>
<div data-gadget-scope="html_view" data-gadget-url="gadget_html_viewer.html" data-gadget-sandbox="public"></div>
<div data-gadget-sandbox="public" data-gadget-scope="form_view" data-gadget-url="gadget_erp5_pt_form_view.html"></div>
<ul>
</ul>
</body>
</html>
\ No newline at end of file
......@@ -240,7 +240,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>1007.27214.41940.31795</string> </value>
<value> <string>1018.13042.17329.57821</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -260,7 +260,7 @@
</tuple>
<state>
<tuple>
<float>1680271778.06</float>
<float>1721983817.51</float>
<string>UTC</string>
</tuple>
</state>
......
/*global window, rJS, RSVP, domsugar, SimpleQuery, ComplexQuery, Query,
console, URL, Error */
/*jslint nomen: true, indent: 2, maxerr: 3, maxlen: 80, continue:true */
(function () {
/*global window, rJS*/
/*jslint nomen: true, indent: 2, maxerr: 3, maxlen: 80, continue: true */
(function (window, rJS) {
"use strict";
var MAIN_SCOPE = 'child_scope',
document_reference_matching = /^[a-zA-Z0-9_.]+-.+/,
document_relative_url_matching = /^[a-z]+[a-z_]*_module\/[a-zA-Z0-9_]+/;
function SearchError(message, status_code) {
if ((message !== undefined) && (typeof message !== "string")) {
throw new TypeError('You must pass a string.');
}
this.message = message || "Default Message";
this.status_code = status_code || 500;
}
SearchError.prototype = new Error();
SearchError.prototype.constructor = SearchError;
function loadChildGadget(gadget, gadget_url, must_declare, callback) {
var queue,
child_gadget;
if (must_declare) {
queue = gadget.declareGadget(gadget_url, {scope: MAIN_SCOPE});
} else {
queue = gadget.getDeclaredGadget(MAIN_SCOPE);
}
return queue
.push(function (result) {
child_gadget = result;
if (callback) {
return callback(result);
}
})
.push(function (result) {
if (must_declare) {
domsugar(gadget.element, [
domsugar('div', {'class': 'page'}, [
child_gadget.element
])
]);
}
return result;
});
}
function createMultipleSimpleOrQuery(key, value_list) {
var i,
query_list = [];
if (!Array.isArray(value_list)) {
value_list = [value_list];
}
for (i = 0; i < value_list.length; i += 1) {
query_list.push(new SimpleQuery({
key: key,
operator: "=",
type: "simple",
value: value_list[i]
}));
}
if (value_list.len === 1) {
return query_list[0];
}
return new ComplexQuery({
operator: "OR",
query_list: query_list,
type: "complex"
});
}
function getFirstDocumentValue(gadget, select_list, search_dict) {
var query_list = Object.entries(search_dict).map(function (tuple) {
return createMultipleSimpleOrQuery(tuple[0], tuple[1]);
});
return gadget.jio_allDocs({
select_list: select_list,
query: Query.objectToSearchText(
new ComplexQuery({
operator: "AND",
type: "complex",
query_list: query_list
})
),
limit: [0, 2]
})
.push(function (result) {
if (result.data.rows.length === 0) {
throw new SearchError(
'Can find document matching ' + JSON.stringify(search_dict),
404
);
}
return result.data.rows[0].value;
});
}
function rewriteHTMLPageContent(gadget, html) {
var container = domsugar('div', {html: html}),
i,
a_list = container.querySelectorAll('a'),
url_options_list = [],
to_modify_a_list = [],
href;
for (i = 0; i < a_list.length; i += 1) {
href = a_list[i].getAttribute('href');
if (href !== null) {
if (document_reference_matching.test(href) && (!href.includes('/'))) {
// search for a document by reference reference
to_modify_a_list.push(a_list[i]);
url_options_list.push({
command: 'push_history',
options: {
page: gadget.state.page,
jio_key: href
}
});
} else if (document_relative_url_matching.test(href) &&
(!href.includes('view'))) {
// search for a document by reference reference
to_modify_a_list.push(a_list[i]);
url_options_list.push({
command: 'push_history',
options: {
jio_key: href
}
});
} else if ((href.indexOf('#!') === 0) || (href.indexOf('#/') === 0)) {
// ERP5JS anchor links
a_list[i].href = new URL(href, window.location.href);
} else {
// Compatibility layer with previous site
a_list[i].href = new URL(href, 'https://www.erp5.com/group_section/');
}
}
}
return gadget.getUrlForList(url_options_list)
.push(function (result_list) {
for (i = 0; i < to_modify_a_list.length; i += 1) {
to_modify_a_list[i].href = new URL(result_list[i],
window.location.href).href;
}
return container.innerHTML;
});
}
rJS(window)
/////////////////////////////////////////////////////////////////
// Acquired methods
/////////////////////////////////////////////////////////////////
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod("translate", "translate")
.declareAcquiredMethod("getUrlForList", "getUrlForList")
.declareAcquiredMethod("getUrlFor", "getUrlFor")
.declareAcquiredMethod("jio_allDocs", "jio_allDocs")
.declareAcquiredMethod("jio_get", "jio_get")
.declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("updatePanel", "updatePanel")
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod("getUrlParameter", "getUrlParameter")
.declareMethod('triggerSubmit', function () {
return;
})
////////////////////////////////////////////////////////////////////
// Go
////////////////////////////////////////////////////////////////////
.allowPublicAcquisition('updateHeader', function () {
return;
})
.allowPublicAcquisition('getUrlParameter', function (argument_list) {
return this.getUrlParameter(argument_list)
.push(function (result) {
if ((result === undefined) && (
(argument_list[0] === 'field_listbox_ors_sort_list:json')
)) {
return [['modification_date', 'descending']];
}
return result;
});
})
/////////////////////////////////////////////////////////////////
// declared methods
/////////////////////////////////////////////////////////////////
.declareMethod('render', function (options) {
return this.changeState({
first_render: true,
page: options.page,
jio_key: options.jio_key || 'ORS-WENDELIN.Home.Page',
// Force updating the content
render_timestamp: new Date().getTime()
});
})
var gadget = this;
.onStateChange(function (modification_dict) {
var gadget = this,
doc;
return loadChildGadget(
gadget,
"gadget_editor.html",
modification_dict.hasOwnProperty('first_render'),
function (editor_gadget) {
return getFirstDocumentValue(gadget,
['relative_url', 'title',
'asStrippedHTML'], {
reference: gadget.state.jio_key,
portal_type: 'Web Page',
validation_state: ['shared', 'shared_alive',
'released', 'released_alive',
'published', 'published_alive']
})
.push(function (result_dict) {
doc = result_dict;
return rewriteHTMLPageContent(gadget, result_dict.asStrippedHTML);
})
.push(function (text_content) {
return editor_gadget.render({
"editor": "fck_editor",
"editable": false,
"maximize": "auto",
"value": text_content
});
})
.push(function () {
return gadget.getUrlForList([
{command: 'history_previous'},
{command: 'display_erp5_action_with_history', options: {
jio_key: doc.relative_url,
page: 'view_editor',
editable: true
}}
]);
})
.push(function (url_list) {
return gadget.updateHeader({
page_title: 'Wiki: ' + doc.title,
page_icon: 'puzzle-piece',
front_url: url_list[0],
edit_url: url_list[1]
});
})
/*
.push(function () {
return gadget.updatePanel({
erp5_document: {
'_links': {
'action_object_view': [{
"name": "view",
"title": "View",
"href": "view",
"icon": null
}]
}
},
jio_key: doc.relative_url,
editable: true,
view: null
});
})
*/
.push(undefined, function (error) {
if ((error instanceof SearchError) &&
(error.status_code === 404)) {
// redirect to a search, to allow people understanding
// why the list is broken
return gadget.redirect({
command: "display_with_history",
options: {
page: "search",
extended_search: Query.objectToSearchText(
createMultipleSimpleOrQuery('reference',
gadget.state.jio_key)
)
return gadget.updateHeader({
page_title: 'ORS Wendelin'
})
.push(function () {
return gadget.getDeclaredGadget('html_view');
})
.push(function (html_gadget) {
var queue = gadget.declareGadget('ors_wendelin_home_message.html');
return queue.push(function (result) {
return html_gadget.render({ "value": result.element.innerHTML });
});
})
.push(function () {
return gadget.getDeclaredGadget('form_view');
})
.push(function (form_gadget) {
return form_gadget.render({
erp5_document: {
"_embedded": {
"_view": {
"listbox_ors": {
"column_list": [
['title', 'Title'],
['reference', 'Reference'],
['translated_validation_state_title', 'State']
],
"show_anchor": 0,
"default_params": {},
"editable": 1,
"editable_column_list": [],
"key": "field_listbox_ors",
"lines": 10,
"list_method": "portal_catalog",
"query": "urn:jio:allDocs?query=portal_type%3A%22Data%20Acquisition%20Unit%22",
"portal_type": ["Data Acquisition"],
"search_column_list": [],
"sort_column_list": [],
"title": "Open Radio Stations",
"type": "ListBox"
}
}, false);
}
},
"_links": {
"type": {
// form_list display portal_type in header
name: ""
}
}
throw error;
});
}
);
},
form_definition: {
group_list: [
[
"bottom",
[["listbox_ors"]]
]
]
}
});
});
});
}());
\ No newline at end of file
}(window, rJS));
\ No newline at end of file
......@@ -236,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>1007.27217.52338.34133</string> </value>
<value> <string>1018.13043.31705.44066</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -256,7 +256,7 @@
</tuple>
<state>
<tuple>
<float>1680271856.72</float>
<float>1721985955.28</float>
<string>UTC</string>
</tuple>
</state>
......
<h1>Welcome to ORS Wendelin</h1>
<div>Your registered Open Radio Stations are listed below.</div>
<li>ORS Device List: <a href="#!push_history?p.editable=true&n.jio_key=data_acquisition_unit_module">Link</a></li>
\ No newline at end of file
<div>To access the KPI graphs for an Open Radio Station, click on the corresponding list entry below. Then, in the <strong>Views</strong> menu on the left, click on <strong>E-RAB Accessibility KPI</strong> or <strong>E-UTRAN IP Throughput KPI</strong>, and the graph will be displayed.</div>
\ No newline at end of file
......@@ -10,9 +10,11 @@
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
......@@ -50,9 +52,11 @@
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
......@@ -69,7 +73,7 @@
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>ORS-WENDELIN.Home.Page</string> </value>
<value> <string>ors_wendelin_home_message.html</string> </value>
</item>
<item>
<key> <string>description</string> </key>
......@@ -83,9 +87,7 @@
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
<value> <string>en</string> </value>
</item>
<item>
<key> <string>short_title</string> </key>
......@@ -95,13 +97,11 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ORS WENDELIN Home Page</string> </value>
<value> <string>ORS Wendelin Home Message</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value>
<none/>
</value>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
......@@ -159,7 +159,7 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>share_alive</string> </value>
<value> <string>publish_alive</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
......@@ -187,7 +187,7 @@
</tuple>
<state>
<tuple>
<float>1680271985.42</float>
<float>1717425573.33</float>
<string>UTC</string>
</tuple>
</state>
......@@ -196,7 +196,7 @@
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>shared_alive</string> </value>
<value> <string>published_alive</string> </value>
</item>
</dictionary>
</list>
......@@ -236,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>1007.27226.19038.61952</string> </value>
<value> <string>1017.24204.40844.49612</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -256,7 +256,7 @@
</tuple>
<state>
<tuple>
<float>1680272308.71</float>
<float>1718807806.02</float>
<string>UTC</string>
</tuple>
</state>
......
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width" />
<title>ERP5 Panel</title>
<link rel="http://www.renderjs.org/rel/interface" href="interface_panel.html">
<!--
data-i18n=Editable
data-i18n=Home
data-i18n=Modules
data-i18n=Worklists
data-i18n=History
data-i18n=Search
data-i18n=Preferences
data-i18n=Logout
data-i18n=Views
data-i18n=Workflows
data-i18n=Actions
-->
<!-- renderjs -->
<script src="rsvp.js" type="text/javascript"></script>
<script src="renderjs.js" type="text/javascript"></script>
<script src="gadget_global.js" type="text/javascript"></script>
<!-- custom script -->
<script src="gadget_ors_wendelin_panel.js" type="text/javascript"></script>
</head>
<body>
<div>
<div data-role="header">
<div class="ui-btn-left">
<div class="ui-controlgroup-controls">
<button data-i18n="Close" class="ui-btn-icon-notext ui-icon-delete">Close</button>
</div>
</div>
<div class="panel_img" style="height: 80pt !important; padding-top: 10pt;">
<img alt="ERP5" src="telecom-nexedi-logos?format=png"/>
</div>
</div>
<div>
<!--form>
<button type="submit" class="ui-icon-action ui-btn-icon-right ui-screen-hidden">Submit</button>
<div data-gadget-url="gadget_erp5_searchfield.html"
data-gadget-scope="erp5_searchfield"
data-gadget-sandbox="public"></div>
</form-->
<ul></ul>
<!--div data-gadget-url="gadget_erp5_field_multicheckbox.html"
data-gadget-scope="erp5_checkbox"
data-gadget-sandbox="public"></div-->
<dl style="margin-top: 10pt;"></dl>
</div>
</div>
</body>
</html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Web Page" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Change_local_roles_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_ors_wendelin_panel.html</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>rjs_gadget_ors_wendelin_panel_html</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value> <string>en</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Web Page</string> </value>
</item>
<item>
<key> <string>short_title</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Gadget ORS Wendelin Panel</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>document_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>edit_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>processing_status_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish_alive</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <unicode>zope</unicode> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="DateTime" module="DateTime.DateTime"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<tuple>
<float>1721917655.25</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>published_alive</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <unicode>zope</unicode> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>1018.12053.13607.46489</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="DateTime" module="DateTime.DateTime"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<tuple>
<float>1721986238.09</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <unicode>zope</unicode> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>0.0.0.0</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="DateTime" module="DateTime.DateTime"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<tuple>
<float>1721916667.94</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/*jslint nomen: true, indent: 2, maxerr: 3, unparam: true */
/*global window, document, rJS, RSVP, Node, asBoolean , ensureArray*/
(function (window, document, rJS, RSVP, Node, asBoolean, ensureArray) {
"use strict";
function appendDt(fragment, dt_title, dt_icon,
action_list, href_list, index) {
// <dt class="ui-btn-icon-left ui-icon-eye">Views</dt>
// {{#each view_list}}
// <dd class="document-listview">
// <a class="{{class_name}}" href="{{href}}">{{title}}</a>
// </dd>
// {{/each}}
var dt_element = document.createElement('dt'),
dd_element,
a_element,
i;
dt_element.textContent = dt_title;
dt_element.setAttribute('class', 'ui-btn-icon-left ui-icon-' + dt_icon);
fragment.appendChild(dt_element);
for (i = 0; i < action_list.length; i += 1) {
dd_element = document.createElement('dd');
dd_element.setAttribute('class', 'document-listview');
a_element = document.createElement('a');
a_element.setAttribute('class', action_list[i].class_name);
a_element.href = href_list[index + i];
a_element.textContent = action_list[i].title;
dd_element.appendChild(a_element);
fragment.appendChild(dd_element);
}
}
rJS(window)
.setState({
visible: false
})
//////////////////////////////////////////////
// acquired method
//////////////////////////////////////////////
.declareAcquiredMethod("getUrlForList", "getUrlForList")
.declareAcquiredMethod("getTranslationList", "getTranslationList")
.declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("getUrlParameter", "getUrlParameter")
.allowPublicAcquisition("notifyFocus", function notifyFocus() {
// All html5 fields in ERP5JS triggers this method when focus
// is triggered. This is usefull to display error text.
// But, in the case of this gadget, we don't need to handle anything.
return;
})
.allowPublicAcquisition("notifyBlur", function notifyFocus() {
// All html5 fields in ERP5JS triggers this method when blur
// is triggered now. This is usefull to display error text.
// But, in the case of this gadget, we don't need to handle anything.
return;
})
/////////////////////////////////////////////////////////////////
// declared methods
/////////////////////////////////////////////////////////////////
.declareMethod('toggle', function toggle() {
return this.changeState({
visible: !this.state.visible
});
})
.declareMethod('close', function close() {
return this.changeState({
visible: false
});
})
.declareMethod('render', function render(options) {
var erp5_document = options.erp5_document,
jio_key = options.jio_key,
view = options.view,
visible = options.visible,
display_workflow_list,
context = this,
workflow_list,
view_list,
action_list,
i;
if (visible === undefined) {
visible = context.state.visible;
}
if (options.display_workflow_list === undefined) {
display_workflow_list = true;
} else {
display_workflow_list = asBoolean(options.display_workflow_list);
}
if ((erp5_document !== undefined) && (jio_key !== undefined)) {
workflow_list = ensureArray(erp5_document._links.action_workflow);
view_list = ensureArray(erp5_document._links.action_object_view);
action_list = ensureArray(erp5_document._links.action_object_jio_action)
.concat(ensureArray(erp5_document._links.action_object_jio_button))
.concat(ensureArray(erp5_document._links.action_object_jio_fast_input));
if (view === 'view') {
for (i = 0; i < view_list.length; i += 1) {
view_list[i].class_name = view_list[i].name === view ? 'active' : '';
}
} else {
for (i = 0; i < workflow_list.length; i += 1) {
workflow_list[i].class_name = workflow_list[i].href === view ? 'active' : '';
}
for (i = 0; i < view_list.length; i += 1) {
view_list[i].class_name = view_list[i].href === view ? 'active' : '';
}
for (i = 0; i < action_list.length; i += 1) {
action_list[i].class_name = action_list[i].href === view ? 'active' : '';
}
}
// Prevent has much as possible to modify the DOM panel
// stateChange prefer to compare strings
workflow_list = JSON.stringify(workflow_list);
view_list = JSON.stringify(view_list);
action_list = JSON.stringify(action_list);
}
return context.getUrlParameter('editable')
.push(function (editable) {
return context.changeState({
visible: visible,
display_workflow_list: display_workflow_list,
workflow_list: workflow_list,
view_list: view_list,
action_list: action_list,
global: true,
jio_key: jio_key,
editable: asBoolean(options.editable) || asBoolean(editable) || false
});
});
})
.onStateChange(function onStateChange(modification_dict) {
var context = this,
gadget = this,
workflow_list,
queue = new RSVP.Queue();
if (modification_dict.hasOwnProperty("visible")) {
if (this.state.visible) {
if (!this.element.classList.contains('visible')) {
this.element.classList.toggle('visible');
}
} else {
if (this.element.classList.contains('visible')) {
this.element.classList.remove('visible');
}
}
}
/*
if (modification_dict.hasOwnProperty("global")) {
queue
.push(function () {
return context.getDeclaredGadget('erp5_searchfield');
})
.push(function (search_gadget) {
return search_gadget.render({
focus: false,
extended_search: ''
});
});
}
*/
if (modification_dict.hasOwnProperty("editable")) {
queue
// Update the global links
.push(function () {
return RSVP.all([
context.getUrlForList([
{command: 'display'},
//{command: 'display', options: {page: "front"}},
//{command: 'display', options: {page: "worklist"}},
{command: 'display', options: {page: "history"}},
//{command: 'display_stored_state', options: {page: "search"}},
{command: 'display', options: {page: "preference"}},
//{command: 'display', options: {page: "portal_callables"}},
//{command: 'display', options: {page: "ingestion_policies"}},
{command: 'display', options: {page: "logout"}}
]),
context.getTranslationList([
'Editable',
'Home',
//'Modules',
//'Worklists',
'History',
//'Search',
'Preferences',
//'Callables',
//'Ingestion Policies',
'Logout'
])
//context.getDeclaredGadget("erp5_checkbox")
]);
})
.push(function (result_list) {
var editable_value = [],
i,
ul_fragment = document.createDocumentFragment(),
a_element,
li_element,
icon_and_key_list = [
'home', null,
//'puzzle-piece', 'm',
//'tasks', 'w',
'history', 'h',
//'search', 's',
'sliders', null,
//'code', null,
//'upload', null,
'power-off', 'o'
],
ul_element = context.element.querySelector("ul");
for (i = 0; i < result_list[0].length; i += 1) {
// <li><a href="URL" class="ui-btn-icon-left ui-icon-ICON" data-i18n="TITLE" accesskey="KEY"></a></li>
a_element = document.createElement('a');
li_element = document.createElement('li');
a_element.href = result_list[0][i];
a_element.setAttribute('class', 'ui-btn-icon-left ui-icon-' + icon_and_key_list[2 * i]);
if (icon_and_key_list[2 * i + 1] !== null) {
a_element.setAttribute('accesskey', icon_and_key_list[2 * i + 1]);
}
a_element.textContent = result_list[1][i + 1];
li_element.appendChild(a_element);
ul_fragment.appendChild(li_element);
}
while (ul_element.firstChild) {
ul_element.removeChild(ul_element.firstChild);
}
ul_element.appendChild(ul_fragment);
/*
// Update the checkbox field value
if (context.state.editable) {
editable_value = ['editable'];
}
return result_list[2].render({field_json: {
editable: true,
name: 'editable',
key: 'editable',
hidden: false,
items: [[result_list[1][0], 'editable']],
'default': editable_value
}});
*/
});
}
if ((this.state.global === true) &&
(modification_dict.hasOwnProperty("editable") ||
modification_dict.hasOwnProperty("workflow_list") ||
modification_dict.hasOwnProperty("action_list") ||
modification_dict.hasOwnProperty("jio_key") ||
modification_dict.hasOwnProperty("view_list"))) {
if (this.state.view_list === undefined) {
gadget.element.querySelector("dl").textContent = '';
} else {
queue
.push(function () {
var i = 0,
parameter_list = [],
view_list = JSON.parse(gadget.state.view_list),
action_list = JSON.parse(gadget.state.action_list);
workflow_list = JSON.parse(gadget.state.workflow_list);
for (i = 0; i < view_list.length; i += 1) {
parameter_list.push({
command: 'display_with_history',
options: {
jio_key: gadget.state.jio_key,
view: view_list[i].href
}
});
}
for (i = 0; i < workflow_list.length; i += 1) {
parameter_list.push({
command: 'display_dialog_with_history',
options: {
jio_key: gadget.state.jio_key,
view: workflow_list[i].href
}
});
}
for (i = 0; i < action_list.length; i += 1) {
parameter_list.push({
command: 'display_dialog_with_history',
options: {
jio_key: gadget.state.jio_key,
view: action_list[i].href
}
});
}
return RSVP.all([
gadget.getUrlForList(parameter_list),
gadget.getTranslationList(['Views', 'Workflows', 'Actions'])
]);
})
.push(function (result_list) {
var dl_element,
dl_fragment = document.createDocumentFragment(),
view_list = JSON.parse(gadget.state.view_list),
action_list = JSON.parse(gadget.state.action_list);
appendDt(dl_fragment, result_list[1][0], 'eye',
view_list, result_list[0], 0);
if (gadget.state.display_workflow_list) {
// show Workflows only on document
appendDt(dl_fragment, result_list[1][1], 'random',
workflow_list, result_list[0], view_list.length);
}
appendDt(dl_fragment, result_list[1][2], 'cogs',
action_list, result_list[0],
view_list.length + workflow_list.length);
dl_element = gadget.element.querySelector("dl");
while (dl_element.firstChild) {
dl_element.removeChild(dl_element.firstChild);
}
dl_element.appendChild(dl_fragment);
});
}
}
return queue;
})
/////////////////////////////////////////////////////////////////
// declared services
/////////////////////////////////////////////////////////////////
.onEvent('click', function click(evt) {
if ((evt.target.nodeType === Node.ELEMENT_NODE) &&
(evt.target.tagName === 'BUTTON')) {
return this.toggle();
}
}, false, false)
.allowPublicAcquisition('notifyChange', function notifyChange(
argument_list,
scope
) {
if (scope === 'erp5_checkbox') {
var context = this;
return context.getDeclaredGadget('erp5_checkbox')
.push(function (gadget) {
return gadget.getContent();
})
.push(function (result) {
var options = {editable: undefined};
if (result.editable.length === 1) {
options.editable = true;
}
return context.redirect({command: 'change', options: options}, true);
});
}
// Typing a search query should not modify the header status
return;
}, {mutex: 'changestate'})
.allowPublicAcquisition('notifyValid', function notifyValid() {
// Typing a search query should not modify the header status
return;
})
/* .onEvent('submit', function submit() {
var gadget = this,
search_gadget,
redirect_options = {
page: "search"
};
return gadget
.getDeclaredGadget("erp5_searchfield")
.push(function (declared_gadget) {
search_gadget = declared_gadget;
return search_gadget.getContent();
})
.push(function (data) {
if (data.search) {
redirect_options.extended_search = data.search;
}
// let the search gadget know its current state (value and focus)
// in order to be able to zero it out in the next Promise
// input gadget's state does not reflect immediate reality
// so we need to manage its state from the parent
return search_gadget.render({
extended_search: data.search,
focus: true
});
})
.push(function () {
// we want the search field in side panel to be empty and blured
return search_gadget.render({
extended_search: '',
focus: false // we don't want focus on the empty field for sure
});
})
.push(function () {
return gadget.redirect({command: 'store_and_display', options: redirect_options}, true);
});
}, false, true);
*/
}(window, document, rJS, RSVP, Node, asBoolean, ensureArray));
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Web Script" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Change_local_roles_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_ors_wendelin_panel.js</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>rjs_gadget_ors_wendelin_panel_js</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value> <string>en</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Web Script</string> </value>
</item>
<item>
<key> <string>short_title</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Gadget ORS Wendelin Panel JS</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>document_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>edit_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>processing_status_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish_alive</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <unicode>zope</unicode> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="DateTime" module="DateTime.DateTime"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<tuple>
<float>1721917644.2</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>published_alive</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <unicode>zope</unicode> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>1018.13067.57075.39645</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="DateTime" module="DateTime.DateTime"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<tuple>
<float>1721986260.92</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <unicode>zope</unicode> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>0.0.0.0</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="DateTime" module="DateTime.DateTime"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<tuple>
<float>1721915826.16</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -6,6 +6,24 @@
</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>
......@@ -49,7 +67,24 @@
<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>
......@@ -102,7 +137,7 @@
<key>
<tuple>
<int>99</int>
<string>ERP5 Web Site/ors_runner</string>
<string>ERP5 Web Site/ors_wendelin_front</string>
</tuple>
</key>
<value>
......@@ -342,7 +377,7 @@
</item>
<item>
<key> <string>configuration_application_title</string> </key>
<value> <string>ERP5</string> </value>
<value> <string>ORS Wendelin</string> </value>
</item>
<item>
<key> <string>configuration_content_security_policy</string> </key>
......@@ -362,13 +397,13 @@
</item>
<item>
<key> <string>configuration_header_gadget_url</string> </key>
<value>
<none/>
</value>
<value> <string>gadget_erp5_header.html</string> </value>
</item>
<item>
<key> <string>configuration_icon_url</string> </key>
<value> <string>favicon.ico</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>configuration_jio_gadget_url</string> </key>
......@@ -382,11 +417,13 @@
</item>
<item>
<key> <string>configuration_panel_gadget_url</string> </key>
<value> <string>gadget_erp5_panel.html</string> </value>
<value> <string>gadget_ors_wendelin_panel.html</string> </value>
</item>
<item>
<key> <string>configuration_precache_manifest_script_list</string> </key>
<value> <string>WebSection_getORSRunnerPrecacheManifestList</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>configuration_precache_manifest_url_list</string> </key>
......@@ -434,7 +471,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ors_runner</string> </value>
<value> <string>ors_wendelin_front</string> </value>
</item>
<item>
<key> <string>int_index</string> </key>
......@@ -484,7 +521,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ORS Runner</string> </value>
<value> <string>ORS Wendelin</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
......@@ -600,13 +637,11 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<none/>
</value>
<value> <string>publish</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
<value> <unicode>zope</unicode> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -630,7 +665,7 @@
</tuple>
<state>
<tuple>
<float>1680076676.69</float>
<float>1718011174.28</float>
<string>UTC</string>
</tuple>
</state>
......@@ -639,7 +674,7 @@
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>embedded</string> </value>
<value> <string>published</string> </value>
</item>
</dictionary>
</list>
......@@ -679,7 +714,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>1007.44114.37887.20087</string> </value>
<value> <string>1018.11925.26567.59340</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -699,7 +734,7 @@
</tuple>
<state>
<tuple>
<float>1681286302.69</float>
<float>1721916860.74</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -446,7 +446,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
<value> <unicode>zope</unicode> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -460,7 +460,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>1007.23965.61990.64136</string> </value>
<value> <string>1015.62830.47806.62054</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -480,7 +480,7 @@
</tuple>
<state>
<tuple>
<float>1680076689.65</float>
<float>1714745211.07</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -368,7 +368,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
<value> <unicode>zope</unicode> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -382,7 +382,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>1007.23965.61990.64136</string> </value>
<value> <string>1015.62830.47806.62054</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -402,7 +402,7 @@
</tuple>
<state>
<tuple>
<float>1680076689.64</float>
<float>1714745211.06</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -8,5 +8,6 @@ portal_callables/IngestionPolicy_parseORSTag
portal_ingestion_policies/ors_ingestion
web_page_module/ndarray_bundle.js
web_page_module/ors_*
web_site_module/ors_runner
web_site_module/ors_runner/**
\ No newline at end of file
web_page_module/rjs_gadget_ors_*
web_site_module/ors_wendelin_front
web_site_module/ors_wendelin_front/**
\ No newline at end of file
......@@ -10,5 +10,6 @@ portal_callables/IngestionPolicy_parseORSTag
portal_ingestion_policies/ors_ingestion
web_page_module/ndarray_bundle.js
web_page_module/ors_*
web_site_module/ors_runner
web_site_module/ors_runner/**
\ No newline at end of file
web_page_module/rjs_gadget_ors_*
web_site_module/ors_wendelin_front
web_site_module/ors_wendelin_front/**
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment