Commit 057e6666 authored by Vincent Bechu's avatar Vincent Bechu

erp5_officejs: get last version of bookmark manager from officejs production

parent 18449e47
......@@ -437,6 +437,12 @@ NETWORK:\n
<key> <string>title</string> </key>
<value> <string>CKEDITOR Gadget AppCache</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -107,6 +107,12 @@
<key> <string>title</string> </key>
<value> <string>CKEditor Gadget</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -101,6 +101,12 @@
<key> <string>title</string> </key>
<value> <string>CKEditor Gadget JS</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -186,6 +186,12 @@ NETWORK:\n
<key> <string>title</string> </key>
<value> <string>RenderJS Gadget OfficeJS AppCache</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -140,6 +140,12 @@
<key> <string>title</string> </key>
<value> <string>OfficeJS Application Panel Gadget</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -66,7 +66,7 @@
key,
value,
i,
queue = gadget.translateHtml(panel_template_header() + panel_template_body());
queue = gadget.translateHtml(panel_template_header() + panel_template_body({"location": window.location.origin + window.location.pathname}));
queue
.push(function (my_translated_or_plain_html) {
......
......@@ -252,7 +252,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>supercedriclen</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -266,7 +266,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>956.47493.18553.34594</string> </value>
<value> <string>957.598.45791.65518</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -284,7 +284,7 @@
</tuple>
<state>
<tuple>
<float>1484749934.29</float>
<float>1485868259.98</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -107,14 +107,22 @@
</item>
<item>
<key> <string>text_content</string> </key>
<value> <string>CACHE MANIFEST\n
<value> <string encoding="cdata"><![CDATA[
CACHE MANIFEST\n
# generated on Fri, 09 Dec 2016 11:45:33 +0000\n
# XXX + fonts\n
# images/ajax-loader.gif\n
CACHE:\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.eot?v=4.2.0\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.woff?v=4.2.0\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.ttf?v=4.2.0\n
https://netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular\n
jio_mappingstorage.js\n
erp5_launcher.js\n
bookmark_manager_landing_page.html\n
gadget_erp5.css\n
gadget_erp5_editor_panel.html\n
gadget_erp5_editor_panel.js\n
......@@ -126,10 +134,14 @@ gadget_officejs_bookmark_manager_panel.html\n
gadget_officejs_bookmark_manager_router.html\n
gadget_officejs_header.html\n
gadget_officejs_header.js\n
gadget_officejs_page_document_list.html\n
gadget_officejs_page_document_list.js\n
gadget_officejs_jio.html\n
gadget_officejs_jio.js\n
gadget_officejs_jio_url_view.html\n
gadget_officejs_jio_url_view.js\n
gadget_officejs_page_add_document.html\n
gadget_officejs_page_add_document.js\n
gadget_officejs_page_add_bookmark.html\n
gadget_officejs_page_add_bookmark.js\n
gadget_officejs_page_bookmark_dispatcher.html\n
......@@ -142,6 +154,10 @@ gadget_officejs_page_jio_configurator.html\n
gadget_officejs_page_jio_configurator.js\n
gadget_officejs_page_jio_dav_configurator.html\n
gadget_officejs_page_jio_dav_configurator.js\n
gadget_officejs_page_jio_erp5_configurator.js\n
gadget_officejs_page_jio_erp5_configurator.html\n
gadget_officejs_page_jio_dropbox_configurator.html\n
gadget_officejs_page_jio_dropbox_configurator.js\n
gadget_officejs_page_sync.html\n
gadget_officejs_page_sync.js\n
gadget_officejs_router.js\n
......@@ -150,6 +166,8 @@ gadget_officejs_widget_listbox.js\n
gadget_translation_data.js\n
gadget_translation.html\n
gadget_translation.js\n
gadget_officejs_liberator.html\n
gadget_officejs_liberator.js\n
handlebars.js\n
jiodev.js\n
jquery.js\n
......@@ -158,12 +176,20 @@ jquerymobile.js\n
renderjs.js\n
rsvp.js\n
NETWORK:\n
*</string> </value>
*
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>RenderJS Gadget OfficeJS Bookmark Manager AppCache</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......@@ -293,7 +319,7 @@ NETWORK:\n
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>955.55156.38503.48725</string> </value>
<value> <string>957.11988.60494.51524</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -311,7 +337,7 @@ NETWORK:\n
</tuple>
<state>
<tuple>
<float>1481277406.23</float>
<float>1486551690.48</float>
<string>UTC</string>
</tuple>
</state>
......
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="favicon.ico">
<title>Bookmark Manager</title>
<link href="//netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="jquerymobile.css">
<link rel="stylesheet" href="gadget_erp5.css">
<script data-renderjs-configuration="application_title" type="text/x-renderjs-configuration">Bookmark Manager</script>
<script data-renderjs-configuration="panel_gadget" type="text/x-renderjs-configuration">gadget_officejs_bookmark_manager_panel.html</script>
<script data-renderjs-configuration="action_view" type="text/x-renderjs-configuration">object_view</script>
<script data-renderjs-configuration="default_view_reference" type="text/x-renderjs-configuration">view</script>
<script data-renderjs-configuration="hateoas_url" type="text/x-renderjs-configuration">hateoas/</script>
<script src="jquery.js"></script>
<script src="jquerymobile.js"></script>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="gadget_global.js" ></script>
<script src="erp5_launcher.js"></script>
</head>
<body>
<div data-role="page">
<div data-gadget-url="gadget_jio.html"
data-gadget-scope="setting_gadget"
data-gadget-sandbox="public"></div>
<div data-gadget-url="gadget_officejs_bookmark_manager_router.html"
data-gadget-scope="router"
data-gadget-sandbox="public"></div>
<div data-gadget-url="gadget_translation.html"
data-gadget-scope="translation_gadget"
data-gadget-sandbox="public"></div>
<div data-gadget-url="gadget_officejs_header.html"
data-gadget-scope="header"
data-gadget-sandbox="public"></div>
<div data-gadget-url="gadget_officejs_jio.html"
data-gadget-scope="jio_gadget"
data-gadget-sandbox="public"></div>
<div data-gadget-url="gadget_erp5_editor_panel.html"
data-gadget-scope="editor_panel"
data-gadget-sandbox="public"></div>
<div data-gadget-url="gadget_officejs_bookmark_manager_panel.html"
data-gadget-scope="panel"
data-gadget-sandbox="public"></div>
<div role="main" class="ui-content gadget-content"></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>
<string>Owner</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>
<string>Owner</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>bookmark_manager_landing_page.html</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_officejs_bookmark_manager_gadget_landing_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>Bookmark Manager Landing Page</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</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.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish_alive</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1485781950.11</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>
</tuple>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<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>956.64904.8681.12748</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>1485955236.21</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>0.0.0.0</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1485770925.12</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
......@@ -39,8 +39,8 @@
<li><a href="#page=bookmark_dispatcher" data-i18n="Search">Search</a></li>
<li><a href="#page=bookmark_preference" data-i18n="Preferences">Preferences</a></li>
<li><a href="#page=jio_configurator" data-i18n="Storage Configuration">Storage Configuration</a></li>
<li><a href="#page=sync" data-i18n="Synchronization">Synchronization</a></li>
<li class="ui-last-child"><a href="#page=logout" data-i18n="Logout">Logout</a></li>
<li><a href="#page=sync&auto_repair=true" data-i18n="Synchronize">Synchronize</a></li>
<li><a href="https://www.cribjs.com/#page=jio_crib_configurator&application_name=Bookmark Manager&communication_gadget={{location}}gadget_officejs_liberator.html" data-i18n="Edit Me">Edit Me</a></li>
</ul>
</div>
</script>
......
......@@ -140,6 +140,12 @@
<key> <string>title</string> </key>
<value> <string>OfficeJS Application Panel Gadget</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......@@ -269,7 +275,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>955.26769.37270.921</string> </value>
<value> <string>956.64903.6566.48281</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -287,7 +293,7 @@
</tuple>
<state>
<tuple>
<float>1483018311.81</float>
<float>1485866827.11</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -14,9 +14,10 @@
</head>
<body>
<script data-renderjs-configuration="portal_type" type="text/x-renderjs-configuration">Url</script>
<script data-renderjs-configuration="parent_relative_url" type="text/x-renderjs-configuration">url_module</script>
<script data-renderjs-configuration="portal_type" type="text/x-renderjs-configuration">Bookmark</script>
<script data-renderjs-configuration="parent_relative_url" type="text/x-renderjs-configuration">bookmark_module</script>
<script data-renderjs-configuration="document_title" type="text/x-renderjs-configuration">Bookmark</script>
<script data-renderjs-configuration="document_title_plural" type="text/x-renderjs-configuration">Bookmarks</script>
<script data-renderjs-configuration="global_setting_gadget_url" type="text/x-renderjs-configuration">../officejs_setting_gadget/</script>
</body>
</html>
\ No newline at end of file
......@@ -140,6 +140,12 @@
<key> <string>title</string> </key>
<value> <string>OfficeJS Bookmark Manager router Gadget</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......@@ -269,7 +275,10 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>953.62288.29074.44236</string> </value>
<value> <string>957.377.3106.25634</string> </value>
</item>
<item>
<key> <string>state</string> </key>
</item>
<item>
<key> <string>state</string> </key>
......@@ -287,7 +296,9 @@
</tuple>
<state>
<tuple>
<float>1479657727.07</float>
<float>1486569400.95</float>
<string>UTC</string>
</tuple>
<string>UTC</string>
</tuple>
</state>
......
/*global window, rJS, RSVP, URI, location,
loopEventListener, btoa */
/*jslint nomen: true, indent: 2, maxerr: 3*/
(function (window, rJS, RSVP) {
"use strict";
function setjIODAVConfiguration(gadget) {
return gadget.getSetting("portal_type")
.push(function (portal_type) {
var old_date = new Date(),
configuration = {};
// We are looking for documents modified in the past 3 month
old_date = new Date(old_date.getFullYear(), old_date.getMonth() - 3);
configuration = {
type: "replicate",
// XXX This drop the signature lists...
query: {
query: 'portal_type:"' + portal_type + '" ',
// XX Synchonizing the whole module is too much, here is a way to start quietly
//+ 'AND local_roles: ("Owner") '
//+ 'AND validation_state: ("draft", "released_alive", "shared_alive", "published_alive") ',
limit: [0, 1234567890]
},
use_remote_post: false,
conflict_handling: 2,
check_local_modification: true,
check_local_creation: true,
check_local_deletion: true,
check_remote_modification: true,
check_remote_creation: true,
check_remote_deletion: true,
local_sub_storage: {
type: "mapping",
attachment_mapping_dict: {
'data': {
get: {uri_template: 'enclosure'},
put: {uri_template: 'enclosure'}
}
},
sub_storage: {
type: "query",
sub_storage: {
type: "uuid",
sub_storage: {
type: "indexeddb",
database: "officejs-dav"
}
}
}
},
remote_sub_storage: {
type: "mapping",
attachment_mapping_dict: {
'data': {
get: {uri_template: 'enclosure'},
put: {uri_template: 'enclosure'}
}
},
sub_storage: {
type: "query",
sub_storage: {
type: "drivetojiomapping",
sub_storage: {
type: "mapping",
mapping_dict: {
"portal_type": {
"equal": "type",
"value": {
"switch": {
"PDF": {
"equal": "pdf"
},
"Web Text": {
"equal": "txt"
}
}
}
}
},
sub_storage: {
type: "dav",
url: gadget.props.element.querySelector("input[name='dav_url']").value,
basic_login: btoa(gadget.props.element.querySelector("input[name='dav_username']").value
+ ':' + gadget.props.element.querySelector("input[name='dav_password']").value),
with_credentials: true
}
}
}
}
}
};
return gadget.setSetting('jio_storage_description', configuration);
})
.push(function () {
return gadget.setSetting('jio_storage_name', "DAV");
})
.push(function () {
return gadget.reload();
});
}
var gadget_klass = rJS(window);
gadget_klass
.ready(function (g) {
g.props = {};
return g.getElement()
.push(function (element) {
g.props.element = element;
g.props.deferred = RSVP.defer();
return g.getSetting('jio_storage_name');
})
.push(function (jio_storage_name) {
if (jio_storage_name === "DAV") {
return g.getSetting('jio_storage_description')
.push(function (jio_storage_description) {
g.props.element.querySelector("input[name='dav_url']").value =
jio_storage_description.remote_sub_storage.sub_storage.sub_storage.url;
});
}
});
})
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("reload", "reload")
.declareAcquiredMethod("getSetting", "getSetting")
.declareAcquiredMethod("setSetting", "setSetting")
.declareMethod("render", function () {
var gadget = this;
return gadget.updateHeader({
title: "Connect To DAV Storage",
back_url: "#page=jio_configurator",
panel_action: false
}).push(function () {
return gadget.props.deferred.resolve();
});
})
/////////////////////////////////////////
// Form submit
/////////////////////////////////////////
.declareService(function () {
var gadget = this;
return new RSVP.Queue()
.push(function () {
return gadget.props.deferred.promise;
})
.push(function () {
return loopEventListener(
gadget.props.element.querySelector('form'),
'submit',
true,
function () {
return setjIODAVConfiguration(gadget);
}
);
});
});
}(window, rJS, RSVP));
\ No newline at end of file
<?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>
<string>Owner</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>
<string>Owner</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/javascript</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>dav_delete.js</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_officejs_dav_delete_js</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Web Script</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>dav_delete</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</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.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish_alive</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1485781878.74</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>
</tuple>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<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>956.64653.18502.64853</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>1485781872.54</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>0.0.0.0</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1485779356.31</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
This source diff could not be displayed because it is too large. You can view the blob instead.
<?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>
<string>Owner</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>
<string>Owner</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>handlebars.js</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_officejs_handlebars_js</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Web Page</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>handlebars JS</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</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.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish_alive</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1485779992.59</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>
</tuple>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<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>956.64658.11040.49834</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>1485779668.98</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>0.0.0.0</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1485779255.66</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
......@@ -105,6 +105,12 @@
<key> <string>title</string> </key>
<value> <string>Gadget OfficeJS Header</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -101,6 +101,12 @@
<key> <string>title</string> </key>
<value> <string>Gadget OfficeJS Header JS</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -12,14 +12,12 @@
<script class="view-web-page-template" type="text/x-handlebars-template">
<a href="{{url_string}}" style="display: block; text-align: center; font-size: 1.7em;">{{url_string}}</a>
<form class="view-web-page-form">
<div class="center">
<div class="ui-field-contain">
<label data-i18n="Title:">Title:</label>
<input type="text" name="title" value="{{title}}">
</div>
<div class="ui-field-contain">
<label data-i18n="Url:">Url:</label>
<input type="text" name="url_string" value="{{url_string}}">
......@@ -38,7 +36,7 @@
</script>
<script src="gadget_officejs_jio_url_view.js"></script>
<script src="gadget_officejs_jio_bookmark_view.js"></script>
</head>
......
......@@ -75,7 +75,7 @@
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_officejs_jio_url_view.html</string> </value>
<value> <string>gadget_officejs_jio_bookmark_view.html</string> </value>
</item>
<item>
<key> <string>description</string> </key>
......@@ -85,7 +85,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_officejs_jio_url_view_html</string> </value>
<value> <string>gadget_officejs_jio_bookmark_view_html</string> </value>
</item>
<item>
<key> <string>language</string> </key>
......@@ -97,22 +97,20 @@
<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>OfficeJS Jio Bookmark View</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -193,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1468958515.0</float>
<float>1485781391.48</float>
<string>UTC</string>
</tuple>
</state>
......@@ -238,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>955.49823.4948.58316</string> </value>
<value> <string>958.24259.25538.21094</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -256,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1480959906.78</float>
<float>1493732989.43</float>
<string>UTC</string>
</tuple>
</state>
......@@ -279,7 +277,9 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
......@@ -295,7 +295,7 @@
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
......@@ -313,7 +313,7 @@
</tuple>
<state>
<tuple>
<float>1468958471.49</float>
<float>1485779339.13</float>
<string>UTC</string>
</tuple>
</state>
......
/*globals window, rJS, Handlebars, RSVP, loopEventListener, console*/
/*jslint indent: 2, nomen: true, maxlen: 80*/
(function (window, RSVP, rJS, Handlebars, loopEventListener) {
"use strict";
function saveContent(gadget, submit_event) {
var i,
doc = gadget.options.doc,
now = new Date();
return new RSVP.Queue()
.push(function () {
return RSVP.all([
gadget.getSetting("portal_type"),
gadget.getSetting("parent_relative_url")
]);
})
.push(function (answer_list) {
doc.portal_type = answer_list[0];
doc.parent_relative_url = answer_list[1];
doc.modification_date = now.toISOString();
for (i = 0; i < submit_event.target.length; i += 1) {
// XXX Should check input type instead
if (submit_event.target[i].name) {
doc[submit_event.target[i].name] = submit_event.target[i].value;
}
}
return gadget.put(gadget.options.jio_key, doc);
});
}
var gadget_klass = rJS(window),
source = gadget_klass.__template_element
.querySelector(".view-web-page-template")
.innerHTML,
template = Handlebars.compile(source);
gadget_klass
.ready(function (g) {
g.props = {};
g.options = null;
return g.getElement()
.push(function (element) {
g.props.element = element;
g.props.deferred = RSVP.defer();
});
})
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod('getSetting', 'getSetting')
.declareAcquiredMethod("get", "jio_get")
.declareAcquiredMethod("translateHtml", "translateHtml")
.declareAcquiredMethod("put", "jio_put")
.declareAcquiredMethod('allDocs', 'jio_allDocs')
.declareAcquiredMethod("redirect", "redirect")
.allowPublicAcquisition('triggerSubmit', function () {
return this.props.element.querySelector('button').click();
})
.declareMethod('triggerSubmit', function () {
return this.props.element.querySelector('button').click();
})
.declareMethod("render", function (options) {
var gadget = this;
gadget.options = options;
gadget.options.doc.title = gadget.options.doc.title || "";
return new RSVP.Queue()
.push(function () {
return gadget.translateHtml(template(options.doc));
})
.push(function (html) {
gadget.props.element.innerHTML = html;
return gadget.updateHeader({
title: options.doc.title + " | Bookmark",
save_action: true
});
})
.push(function () {
return gadget.props.deferred.resolve();
});
})
/////////////////////////////////////////
// Render text content gadget
/////////////////////////////////////////
.declareService(function () {
var gadget = this,
text_gadget = null;
return new RSVP.Queue()
.push(function () {
return gadget.props.deferred.promise;
});
})
/////////////////////////////////////////
// Form submit
/////////////////////////////////////////
.declareService(function () {
var gadget = this;
return new RSVP.Queue()
.push(function () {
return gadget.props.deferred.promise;
})
.push(function () {
return loopEventListener(
gadget.props.element.querySelector('form'),
'submit',
true,
function (event) {
return saveContent(gadget, event)
.push(function () {
return gadget.redirect({page: "bookmark_list"});
});
}
);
});
});
/*globals window, rJS, Handlebars, RSVP, loopEventListener, console*/
/*jslint indent: 2, nomen: true, maxlen: 80*/
(function (window, RSVP, rJS, Handlebars, loopEventListener) {
"use strict";
function saveContent(gadget, submit_event) {
var i,
doc = gadget.options.doc,
now = new Date();
doc.parent_relative_url = "bookmark_module";
doc.portal_type = "Bookmark";
doc.modification_date = now.toISOString();
for (i = 0; i < submit_event.target.length; i += 1) {
// XXX Should check input type instead
if (submit_event.target[i].name) {
doc[submit_event.target[i].name] = submit_event.target[i].value;
}
}
return new RSVP.Queue()
.push(function () {
return gadget.put(gadget.options.jio_key, doc);
});
}
function maximize(gadget) {
var iframe = gadget.props.element.querySelector('iframe'),
iframe_class_string = iframe.getAttribute('class') || "",
class_name = "ui-content-maximize",
class_index = iframe_class_string.indexOf(class_name);
if (class_index === -1) {
iframe_class_string += ' ' + class_name;
iframe.setAttribute('style', '');
iframe.setAttribute('class', iframe_class_string);
return;
}
iframe_class_string = iframe_class_string.substring(0, class_index)
+ iframe_class_string.substring(class_index + class_name.length);
iframe.setAttribute('style', 'width:100%; border: 0 none; height: 600px');
iframe.setAttribute('class', iframe_class_string);
return;
}
var gadget_klass = rJS(window),
source = gadget_klass.__template_element
.querySelector(".view-web-page-template")
.innerHTML,
template = Handlebars.compile(source);
gadget_klass
.ready(function (g) {
g.props = {};
g.options = null;
return g.getElement()
.push(function (element) {
g.props.element = element;
g.props.deferred = RSVP.defer();
});
})
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod("get", "jio_get")
.declareAcquiredMethod("translateHtml", "translateHtml")
.declareAcquiredMethod("put", "jio_put")
.declareAcquiredMethod('allDocs', 'jio_allDocs')
.declareAcquiredMethod("redirect", "redirect")
.allowPublicAcquisition('triggerMaximize', function () {
var gadget = this;
return RSVP.Queue()
.push(function () {
return maximize(gadget);
})
.fail(function (e) {
console.log(e);
});
})
.allowPublicAcquisition('triggerSubmit', function () {
return this.props.element.querySelector('button').click();
})
.declareMethod('triggerSubmit', function () {
return this.props.element.querySelector('button').click();
})
.declareMethod("render", function (options) {
var gadget = this;
gadget.options = options;
gadget.options.doc.title = gadget.options.doc.title || "";
return new RSVP.Queue()
.push(function () {
return gadget.translateHtml(template(options.doc));
})
.push(function (html) {
gadget.props.element.innerHTML = html;
return gadget.updateHeader({
title: options.doc.title + " | Bookmark",
save_action: true
});
})
.push(function () {
return gadget.props.deferred.resolve();
});
})
/////////////////////////////////////////
// Render text content gadget
/////////////////////////////////////////
.declareService(function () {
var gadget = this,
text_gadget = null;
return new RSVP.Queue()
.push(function () {
return gadget.props.deferred.promise;
});
})
/////////////////////////////////////////
// Form submit
/////////////////////////////////////////
.declareService(function () {
var gadget = this;
return new RSVP.Queue()
.push(function () {
return gadget.props.deferred.promise;
})
.push(function () {
return loopEventListener(
gadget.props.element.querySelector('form'),
'submit',
true,
function (event) {
return saveContent(gadget, event);
}
);
});
});
}(window, RSVP, rJS, Handlebars, loopEventListener));
\ No newline at end of file
......@@ -69,9 +69,13 @@
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_officejs_jio_url_view.js</string> </value>
<value> <string>gadget_officejs_jio_bookmark_view.js</string> </value>
</item>
<item>
<key> <string>description</string> </key>
......@@ -81,7 +85,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_officejs_jio_url_view_js</string> </value>
<value> <string>gadget_officejs_jio_bookmark_view_js</string> </value>
</item>
<item>
<key> <string>language</string> </key>
......@@ -93,22 +97,20 @@
<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>OfficeJS Jio Bookmark view JS</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -189,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1468958553.47</float>
<float>1485781322.76</float>
<string>UTC</string>
</tuple>
</state>
......@@ -234,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>955.49845.11611.51046</string> </value>
<value> <string>956.64652.63438.53777</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -252,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1480959915.54</float>
<float>1485781314.69</float>
<string>UTC</string>
</tuple>
</state>
......@@ -275,7 +277,9 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
......@@ -291,7 +295,7 @@
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
......@@ -309,7 +313,7 @@
</tuple>
<state>
<tuple>
<float>1468958530.09</float>
<float>1485779337.2</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -103,6 +103,12 @@
<key> <string>title</string> </key>
<value> <string>Jio Gadget for OfficeJS</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -101,6 +101,12 @@
<key> <string>title</string> </key>
<value> <string>Jio Gadget JS</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -143,11 +143,15 @@
<value> <string>OfficeJS Jio Web Illustration View</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -259,7 +263,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>supercedriclen</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -273,7 +277,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>951.29240.27236.54562</string> </value>
<value> <string>956.64450.52709.9386</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -291,7 +295,7 @@
</tuple>
<state>
<tuple>
<float>1464253011.4</float>
<float>1485781082.56</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -139,11 +139,15 @@
<value> <string>OfficeJS Jio Web Illustration View JS</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -269,7 +273,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>954.15924.25382.7799</string> </value>
<value> <string>956.64450.52709.9386</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -287,7 +291,7 @@
</tuple>
<state>
<tuple>
<float>1475164165.45</float>
<float>1485781045.04</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -108,11 +108,15 @@
<value> <string>OfficeJS Jio Web Page View</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -232,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>954.38520.8745.1109</string> </value>
<value> <string>956.64450.52709.9386</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -250,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1476433509.51</float>
<float>1485781000.66</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -104,11 +104,15 @@
<value> <string>OfficeJS Jio Web Page View JS</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -228,7 +232,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>954.15935.39380.57002</string> </value>
<value> <string>956.64450.52709.9386</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -246,7 +250,7 @@
</tuple>
<state>
<tuple>
<float>1475164868.59</float>
<float>1485780967.55</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, user-scalable=no" />
<title>Jio Gadget</title>
<!-- renderjs -->
<script src="rsvp.js" type="text/javascript"></script>
<script src="renderjs.js" type="text/javascript"></script>
<script src="jiodev.js" type="text/javascript"></script>
<!-- custom script -->
<script src="gadget_officejs_liberator.js" type="text/javascript"></script>
</head>
<body>
</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>
<string>Owner</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>
<string>Owner</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_officejs_liberator.html</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Jio access</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_officejs_liberator_html</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</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>Liberator Gadget</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</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.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish_alive</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1485781795.26</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>
</tuple>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<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>956.64903.6566.48281</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>1485868069.39</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>0.0.0.0</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1485779372.4</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
/*global window, rJS, jIO, FormData, RSVP, MessageChannel */
/*jslint indent: 2, maxerr: 3 */
(function (window, rJS, jIO, MessageChannel, RSVP) {
"use strict";
rJS(window)
.ready(function (gadget) {
gadget.state_parameter_dict = {};
})
.declareMethod('createStorage', function (erp5_url) {
this.state_parameter_dict.jio_storage = jIO.createJIO({
use_remote_post: false,
conflict_handling: 1,
check_local_modification: true,
check_local_creation: true,
check_local_deletion: false,
check_remote_modification: false,
check_remote_creation: false,
check_remote_deletion: false,
type: "replicate",
query: {query: 'content_type: "text%"'},
signature_storage: {
type: "indexeddb",
database: "sync_hash"
},
local_sub_storage: {
type: "uuid",
sub_storage: {
type: "query",
sub_storage: {
type: "indexeddb",
database: window.location.origin +
window.location.pathname.replace(
"gadget_officejs_liberator.html",
""
)
}
}
},
remote_sub_storage: {
type: "mapping",
id: ["equalSubProperty", "url_string"],
property: {
"relative_url": ["ignore"],
"version": ["ignore"]
},
sub_storage: {
type: "erp5",
url: erp5_url + "/hateoas",
default_view_reference: "jio_view"
}
}
});
})
.declareMethod('allDocs', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.allDocs.apply(storage, arguments);
})
.declareMethod('allAttachments', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.allAttachments.apply(storage, arguments);
})
.declareMethod('get', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.get.apply(storage, arguments);
})
.declareMethod('put', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.put.apply(storage, arguments);
})
.declareMethod('post', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.post.apply(storage, arguments);
})
.declareMethod('remove', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.remove.apply(storage, arguments);
})
.declareMethod('getAttachment', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.getAttachment.apply(storage, arguments);
})
.declareMethod('putAttachment', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.putAttachment.apply(storage, arguments);
})
.declareMethod('removeAttachment', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.removeAttachment.apply(storage, arguments);
})
.declareMethod('repair', function () {
var storage = this.state_parameter_dict.jio_storage;
return storage.repair.apply(storage, arguments);
});
}(window, rJS, jIO, MessageChannel, RSVP));
\ No newline at end of file
......@@ -2,30 +2,36 @@
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Web Section" module="erp5.portal_type"/>
<global name="Web Script" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<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>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_folders_Permission</string> </key>
<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>_Copy_or_Move_Permission</string> </key>
<key> <string>_Change_local_roles_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
......@@ -34,123 +40,62 @@
</value>
</item>
<item>
<key> <string>_Delete_objects_Permission</string> </key>
<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>_Modify_portal_content_Permission</string> </key>
<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>
<string>Owner</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>
<key> <string>content_md5</string> </key>
<value>
<dictionary>
<item>
<key>
<tuple>
<int>99</int>
<string>ERP5 Web Section/rjsunsafe</string>
</tuple>
</key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
<none/>
</value>
</item>
<item>
<key> <string>__translation_dict</string> </key>
<value>
<dictionary/>
</value>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>_identity_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
<key> <string>default_reference</string> </key>
<value> <string>gadget_officejs_liberator.js</string> </value>
</item>
<item>
<key> <string>_range_criterion</string> </key>
<key> <string>description</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
<none/>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>caching_policy/must-revalidate</string>
</tuple>
</value>
<key> <string>id</string> </key>
<value> <string>gadget_officejs_liberator_js</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<key> <string>language</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>rjsunsafe</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Web Section</string> </value>
<value> <string>Web Script</string> </value>
</item>
<item>
<key> <string>short_title</string> </key>
......@@ -158,66 +103,30 @@
<none/>
</value>
</item>
<item>
<key> <string>skin_selection_name</string> </key>
<value> <string>RJSUnsafe</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>RJS Unsafe</string> </value>
<value> <string>Liberator Gadget JS</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<key> <string>url_string</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
<none/>
</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>
<key> <string>version</string> </key>
<value> <string>001</string> </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>
<key> <string>workflow_history</string> </key>
<value>
<dictionary/>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
......@@ -228,15 +137,21 @@
<value>
<dictionary>
<item>
<key> <string>category_publication_workflow</string> </key>
<key> <string>document_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>edit_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAc=</string> </persistent>
<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>
......@@ -245,7 +160,7 @@
</dictionary>
</pickle>
</record>
<record id="6" aka="AAAAAAAAAAY=">
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
</pickle>
......@@ -256,9 +171,7 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<none/>
</value>
<value> <string>publish_alive</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
......@@ -284,7 +197,7 @@
</tuple>
<state>
<tuple>
<float>1468083731.46</float>
<float>1485781694.71</float>
<string>UTC</string>
</tuple>
</state>
......@@ -293,14 +206,14 @@
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>embedded</string> </value>
<value> <string>published_alive</string> </value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record id="7" aka="AAAAAAAAAAc=">
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
</pickle>
......@@ -329,7 +242,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>952.28990.12586.6929</string> </value>
<value> <string>956.64692.55224.61132</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -347,7 +260,66 @@
</tuple>
<state>
<tuple>
<float>1478604794.1</float>
<float>1485781806.83</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>0.0.0.0</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1485779370.64</float>
<string>UTC</string>
</tuple>
</state>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS Add Bookmark</title>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="handlebars.js"></script>
<script src="gadget_officejs_page_add_bookmark.js"></script>
</head>
<body>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS Add Bookmark</title>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="handlebars.js"></script>
<script src="gadget_officejs_page_add_bookmark.js"></script>
</head>
<body>
</body>
</html>
\ No newline at end of file
......@@ -63,14 +63,6 @@
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>contributor/person_module/1</string>
</tuple>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value>
......@@ -81,14 +73,6 @@
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>creators</string> </key>
<value>
<tuple>
<string>cedric.le.ninivin</string>
</tuple>
</value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_officejs_page_add_bookmark.html</string> </value>
......@@ -109,45 +93,24 @@
<none/>
</value>
</item>
<item>
<key> <string>modification_date</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1455284351.46</float>
<string>UTC</string>
</tuple>
</state>
</object>
</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>OfficeJS Add Bookmark</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -228,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1471549670.93</float>
<float>1485780873.2</float>
<string>UTC</string>
</tuple>
</state>
......@@ -273,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>953.21235.57104.50295</string> </value>
<value> <string>956.64678.36333.6946</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -291,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1474013662.65</float>
<float>1485780894.37</float>
<string>UTC</string>
</tuple>
</state>
......@@ -314,7 +277,9 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
......@@ -330,7 +295,7 @@
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
......@@ -348,7 +313,7 @@
</tuple>
<state>
<tuple>
<float>1471549602.17</float>
<float>1485779320.09</float>
<string>UTC</string>
</tuple>
</state>
......
/*globals window, RSVP, rJS*/
/*jslint indent: 2, nomen: true, maxlen: 80*/
(function (window, RSVP, rJS) {
"use strict";
var gadget_klass = rJS(window);
gadget_klass
.ready(function (g) {
g.props = {};
return g.getElement()
.push(function (element) {
g.props.element = element;
g.props.deferred = RSVP.defer();
});
})
.declareAcquiredMethod("post", "jio_post")
.declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod('getSetting', 'getSetting')
.declareMethod("render", function (options) {
var gadget = this;
gadget.props.options = options;
return new RSVP.Queue()
.push(function () {
return RSVP.all([
gadget.getSetting("portal_type"),
gadget.getSetting("document_title"),
gadget.getSetting("parent_relative_url")
]);
}).push(function (answer_list) {
gadget.props.portal_type = answer_list[0];
gadget.props.document_title = answer_list[1];
gadget.props.parent_relative_url = answer_list[2];
return gadget.updateHeader({
title: "New " + gadget.props.document_title
});
})
.push(function () {
gadget.props.deferred.resolve();
});
})
.declareService(function () {
var gadget = this;
return new RSVP.Queue()
.push(function () {
return gadget.props.deferred.promise;
})
.push(function () {
var doc = {
// XXX Hardcoded
parent_relative_url: gadget.props.parent_relative_url,
portal_type: gadget.props.portal_type
};
return gadget.post(doc);
})
.push(function (data) {
return gadget.redirect({
jio_key: data,
page: "view"
});
});
});
/*globals window, RSVP, rJS*/
/*jslint indent: 2, nomen: true, maxlen: 80*/
(function (window, RSVP, rJS) {
"use strict";
var gadget_klass = rJS(window);
gadget_klass
.ready(function (g) {
g.props = {};
return g.getElement()
.push(function (element) {
g.props.element = element;
g.props.deferred = RSVP.defer();
});
})
.declareAcquiredMethod("post", "jio_post")
.declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod('getSetting', 'getSetting')
.declareMethod("render", function (options) {
var gadget = this;
gadget.props.options = options;
return new RSVP.Queue()
.push(function () {
return RSVP.all([
gadget.getSetting("portal_type"),
gadget.getSetting("document_title"),
gadget.getSetting("parent_relative_url")
]);
}).push(function (answer_list) {
gadget.props.portal_type = answer_list[0];
gadget.props.document_title = answer_list[1];
gadget.props.parent_relative_url = answer_list[2];
return gadget.updateHeader({
title: "New " + gadget.props.document_title
});
})
.push(function () {
gadget.props.deferred.resolve();
});
})
.declareService(function () {
var gadget = this;
return new RSVP.Queue()
.push(function () {
return gadget.props.deferred.promise;
})
.push(function () {
var doc = {
// XXX Hardcoded
parent_relative_url: gadget.props.parent_relative_url,
portal_type: gadget.props.portal_type
};
return gadget.post(doc);
})
.push(function (data) {
return gadget.redirect({
jio_key: data,
page: "view"
});
});
});
}(window, RSVP, rJS));
\ No newline at end of file
......@@ -63,14 +63,6 @@
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>contributor/person_module/1</string>
</tuple>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value>
......@@ -78,12 +70,8 @@
</value>
</item>
<item>
<key> <string>creators</string> </key>
<value>
<tuple>
<string>cedric.le.ninivin</string>
</tuple>
</value>
<key> <string>content_type</string> </key>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
......@@ -105,45 +93,24 @@
<none/>
</value>
</item>
<item>
<key> <string>modification_date</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1455284351.49</float>
<string>UTC</string>
</tuple>
</state>
</object>
</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>OfficeJS Add Bookmark JS</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -224,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1471549673.52</float>
<float>1485780820.98</float>
<string>UTC</string>
</tuple>
</state>
......@@ -269,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>953.21219.58513.54579</string> </value>
<value> <string>956.64652.42771.37444</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -287,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1474013855.64</float>
<float>1485780817.22</float>
<string>UTC</string>
</tuple>
</state>
......@@ -310,7 +277,9 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
......@@ -326,7 +295,7 @@
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
......@@ -344,7 +313,7 @@
</tuple>
<state>
<tuple>
<float>1471549600.18</float>
<float>1485779318.49</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -144,9 +144,7 @@
</item>
<item>
<key> <string>version</string> </key>
<value>
<none/>
</value>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
......@@ -259,7 +257,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>supercedriclen</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -273,7 +271,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>951.28177.1205.52650</string> </value>
<value> <string>956.64450.52709.9386</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -291,7 +289,7 @@
</tuple>
<state>
<tuple>
<float>1464189188.67</float>
<float>1485956755.12</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -140,9 +140,7 @@
</item>
<item>
<key> <string>version</string> </key>
<value>
<none/>
</value>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
......@@ -255,7 +253,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>supercedriclen</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -269,7 +267,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>951.28187.42881.35293</string> </value>
<value> <string>956.64450.52709.9386</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -287,7 +285,7 @@
</tuple>
<state>
<tuple>
<float>1464189839.22</float>
<float>1485956748.55</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -26,4 +26,4 @@
</form>
</body>
</html>
</html>
\ No newline at end of file
......@@ -143,11 +143,15 @@
<value> <string>OfficeJS Bookmark Dispatcher</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -273,7 +277,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>955.22589.46402.6092</string> </value>
<value> <string>956.64677.1467.64529</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -291,7 +295,7 @@
</tuple>
<state>
<tuple>
<float>1479469812.2</float>
<float>1485780792.24</float>
<string>UTC</string>
</tuple>
</state>
......
/*globals window, RSVP, rJS*/
/*jslint indent: 2, nomen: true, maxlen: 80*/
(function (window, RSVP, rJS) {
"use strict";
function getSearchedString() {
var regex = new RegExp("[\\#?&]search=([^&]*)"),
results = regex.exec(window.location.hash);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
function updateSearchUrl(event) {
var gadget = this;
makeOptionDict(gadget)
.push(function() {
return gadget.getSetting("option");
})
.push(function(option) {
return gadget.getUrlFor(option);
})
.push(function(url) {
url = window.location.href + url;
gadget.props.element.getElementsByClassName("search-engine-url")[0].innerHTML = url;
});
}
rJS(window)
.ready(function (g) {
g.props = {};
return g.getElement()
.push(function (element) {
g.props.element = element;
});
})
.declareAcquiredMethod("translate", "translate")
.declareAcquiredMethod("getUrlFor", "getUrlFor")
.declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod('getSetting', 'getSetting')
.declareAcquiredMethod("jio_allDocs", "jio_allDocs")
.declareAcquiredMethod("getSetting", "getSetting")
.declareAcquiredMethod("setSetting", "setSetting")
.declareMethod("render", function (options) {
var gadget = this,
portal_type = null,
gadget_option_dict = options,
option = {
auto_redirect: false,
search_engine: ""
};
return new RSVP.Queue()
.push(gadget.updateHeader({title: 'Search in Bookmarks'}))
.push(function () {
return gadget.getSetting("portal_type")
.push(function(result) {
portal_type = result;
});
})
.push(function (){
return gadget.getSetting("option")
.push(function(result) {
if (result) {
option = result;
}
});
})
.push(function () {
var search = gadget_option_dict.search,
query = "";
if (search) {
query = {
query: '(title:"%' + search + '%" OR url_string:"%' + search + '%" OR description:"%' + search + '%") AND portal_type:"' + portal_type + '"',
select_list: ['title', 'url_string', 'description'],
};
return gadget.jio_allDocs(query)
.push(function (query_result) {
var result_list_length = query_result.data.rows.length;
// if 0 result, let's search with a real search engine
if (result_list_length === 0 && option.search_engine !== '') {
window.location.href = option.search_engine + window.encodeURIComponent(search);
}
// if 1 result, we go there
else if (result_list_length === 1 && option.auto_redirect === true) {
window.location.href = query_result.data.rows[0].value.url_string;
}
else {
return gadget.getUrlFor({page: "bookmark_list", search: window.encodeURIComponent(search)})
.push(function (url) {
window.location.href = url;
});
}
});
}
});
})
.onEvent("submit", function () {
var gadget = this;
//var option_parameter = gadget.getSetting("option");
var option_parameter = {
search: window.encodeURIComponent(gadget.props.element.getElementsByTagName('input')[0].value),
page: 'bookmark_dispatcher'
};
return gadget.getUrlFor(option_parameter)
.push(function (url) {
window.location.href = url;
});
});
/*globals window, RSVP, rJS*/
/*jslint indent: 2, nomen: true, maxlen: 80*/
(function (window, RSVP, rJS) {
"use strict";
function getSearchedString() {
var regex = new RegExp("[\\#?&]search=([^&]*)"),
results = regex.exec(window.location.hash);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
function updateSearchUrl(event) {
var gadget = this;
makeOptionDict(gadget)
.push(function() {
return gadget.getSetting("option");
})
.push(function(option) {
return gadget.getUrlFor(option);
})
.push(function(url) {
url = window.location.href + url;
gadget.props.element.getElementsByClassName("search-engine-url")[0].innerHTML = url;
});
}
rJS(window)
.ready(function (g) {
g.props = {};
return g.getElement()
.push(function (element) {
g.props.element = element;
});
})
.declareAcquiredMethod("translate", "translate")
.declareAcquiredMethod("getUrlFor", "getUrlFor")
.declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod('getSetting', 'getSetting')
.declareAcquiredMethod("jio_allDocs", "jio_allDocs")
.declareAcquiredMethod("getSetting", "getSetting")
.declareAcquiredMethod("setSetting", "setSetting")
.declareMethod("render", function (options) {
var gadget = this,
portal_type = null,
option = {
auto_redirect: false,
search_engine: ""
};
return new RSVP.Queue()
.push(gadget.updateHeader({title: 'Search in Bookmarks'}))
.push(function () {
return gadget.getSetting("portal_type")
.push(function(result) {
portal_type = result;
});
})
.push(function (){
return gadget.getSetting("option")
.push(function(result) {
if (result) {
option = result;
}
});
})
.push(function () {
var search = window.decodeURIComponent(getSearchedString()),
query = "";
if (search) {
query = {
query: '(title:"%' + search + '%" OR url_string:"%' + search + '%" OR description:"%' + search + '%") AND portal_type:"' + portal_type + '"',
select_list: ['title', 'url_string', 'description'],
};
return gadget.jio_allDocs(query)
.push(function (query_result) {
var result_list_length = query_result.data.rows.length;
// if 0 result, let's search with a real search engine
if (result_list_length === 0 && option.search_engine !== '') {
window.location.href = option.search_engine + window.encodeURIComponent(search);
}
// if 1 result, we go there
else if (result_list_length === 1 && option.auto_redirect === true) {
window.location.href = query_result.data.rows[0].value.url_string;
}
else {
return gadget.getUrlFor({page: "bookmark_list", search: window.encodeURIComponent(search)})
.push(function (url) {
window.location.href = url;
});
}
});
}
});
})
.onEvent("submit", function () {
var gadget = this;
//var option_parameter = gadget.getSetting("option");
var option_parameter = {
search: window.encodeURIComponent(gadget.props.element.getElementsByTagName('input')[0].value),
page: 'bookmark_dispatcher'
};
return gadget.getUrlFor(option_parameter)
.push(function (url) {
window.location.href = url;
});
});
}(window, RSVP, rJS));
\ No newline at end of file
......@@ -63,14 +63,6 @@
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>contributor/person_module/1</string>
</tuple>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value>
......@@ -78,12 +70,8 @@
</value>
</item>
<item>
<key> <string>creators</string> </key>
<value>
<tuple>
<string>cedric.le.ninivin</string>
</tuple>
</value>
<key> <string>content_type</string> </key>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
......@@ -105,45 +93,24 @@
<none/>
</value>
</item>
<item>
<key> <string>modification_date</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1455284352.18</float>
<string>UTC</string>
</tuple>
</state>
</object>
</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>OfficeJS Bookmark Dispatcher JS</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -224,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1478605449.85</float>
<float>1485780752.49</float>
<string>UTC</string>
</tuple>
</state>
......@@ -269,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>955.49852.11197.39970</string> </value>
<value> <string>956.64652.37486.36010</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -287,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1480959188.76</float>
<float>1485780744.68</float>
<string>UTC</string>
</tuple>
</state>
......@@ -310,7 +277,9 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
......@@ -326,7 +295,7 @@
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
......@@ -344,7 +313,7 @@
</tuple>
<state>
<tuple>
<float>1478605233.57</float>
<float>1485779312.96</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -143,11 +143,15 @@
<value> <string>OfficeJS Bookmark List</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -273,7 +277,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>955.8037.23694.47974</string> </value>
<value> <string>956.64450.52709.9386</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -291,7 +295,7 @@
</tuple>
<state>
<tuple>
<float>1478536688.15</float>
<float>1485780721.46</float>
<string>UTC</string>
</tuple>
</state>
......
/*globals window, RSVP, rJS*/
/*jslint indent: 2, nomen: true, maxlen: 80*/
(function (window, RSVP, rJS) {
"use strict";
rJS(window)
.ready(function (g) {
g.props = {};
return g.getElement()
.push(function (element) {
g.props.element = element;
});
})
.ready(function (g) {
return new RSVP.Queue()
.push(function () {
return RSVP.all([
g.translate("validated"),
g.translate("invalidated"),
g.translate("Not synced!"),
g.translate("Waiting for approval")
]);
})
.push(function (result_list) {
g.props.translation_dict = {
"validated": result_list[0],
"invalidated": result_list[1],
"Not synced!": result_list[2],
"Waiting for approval": result_list[3]
};
});
})
.declareAcquiredMethod("translate", "translate")
.declareAcquiredMethod("getUrlFor", "getUrlFor")
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod('getSetting', 'getSetting')
.declareAcquiredMethod("jio_allDocs", "jio_allDocs")
.allowPublicAcquisition("jio_allDocs", function (param_list) {
var gadget = this;
return this.jio_allDocs.apply(this, param_list)
.push(function (result) {
var i,
len;
for (i = 0, len = result.data.total_rows; i < len; i += 1) {
// XXX jIO does not create UUID with module inside
if (result.data.rows[i].id.indexOf("module") === -1) {
result.data.rows[i].value.state =
gadget.props.translation_dict["Not synced!"];
} else {
result.data.rows[i].value.state =
gadget.props.translation_dict[
result.data.rows[i].value.local_state ||
"Waiting for approval"
];
}
}
return result;
});
})
.declareMethod("render", function (options) {
var gadget = this;
return new RSVP.Queue()
.push(function () {
return RSVP.all([
gadget.getSetting("portal_type"),
gadget.getSetting("bookmark_title_plural")
]);
})
.push(function (answer_list) {
gadget.props.portal_type = answer_list[0];
gadget.props.bookmark_title_plural = answer_list[1];
return gadget.getUrlFor({page: "add_bookmark"});
})
.push(function (url) {
return gadget.updateHeader({
title: gadget.props.bookmark_title_plural,
add_url: url
});
})
.push(function () {
return gadget.getDeclaredGadget("listbox");
})
.push(function (listbox) {
return listbox.render({
search_page: 'bookmark_list',
search: options.search,
column_list: [{
select: 'title',
title: 'Title'
}, {
select: 'url_string',
title: 'URL'
}, {
select: 'description',
title: 'Description'
}],
query: {
query: 'portal_type:("' + gadget.props.portal_type + '")',
select_list: ['title', 'url_string', 'description'],
limit: [0, 30],
sort_on: [["modification_date", "descending"]]
}
});
});
});
/*globals window, RSVP, rJS*/
/*jslint indent: 2, nomen: true, maxlen: 80*/
(function (window, RSVP, rJS) {
"use strict";
rJS(window)
.ready(function (g) {
g.props = {};
return g.getElement()
.push(function (element) {
g.props.element = element;
});
})
.ready(function (g) {
return new RSVP.Queue()
.push(function () {
return RSVP.all([
g.translate("validated"),
g.translate("invalidated"),
g.translate("Not synced!"),
g.translate("Waiting for approval")
]);
})
.push(function (result_list) {
g.props.translation_dict = {
"validated": result_list[0],
"invalidated": result_list[1],
"Not synced!": result_list[2],
"Waiting for approval": result_list[3]
};
});
})
.declareAcquiredMethod("translate", "translate")
.declareAcquiredMethod("getUrlFor", "getUrlFor")
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod('getSetting', 'getSetting')
.declareAcquiredMethod("jio_allDocs", "jio_allDocs")
.allowPublicAcquisition("jio_allDocs", function (param_list) {
var gadget = this;
return this.jio_allDocs.apply(this, param_list)
.push(function (result) {
var i,
len;
for (i = 0, len = result.data.total_rows; i < len; i += 1) {
// XXX jIO does not create UUID with module inside
if (result.data.rows[i].id.indexOf("module") === -1) {
result.data.rows[i].value.state =
gadget.props.translation_dict["Not synced!"];
} else {
result.data.rows[i].value.state =
gadget.props.translation_dict[
result.data.rows[i].value.local_state ||
"Waiting for approval"
];
}
}
return result;
});
})
.declareMethod("render", function (options) {
var gadget = this;
return new RSVP.Queue()
.push(function () {
return RSVP.all([
gadget.getSetting("portal_type"),
gadget.getSetting("document_title_plural")
]);
})
.push(function (answer_list) {
gadget.props.portal_type = answer_list[0];
gadget.props.bookmark_title_plural = answer_list[1];
return gadget.getUrlFor({page: "add_bookmark"});
})
.push(function (url) {
return gadget.updateHeader({
title: gadget.props.bookmark_title_plural,
add_url: url
});
})
.push(function () {
return gadget.getDeclaredGadget("listbox");
})
.push(function (listbox) {
return listbox.render({
search_page: 'bookmark_list',
search: options.search,
column_list: [{
select: 'title',
title: 'Title'
}, {
select: 'url_string',
title: 'URL'
}, {
select: 'description',
title: 'Description'
}],
query: {
query: 'portal_type:("' + gadget.props.portal_type + '")',
select_list: ['title', 'url_string', 'description'],
limit: [0, 30],
sort_on: [["modification_date", "descending"]]
}
});
});
});
}(window, RSVP, rJS));
\ No newline at end of file
......@@ -63,14 +63,6 @@
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>contributor/person_module/1</string>
</tuple>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value>
......@@ -78,12 +70,8 @@
</value>
</item>
<item>
<key> <string>creators</string> </key>
<value>
<tuple>
<string>cedric.le.ninivin</string>
</tuple>
</value>
<key> <string>content_type</string> </key>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
......@@ -105,45 +93,24 @@
<none/>
</value>
</item>
<item>
<key> <string>modification_date</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1455284352.18</float>
<string>UTC</string>
</tuple>
</state>
</object>
</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>OfficeJS Bookmark List JS</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -224,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1468955568.76</float>
<float>1485780679.17</float>
<string>UTC</string>
</tuple>
</state>
......@@ -269,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>953.62286.195.51114</string> </value>
<value> <string>956.64652.30281.58163</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -287,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1478609077.97</float>
<float>1485780674.63</float>
<string>UTC</string>
</tuple>
</state>
......@@ -310,7 +277,9 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
......@@ -326,7 +295,7 @@
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
......@@ -344,7 +313,7 @@
</tuple>
<state>
<tuple>
<float>1468955459.16</float>
<float>1485779306.52</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -108,11 +108,15 @@
<value> <string>OfficeJS Bookmark Preference</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -238,7 +242,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>955.26757.64302.42649</string> </value>
<value> <string>956.64450.52709.9386</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -256,7 +260,7 @@
</tuple>
<state>
<tuple>
<float>1483369683.96</float>
<float>1485780641.43</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -108,11 +108,15 @@
<value> <string>OfficeJS Bookmark Preference JS</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -238,7 +242,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>955.61034.43590.15752</string> </value>
<value> <string>956.64450.52709.9386</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -256,7 +260,7 @@
</tuple>
<state>
<tuple>
<float>1483369693.2</float>
<float>1485780623.37</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -144,9 +144,7 @@
</item>
<item>
<key> <string>version</string> </key>
<value>
<none/>
</value>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
......@@ -259,7 +257,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>supercedriclen</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -273,7 +271,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>951.28165.23904.20428</string> </value>
<value> <string>956.64450.52709.9386</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -291,7 +289,7 @@
</tuple>
<state>
<tuple>
<float>1464188540.8</float>
<float>1485956743.96</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -140,9 +140,7 @@
</item>
<item>
<key> <string>version</string> </key>
<value>
<none/>
</value>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
......@@ -249,7 +247,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>supercedriclen</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -263,7 +261,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>951.28163.54980.41130</string> </value>
<value> <string>956.64450.52709.9386</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -281,7 +279,7 @@
</tuple>
<state>
<tuple>
<float>1464188897.32</float>
<float>1485956738.35</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -54,23 +54,30 @@
<section class="ui-body-c ui-content-section">
<p>Select a storage to synchronize your data with</p>
<!--div class="select-storage ui-controlgroup ui-controlgroup-horizontal"-->
<div class="ui-grid-b ui-responsive">
<div class="ui-grid-a ui-responsive">
<div class="ui-block-a">
<form class="select-dav-form" style="margin-right: .3125em; margin-left: .3125em;">
<button class="ui-btn ui-btn-b" type="submit" data-i18n="DAV Storage">DAV Storage</button>
</form>
</div>
<div class="ui-block-b">
<form class="select-erp5-form" style="margin-right: .3125em; margin-left: .3125em;">
<button class="ui-btn ui-btn-b" type="submit" data-i18n="ERP5">ERP5</button>
</form>
</div>
<div class="ui-block-c">
<div class="ui-block-b">
<form class="select-local-form" style="margin-right: .3125em; margin-left: .3125em;">
<button class="ui-btn ui-btn-b" type="submit" data-i18n="Local is Enough">Local is Enough</button>
</form>
</div>
</div>
<div class="ui-grid-a ui-responsive">
<div class="ui-block-a">
<form class="select-dav-form" style="margin-right: .3125em; margin-left: .3125em;">
<button class="ui-btn ui-btn-b" type="submit" data-i18n="DAV Storage">DAV Storage</button>
</form>
</div>
<div class="ui-block-b">
<form class="select-dropbox-form" style="margin-right: .3125em; margin-left: .3125em;">
<button class="ui-btn ui-btn-b" type="submit" data-i18n="Dropbox">Dropbox</button>
</form>
</div>
</div>
<!--/div-->
</section>
</article>
......
......@@ -105,6 +105,12 @@
<key> <string>title</string> </key>
<value> <string>OfficeJS jIO Configurator Gadget</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......@@ -234,7 +240,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>954.38531.13446.10769</string> </value>
<value> <string>956.64450.52709.9386</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -252,7 +258,7 @@
</tuple>
<state>
<tuple>
<float>1476434371.85</float>
<float>1485791321.61</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -35,6 +35,24 @@
return gadget.redirect({page: 'jio_dav_configurator'});
}
function get_redirect_uri() {
return window.location.origin;
}
function setDroboxConfiguration(gadget) {
return new RSVP.Queue()
.push(function () {
return gadget.getSetting('dropbox_app_key');
})
.push(function (app_key) {
window.location = 'https://www.dropbox.com/1/oauth2/authorize?client_id='
+ encodeURIComponent(app_key)
+ '&response_type=token&redirect_uri='
+ encodeURIComponent(get_redirect_uri());
});
}
var gadget_klass = rJS(window);
gadget_klass
......@@ -72,6 +90,9 @@
case "LOCAL":
gadget.props.element.querySelector("form.select-local-form button").classList.add("ui-btn-active");
break;
case "DROPBOX":
gadget.props.element.querySelector("form.select-dropbox-form button").classList.add("ui-btn-active");
break;
default:
gadget.props.element.querySelector(".message h3").appendChild(document.createTextNode("Welcome in OfficeJS " + setting_list[1] + ". Please start by choosing a storage."));
gadget.props.element.querySelector(".message").setAttribute("style", "");
......@@ -119,6 +140,14 @@
function () {
return setDAVConfiguration(gadget);
}
),
loopEventListener(
gadget.props.element.querySelector('form.select-dropbox-form'),
'submit',
true,
function () {
return setDroboxConfiguration(gadget);
}
)
]);
});
......
......@@ -101,6 +101,12 @@
<key> <string>title</string> </key>
<value> <string>OfficeJS jIO Configurator Gadget JS</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......@@ -230,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>956.25761.13498.989</string> </value>
<value> <string>957.3286.34994.57207</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -248,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1483450981.89</float>
<float>1486030156.02</float>
<string>UTC</string>
</tuple>
</state>
......
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS jIO DAV Configurator Page</title>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="gadget_officejs_page_jio_dav_configurator.js"></script>
</head>
<body>
<article class="ui-content ui-body-c">
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c">
<span class="ui-icon ui-icon-custom ui-icon-database">&nbsp;</span>
Your WebDAV Connection parameters
</h3>
</section>
<section class="ui-body-c ui-content-section">
<form class="dav-configuration-form">
<div class="ui-form">
<div class="ui-field-contain">
<label data-i18n="Connection URL:">Connection URL:</label>
<input type="url" name="dav_url" required value=""/>
</div>
<div class="ui-field-contain">
<label data-i18n="Username:">Username:</label>
<input type="text" name="dav_username" value=""/>
</div>
<div class="ui-field-contain">
<label data-i18n="Password:">Password:</label>
<input type="password" name="dav_password" value=""/>
</div>
</div>
<div class="select-storage ui-controlgroup ui-controlgroup-horizontal">
<div class="ui-grid-b ui-responsive">
<div class="ui-block-a"></div>
<div class="ui-block-b"></div>
<div class="ui-block-c">
<button type="submit" data-i18n="Connect" class="ui-btn-btn-right">Connect</button>
</div>
</div>
</div>
</form>
</section>
</article>
<article class="ui-content ui-body-c document-access">
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c">
<span class="ui-icon ui-icon-custom ui-icon-file-text-o">&nbsp;</span>
Your Documents
</h3>
</section>
<section class="ui-body-c ui-content-section">
<p style="color: red">Continue by <b>synchronizing</b> with your remote storage or <b>accessing</b> your documents</p>
<div class="ui-controlgroup ui-controlgroup-horizontal">
<div class="ui-grid-a ui-responsive">
<div class="ui-block-a">
<a class="ui-btn" href="#page=sync" data-i18n="Synchronize">Synchronize</a>
</div>
<div class="ui-block-b">
<a class="ui-btn" href="#page=document_list" data-i18n="Go to document List">Access document List</a>
</div>
</div>
</div>
</section>
</article>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS jIO DAV Configurator Page</title>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="gadget_officejs_page_jio_dav_configurator.js"></script>
</head>
<body>
<article class="ui-content ui-body-c">
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c">
<span class="ui-icon ui-icon-custom ui-icon-database">&nbsp;</span>
Your WebDAV Connection parameters
</h3>
</section>
<section class="ui-body-c ui-content-section">
<form class="dav-configuration-form">
<div class="ui-form">
<div class="ui-field-contain">
<label data-i18n="Connection URL:">Connection URL:</label>
<input type="url" name="dav_url" required value=""/>
</div>
<div class="ui-field-contain">
<label data-i18n="Username:">Username:</label>
<input type="text" name="dav_username" value=""/>
</div>
<div class="ui-field-contain">
<label data-i18n="Password:">Password:</label>
<input type="password" name="dav_password" value=""/>
</div>
</div>
<div class="select-storage ui-controlgroup ui-controlgroup-horizontal">
<div class="ui-grid-b ui-responsive">
<div class="ui-block-a"></div>
<div class="ui-block-b"></div>
<div class="ui-block-c">
<button type="submit" data-i18n="Connect" class="ui-btn-btn-right">Connect</button>
</div>
</div>
</div>
</form>
</section>
</article>
<article class="ui-content ui-body-c document-access">
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c">
<span class="ui-icon ui-icon-custom ui-icon-file-text-o">&nbsp;</span>
Your Documents
</h3>
</section>
<section class="ui-body-c ui-content-section">
<p style="color: red">Continue by <b>synchronizing</b> with your remote storage or <b>accessing</b> your documents</p>
<div class="ui-controlgroup ui-controlgroup-horizontal">
<div class="ui-grid-a ui-responsive">
<div class="ui-block-a">
<a class="ui-btn" href="#page=sync&auto_repair=true" data-i18n="Synchronize">Synchronize</a>
</div>
<div class="ui-block-b">
<a class="ui-btn" href="#page=document_list" data-i18n="Go to document List">Access document List</a>
</div>
</div>
</div>
</section>
</article>
<div class="global_setting_gadget" style="display: none;"></div>
</body>
</html>
\ No newline at end of file
......@@ -97,22 +97,20 @@
<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>OfficeJS jIO DAV Configurator Page</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -171,7 +169,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -193,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1442831613.46</float>
<float>1485780580.2</float>
<string>UTC</string>
</tuple>
</state>
......@@ -238,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>946.59102.61985.50653</string> </value>
<value> <string>956.64652.20228.58760</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -256,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1446741062.96</float>
<float>1485780575.5</float>
<string>UTC</string>
</tuple>
</state>
......@@ -279,11 +277,13 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -295,7 +295,7 @@
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
......@@ -313,7 +313,7 @@
</tuple>
<state>
<tuple>
<float>1442830550.27</float>
<float>1485779297.53</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -105,7 +105,9 @@
</item>
<item>
<key> <string>url_string</string> </key>
<value> <string>gadget_officejs_page_jio_dav_configurator.js</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
......@@ -236,7 +238,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>956.4046.59099.17288</string> </value>
<value> <string>956.64903.6566.48281</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -254,7 +256,7 @@
</tuple>
<state>
<tuple>
<float>1482142993.78</float>
<float>1486042968.05</float>
<string>UTC</string>
</tuple>
</state>
......
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS jIO Dropbox Configurator Page</title>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="gadget_officejs_page_jio_dropbox_configurator.js"></script>
</head>
<body>
<article class="ui-content ui-body-c">
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c">
<span class="ui-icon ui-icon-custom ui-icon-database">&nbsp;</span>
Your Dropbox Connection parameters
</h3>
</section>
<section class="ui-content-header-plain">
<p>Connecting to Dropbox</p>
</section>
</article>
<article class="ui-content ui-body-c document-access">
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c">
<span class="ui-icon ui-icon-custom ui-icon-file-text-o">&nbsp;</span>
Your Documents
</h3>
</section>
<section class="ui-body-c ui-content-section">
<p style="color: red">Continue by <b>synchronizing</b> with your remote storage or <b>accessing</b> your documents</p>
<div class="ui-controlgroup ui-controlgroup-horizontal">
<div class="ui-grid-a ui-responsive">
<div class="ui-block-a">
<a class="ui-btn" href="#page=sync" data-i18n="Synchronize">Synchronize</a>
</div>
<div class="ui-block-b">
<a class="ui-btn" href="#page=document_list" data-i18n="Go to document List">Access document List</a>
</div>
</div>
</div>
</section>
</article>
<div class="global_setting_gadget" style="display: none;"></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>
<string>Owner</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>
<string>Owner</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_officejs_page_jio_dropbox_configurator.html</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_officejs_page_jio_dropbox_configurator_html</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Web Page</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>OfficeJS jIO Dropbox Configurator Page</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</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.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish_alive</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1485780483.1</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>
</tuple>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<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>956.64672.3552.2918</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>1485780527.48</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>0.0.0.0</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1485779368.87</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
/*global window, rJS, RSVP, URI, location,
loopEventListener, btoa */
/*jslint nomen: true, indent: 2, maxerr: 3*/
(function (window, rJS, RSVP) {
"use strict";
function setDropboxConfiguration(gadget) {
return gadget.getSetting("portal_type")
.push(function (portal_type) {
var old_date = new Date(),
configuration = {};
// We are looking for documents modified in the past 3 month
old_date = new Date(old_date.getFullYear(), old_date.getMonth() - 3);
configuration = {
type: "replicate",
// XXX This drop the signature lists...
query: {
query: 'portal_type:"' + portal_type + '" ',
// XX Synchonizing the whole module is too much, here is a way to start quietly
// Supsended until modification_date is handled for synchronization
limit: [0, 1234567890]
},
use_remote_post: false,
conflict_handling: 2,
check_local_modification: true,
check_local_creation: true,
check_local_deletion: false,
check_remote_modification: true,
check_remote_creation: true,
check_remote_deletion: true,
local_sub_storage: {
type: "mapping",
attachment: {
'data': {
get: {uri_template: 'enclosure'},
put: {uri_template: 'enclosure'}
}
},
sub_storage: {
type: "query",
sub_storage: {
type: "uuid",
sub_storage: {
type: "indexeddb",
database: "officejs-dropbox"
}
}
}
},
remote_sub_storage: {
type: "mapping",
attachment: {
'data': {
get: {uri_template: 'enclosure'},
put: {uri_template: 'enclosure'}
}
},
mapping_dict: {
"portal_type": ["equalSubProperty", "type"]
},
sub_storage: {
type: "query",
sub_storage: {
type: "drivetojiomapping",
sub_storage: {
type: "dropbox",
access_token: gadget.props.access_token,
root: "sandbox"
}
}
}
}
};
return gadget.setSetting('jio_storage_description', configuration);
})
.push(function () {
return gadget.setSetting('jio_storage_name', "DROPBOX");
})
.push(function () {
return gadget.setSetting('sync_reload', true);
})
.push(function () {
return gadget.redirect({page: 'sync', auto_repair: 'true'});
});
}
var gadget_klass = rJS(window);
gadget_klass
.ready(function (g) {
g.props = {};
return g.getElement()
.push(function (element) {
g.props.element = element;
g.props.deferred = RSVP.defer();
});
})
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod("redirect", "redirect")
.declareAcquiredMethod("reload", "reload")
.declareAcquiredMethod("getSetting", "getSetting")
.declareAcquiredMethod("setSetting", "setSetting")
.declareMethod("getGlobalSetting", function (key) {
var gadget = this;
return gadget.getDeclaredGadget("global_setting_gadget")
.push(function (global_setting_gadget) {
return global_setting_gadget.getSetting(key);
});
})
.declareMethod("setGlobalSetting", function (key, value) {
var gadget = this;
return gadget.getDeclaredGadget("global_setting_gadget")
.push(function (global_setting_gadget) {
return global_setting_gadget.setSetting(key, value);
});
})
.declareMethod("render", function (options) {
var gadget = this;
return gadget.updateHeader({
title: "Connect To Drobox Storage",
back_url: "#page=jio_configurator",
panel_action: false
})
.push(function (options) {
return gadget.getSetting('jio_storage_name');
})
.push(function (jio_storage_name) {
if (!jio_storage_name) {
gadget.props.element.querySelector(".document-access").setAttribute("style", "display: none;");
}
})
.push(function () {
gadget.props.access_token = options.token;
return setDropboxConfiguration(gadget);
});
});
}(window, rJS, RSVP));
\ No newline at end of file
<?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>
<string>Owner</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>
<string>Owner</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/plain</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_officejs_page_jio_dropbox_configurator.js</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_officejs_page_jio_dropbox_configurator_js</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Web Script</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>OfficeJS jIO Dropbox Configurator Page JS</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</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.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish_alive</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1485780470.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>
</tuple>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<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>956.64671.54901.45909</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>1485780514.28</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>0.0.0.0</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1485779366.79</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS jIO ERP5 Configurator Page</title>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="gadget_officejs_page_jio_erp5_configurator.js"></script>
</head>
<body>
<article class="ui-content ui-body-c">
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c">
<span class="ui-icon ui-icon-custom ui-icon-database">&nbsp;</span>
Your ERP5 Connection parameters
</h3>
</section>
<section class="ui-content-header-plain">
<p>You have to be logged in this ERP5 prior to synchronising</p>
</section>
<section class="ui-body-c ui-content-section">
<form class="erp5-configuration-form">
<div class="ui-form">
<div class="ui-field-contain">
<label data-i18n="Connection URL:">Connection URL:</label>
<input type="url" name="erp5_url" class="ui-focus" required disabled/>
</div>
<div class="select-storage ui-controlgroup ui-controlgroup-horizontal">
<div class="ui-grid-b ui-responsive">
<div class="ui-block-a"></div>
<div class="ui-block-b"></div>
<div class="ui-block-c">
<button type="submit" data-i18n="Connect" class="ui-btn-btn-right">Connect</button>
</div>
</div>
</div>
</form>
</section>
</article>
<article class="ui-content ui-body-c document-access">
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c">
<span class="ui-icon ui-icon-custom ui-icon-file-text-o">&nbsp;</span>
Your Documents
</h3>
</section>
<section class="ui-body-c ui-content-section">
<p style="color: red">Continue by <b>synchronizing</b> with your remote storage or <b>accessing</b> your documents</p>
<div class="ui-controlgroup ui-controlgroup-horizontal">
<div class="ui-grid-a ui-responsive">
<div class="ui-block-a">
<a class="ui-btn" href="#page=sync&auto_repair=true" data-i18n="Synchronize">Synchronize</a>
</div>
<div class="ui-block-b">
<a class="ui-btn" href="#page=document_list" data-i18n="Go to document List">Access document List</a>
</div>
</div>
</div>
</section>
</article>
<div class="global_setting_gadget" style="display: none;"></div>
</body>
</html>
<!doctype html>
<html>
<head>
<base href="https://texteditor.app.officejs.com/1.0.4/gadget_officejs_page_jio_erp5_configurator.html/" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS jIO ERP5 Configurator Page</title>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="gadget_officejs_page_jio_erp5_configurator.js"></script>
</head>
<body>
<article class="ui-content ui-body-c">
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c">
<span class="ui-icon ui-icon-custom ui-icon-database">&nbsp;</span>
Your ERP5 Connection parameters
</h3>
</section>
<section class="ui-content-header-plain">
<p>You have to be logged in this ERP5 prior to synchronising</p>
</section>
<section class="ui-body-c ui-content-section">
<form class="erp5-configuration-form">
<div class="ui-form">
<div class="ui-field-contain">
<label data-i18n="Connection URL:">Connection URL:</label>
<input type="url" name="erp5_url" class="ui-focus" required disabled/>
</div>
<div class="select-storage ui-controlgroup ui-controlgroup-horizontal">
<div class="ui-grid-b ui-responsive">
<div class="ui-block-a"></div>
<div class="ui-block-b"></div>
<div class="ui-block-c">
<button type="submit" data-i18n="Connect" class="ui-btn-btn-right">Connect</button>
</div>
</div>
</div>
</form>
</section>
</article>
<article class="ui-content ui-body-c document-access">
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c">
<span class="ui-icon ui-icon-custom ui-icon-file-text-o">&nbsp;</span>
Your Documents
</h3>
</section>
<section class="ui-body-c ui-content-section">
<p style="color: red">Continue by <b>synchronizing</b> with your remote storage or <b>accessing</b> your documents</p>
<div class="ui-controlgroup ui-controlgroup-horizontal">
<div class="ui-grid-a ui-responsive">
<div class="ui-block-a">
<a class="ui-btn" href="#page=sync&auto_repair=true" data-i18n="Synchronize">Synchronize</a>
</div>
<div class="ui-block-b">
<a class="ui-btn" href="#page=document_list" data-i18n="Go to document List">Access document List</a>
</div>
</div>
</div>
</section>
</article>
<div class="global_setting_gadget" style="display: none;"></div>
</body>
</html>
\ No newline at end of file
......@@ -63,14 +63,6 @@
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>contributor/person_module/1</string>
</tuple>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value>
......@@ -81,14 +73,6 @@
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>creators</string> </key>
<value>
<tuple>
<string>cedric.le.ninivin</string>
</tuple>
</value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_officejs_page_jio_erp5_configurator.html</string> </value>
......@@ -109,45 +93,24 @@
<none/>
</value>
</item>
<item>
<key> <string>modification_date</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1455284351.6</float>
<string>UTC</string>
</tuple>
</state>
</object>
</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>OfficeJS jIO ERP5 Configurator Page</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -206,7 +169,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>supercedriclen</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -228,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1466088843.02</float>
<float>1485780407.13</float>
<string>UTC</string>
</tuple>
</state>
......@@ -273,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>954.38565.29657.34116</string> </value>
<value> <string>956.64653.28215.17971</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -291,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1476436854.76</float>
<float>1485780401.63</float>
<string>UTC</string>
</tuple>
</state>
......@@ -314,11 +277,13 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>supercedriclen</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -330,7 +295,7 @@
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
......@@ -348,7 +313,7 @@
</tuple>
<state>
<tuple>
<float>1466085053.26</float>
<float>1485779365.09</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -140,7 +140,9 @@
</item>
<item>
<key> <string>url_string</string> </key>
<value> <string>gadget_officejs_page_jio_erp5_configurator.js</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
......
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS Login Page </title>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="gadget_global.js" ></script>
<script src="gadget_officejs_page_login.js"></script>
</head>
<body>
<article class="ui-content ui-body-c">
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c">
<span class="ui-icon ui-icon-custom ui-icon-user">&nbsp;</span>
Login
</h3>
</section>
<section class="ui-body-c ui-content-section">
<form class="login-form">
<div class="ui-field-contain">
<label data-i18n="Login">Login</label>
<input type="text" name="jid" placeholder="Ex: john" value="" required>
</div>
<div class="ui-field-contain">
<label data-i18n="Password">Password</label>
<input type="password" name="passwd" placeholder="Ex: A1bcF$99" value="" required>
</div>
<div class="ui-grid-b ui-responsive">
<div class="ui-block-a">
</div>
<div class="ui-block-b">
</div>
<div class="ui-block-c">
<button class="ui-btn ui-btn-b" type="submit" data-i18n="Log In">Log In</button>
</div>
</div>
</form>
</section>
</article>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS Login Page </title>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="gadget_global.js" ></script>
<script src="gadget_officejs_page_login.js"></script>
</head>
<body>
<article class="ui-content ui-body-c">
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c">
<span class="ui-icon ui-icon-custom ui-icon-user">&nbsp;</span>
Login
</h3>
</section>
<section class="ui-body-c ui-content-section">
<form class="login-form">
<div class="ui-field-contain">
<label data-i18n="Login">Login</label>
<input type="text" name="jid" placeholder="Ex: john" value="" required>
</div>
<div class="ui-field-contain">
<label data-i18n="Password">Password</label>
<input type="password" name="passwd" placeholder="Ex: A1bcF$99" value="" required>
</div>
<div class="ui-grid-b ui-responsive">
<div class="ui-block-a">
</div>
<div class="ui-block-b">
</div>
<div class="ui-block-c">
<button class="ui-btn ui-btn-b" type="submit" data-i18n="Log In">Log In</button>
</div>
</div>
</form>
</section>
</article>
</body>
</html>
\ No newline at end of file
......@@ -97,22 +97,20 @@
<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>OfficeJS Login Page</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -171,7 +169,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -193,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1438011335.54</float>
<float>1485780377.99</float>
<string>UTC</string>
</tuple>
</state>
......@@ -224,7 +222,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -238,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>945.62650.43414.46660</string> </value>
<value> <string>956.64652.16930.8601</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -256,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1443096971.41</float>
<float>1485780371.75</float>
<string>UTC</string>
</tuple>
</state>
......@@ -279,11 +277,13 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -295,7 +295,7 @@
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
......@@ -313,7 +313,7 @@
</tuple>
<state>
<tuple>
<float>1438011232.72</float>
<float>1485779294.46</float>
<string>UTC</string>
</tuple>
</state>
......
/*globals window, document, RSVP, rJS, promiseEventListener*/
/*jslint indent: 2, maxlen: 80, nomen: true*/
(function (window, document, RSVP, rJS, promiseEventListener) {
"use strict";
/////////////////////////////////////////////////////////////////
// templates
/////////////////////////////////////////////////////////////////
rJS(window)
.ready(function (g) {
g.props = {};
return g.getElement()
.push(function (element) {
g.props.element = element;
});
})
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod("translateHtml", "translateHtml")
.declareMethod("render", function () {
var gadget = this;
return gadget.updateHeader({
title: "Connect"
});
})
.declareAcquiredMethod("redirect", "redirect")
.declareService(function () {
var gadget = this;
return new RSVP.Queue()
.push(function () {
gadget.props.element.querySelector("input[type=text]")
.focus();
return promiseEventListener(
gadget.props.element.querySelector('form.login-form'),
'submit',
false
);
})
.push(function (evt) {
gadget.props.element.querySelector("button")
.disabled = true;
var login = evt.target.elements[0].value,
passwd = evt.target.elements[1].value;
document.cookie = "__ac=" + window.btoa(login + ":" + passwd) +
"; path=/";
return gadget.redirect({page:"sync"});
});
});
/*globals window, document, RSVP, rJS, promiseEventListener*/
/*jslint indent: 2, maxlen: 80, nomen: true*/
(function (window, document, RSVP, rJS, promiseEventListener) {
"use strict";
/////////////////////////////////////////////////////////////////
// templates
/////////////////////////////////////////////////////////////////
rJS(window)
.ready(function (g) {
g.props = {};
return g.getElement()
.push(function (element) {
g.props.element = element;
});
})
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod("translateHtml", "translateHtml")
.declareMethod("render", function () {
var gadget = this;
return gadget.updateHeader({
title: "Connect"
});
})
.declareAcquiredMethod("redirect", "redirect")
.declareService(function () {
var gadget = this;
return new RSVP.Queue()
.push(function () {
gadget.props.element.querySelector("input[type=text]")
.focus();
return promiseEventListener(
gadget.props.element.querySelector('form.login-form'),
'submit',
false
);
})
.push(function (evt) {
gadget.props.element.querySelector("button")
.disabled = true;
var login = evt.target.elements[0].value,
passwd = evt.target.elements[1].value;
document.cookie = "__ac=" + window.btoa(login + ":" + passwd) +
"; path=/";
return gadget.redirect({page:"sync"});
});
});
}(window, document, RSVP, rJS, promiseEventListener));
\ No newline at end of file
......@@ -69,6 +69,10 @@
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_officejs_page_login.js</string> </value>
......@@ -93,22 +97,20 @@
<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>OfficeJS Login Page JS</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -167,7 +169,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -189,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1438011356.37</float>
<float>1485780342.24</float>
<string>UTC</string>
</tuple>
</state>
......@@ -220,7 +222,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -234,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>945.62644.11371.29525</string> </value>
<value> <string>956.64652.14224.43383</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -252,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1443096382.27</float>
<float>1485780123.89</float>
<string>UTC</string>
</tuple>
</state>
......@@ -275,11 +277,13 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -291,7 +295,7 @@
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
......@@ -309,7 +313,7 @@
</tuple>
<state>
<tuple>
<float>1438011231.09</float>
<float>1485779291.98</float>
<string>UTC</string>
</tuple>
</state>
......
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS Logout Page</title>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="handlebars.js"></script>
<script src="gadget_global.js" ></script>
<script id="page-template" type="text/x-handlebars-template">
<div class="ui-grid-b ui-responsive">
<div class="ui-block-a"></div>
<div class="ui-block-b">
<form class="logout-form">
<input data-inline="true" type="submit" data-i18n="[value]Confirm" value="Confirm" data-theme="b">
</form>
</div>
<div class="ui-block-c"></div>
</div>
</script>
<script src="gadget_officejs_page_logout.js"></script>
</head>
<body>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS Logout Page</title>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="handlebars.js"></script>
<script src="gadget_global.js" ></script>
<script id="page-template" type="text/x-handlebars-template">
<div class="ui-grid-b ui-responsive">
<div class="ui-block-a"></div>
<div class="ui-block-b">
<form class="logout-form">
<input data-inline="true" type="submit" data-i18n="[value]Confirm" value="Confirm" data-theme="b">
</form>
</div>
<div class="ui-block-c"></div>
</div>
</script>
<script src="gadget_officejs_page_logout.js"></script>
</head>
<body>
</body>
</html>
\ No newline at end of file
......@@ -97,22 +97,20 @@
<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>OfficeJS Logout Page</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -171,7 +169,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -193,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1438011477.47</float>
<float>1485780056.47</float>
<string>UTC</string>
</tuple>
</state>
......@@ -224,7 +222,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -238,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>945.18325.52875.45858</string> </value>
<value> <string>956.64652.10976.32921</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -256,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1440439770.0</float>
<float>1485780049.93</float>
<string>UTC</string>
</tuple>
</state>
......@@ -279,11 +277,13 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -295,7 +295,7 @@
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
......@@ -313,7 +313,7 @@
</tuple>
<state>
<tuple>
<float>1438011364.67</float>
<float>1485779288.82</float>
<string>UTC</string>
</tuple>
</state>
......
/*globals window, RSVP, rJS, promiseEventListener, document, Handlebars*/
/*jslint indent: 2, maxlen: 80, nomen: true*/
(function (window, RSVP, rJS, promiseEventListener, document, Handlebars) {
"use strict";
/////////////////////////////////////////////////////////////////
// templates
/////////////////////////////////////////////////////////////////
var gadget_klass = rJS(window),
templater = gadget_klass.__template_element,
template = Handlebars.compile(
templater.getElementById("page-template").innerHTML
);
gadget_klass
.ready(function (g) {
g.props = {};
return g.getElement()
.push(function (element) {
g.props.element = element;
});
})
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod("translateHtml", "translateHtml")
.declareMethod("render", function () {
var gadget = this;
return gadget.updateHeader({
title: "Logout"
})
.push(function () {
return gadget.translateHtml(template());
})
.push(function (html) {
gadget.props.element.innerHTML = html;
});
})
.declareAcquiredMethod("redirect", "redirect")
.declareService(function () {
var gadget = this;
return new RSVP.Queue()
.push(function () {
return promiseEventListener(
gadget.props.element.querySelector('form.logout-form'),
'submit',
false
);
})
.push(function () {
gadget.props.element.querySelector("input[type=submit]")
.disabled = true;
document.cookie = "__ac=; path=/";
return gadget.redirect({});
});
});
/*globals window, RSVP, rJS, promiseEventListener, document, Handlebars*/
/*jslint indent: 2, maxlen: 80, nomen: true*/
(function (window, RSVP, rJS, promiseEventListener, document, Handlebars) {
"use strict";
/////////////////////////////////////////////////////////////////
// templates
/////////////////////////////////////////////////////////////////
var gadget_klass = rJS(window),
templater = gadget_klass.__template_element,
template = Handlebars.compile(
templater.getElementById("page-template").innerHTML
);
gadget_klass
.ready(function (g) {
g.props = {};
return g.getElement()
.push(function (element) {
g.props.element = element;
});
})
.declareAcquiredMethod("updateHeader", "updateHeader")
.declareAcquiredMethod("translateHtml", "translateHtml")
.declareMethod("render", function () {
var gadget = this;
return gadget.updateHeader({
title: "Logout"
})
.push(function () {
return gadget.translateHtml(template());
})
.push(function (html) {
gadget.props.element.innerHTML = html;
});
})
.declareAcquiredMethod("redirect", "redirect")
.declareService(function () {
var gadget = this;
return new RSVP.Queue()
.push(function () {
return promiseEventListener(
gadget.props.element.querySelector('form.logout-form'),
'submit',
false
);
})
.push(function () {
gadget.props.element.querySelector("input[type=submit]")
.disabled = true;
document.cookie = "__ac=; path=/";
return gadget.redirect({});
});
});
}(window, RSVP, rJS, promiseEventListener, document, Handlebars));
\ No newline at end of file
......@@ -69,6 +69,10 @@
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_officejs_page_logout.js</string> </value>
......@@ -93,22 +97,20 @@
<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>OfficeJS Logout Page JS</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -167,7 +169,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -189,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1438011427.35</float>
<float>1485780028.72</float>
<string>UTC</string>
</tuple>
</state>
......@@ -220,7 +222,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -234,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>944.43433.8046.27699</string> </value>
<value> <string>956.64652.7554.6263</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -252,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1440437142.4</float>
<float>1485780024.23</float>
<string>UTC</string>
</tuple>
</state>
......@@ -275,11 +277,13 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -291,7 +295,7 @@
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
......@@ -309,7 +313,7 @@
</tuple>
<state>
<tuple>
<float>1438011362.53</float>
<float>1485779286.12</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -121,6 +121,12 @@
<key> <string>title</string> </key>
<value> <string>OfficeJS Share jIO Page</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -113,6 +113,12 @@
<key> <string>title</string> </key>
<value> <string>OfficeJS Share jIO Page JS</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS Sync Page</title>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="handlebars.js"></script>
<script src="gadget_global.js" ></script>
<script id="page-template" type="text/x-handlebars-template">
<article class="ui-content ui-body-c">
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c">
<span class="ui-icon ui-icon-custom ui-icon-refresh">&nbsp;</span>
Synchronize your data
</h3>
</section>
<section class="ui-body-c ui-content-section">
<div class="ui-controlgroup ui-controlgroup-horizontal">
<div class="ui-grid-b ui-responsive">
<div class="ui-block-a"></div>
<div class="ui-block-b">
<form class="synchro-form view-web-page-form">
<button type="submit" data-i18n="Launch Synchronization" data-theme="b">Launch Synchronization</button>
</form>
</div>
<div class="ui-block-c"></div>
</div>
</div>
</section>
</article>
</script>
<script src="gadget_officejs_page_sync.js"></script>
</head>
<body>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OfficeJS Sync Page</title>
<script src="rsvp.js"></script>
<script src="renderjs.js"></script>
<script src="handlebars.js"></script>
<script src="gadget_global.js" ></script>
<script id="page-template" type="text/x-handlebars-template">
<article class="ui-content ui-body-c">
<section class="ui-content-header-plain">
<h3 class="ui-content-title ui-body-c">
<span class="ui-icon ui-icon-custom ui-icon-refresh">&nbsp;</span>
Synchronize your data
</h3>
</section>
<section class="ui-body-c ui-content-section">
<div class="ui-controlgroup ui-controlgroup-horizontal">
<div class="ui-grid-b ui-responsive">
<div class="ui-block-a"></div>
<div class="ui-block-b">
<form class="synchro-form view-web-page-form">
<button type="submit" data-i18n="Launch Synchronization" data-theme="b">Launch Synchronization</button>
</form>
</div>
<div class="ui-block-c"></div>
</div>
</div>
</section>
</article>
</script>
<script src="gadget_officejs_page_sync.js"></script>
</head>
<body>
</body>
</html>
\ No newline at end of file
......@@ -97,22 +97,20 @@
<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>OfficeJS Sync Page</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -144,6 +142,12 @@
<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>
......@@ -165,7 +169,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -187,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1442854019.1</float>
<float>1485779928.61</float>
<string>UTC</string>
</tuple>
</state>
......@@ -218,7 +222,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -232,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>945.58606.64610.54852</string> </value>
<value> <string>956.64652.3093.26982</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -250,7 +254,66 @@
</tuple>
<state>
<tuple>
<float>1443012064.85</float>
<float>1485779922.53</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>0.0.0.0</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1485779281.24</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -105,7 +105,9 @@
</item>
<item>
<key> <string>url_string</string> </key>
<value> <string>gadget_officejs_page_sync.js</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
......
......@@ -105,6 +105,12 @@
<key> <string>title</string> </key>
<value> <string>OfficeJS router Gadget</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -101,6 +101,12 @@
<key> <string>title</string> </key>
<value> <string>OfficeJS router Gadget JS</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -126,6 +126,12 @@ NETWORK:\n
<key> <string>title</string> </key>
<value> <string>OfficeJS Setting Gadget AppCache</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -140,6 +140,12 @@
<key> <string>title</string> </key>
<value> <string>OfficeJS Setting Gadget</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -136,6 +136,12 @@
<key> <string>title</string> </key>
<value> <string>OfficeJS Setting Gadget JS</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -103,6 +103,12 @@
<key> <string>title</string> </key>
<value> <string>Spreadsheet Application Panel Gadget</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -105,6 +105,12 @@
<key> <string>title</string> </key>
<value> <string>OfficeJS router Gadget</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -101,6 +101,12 @@
<key> <string>title</string> </key>
<value> <string>OfficeJS spreadsheet router Gadget JS</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -142,7 +142,9 @@
</item>
<item>
<key> <string>url_string</string> </key>
<value> <string>gadget_officejs_svg_editor_router.html</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
......
......@@ -146,7 +146,9 @@
</item>
<item>
<key> <string>url_string</string> </key>
<value> <string>gadget_officejs_text_editor_router.html</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
......
......@@ -103,6 +103,12 @@
<key> <string>title</string> </key>
<value> <string>OfficeJS WebRTC Jio Gadget</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
......@@ -101,6 +101,12 @@
<key> <string>title</string> </key>
<value> <string>OfficeJS WebRTC Jio Gadget JS</string> </value>
</item>
<item>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
......
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, user-scalable=no" />
<title>OfficeJS Widget Listbox</title>
<!-- renderjs -->
<script src="rsvp.js" type="text/javascript"></script>
<script src="renderjs.js" type="text/javascript"></script>
<script src="handlebars.js"></script>
<script id="listbox-widget-table" type="text/x-handlebars-template">
<form><div class="center">
<div class="ui-field-contain">
<div class="ui-input-text ui-body-{{widget_theme}} ui-corner-all ui-shadow-inset ui-input-has-clear {{widget_status_class}}">
<input type="text" data-enhanced="true" value="{{search}}" name="search" {{widget_status_attribute}} />
<div class="ui-btn ui-input-clear ui-input-btn ui-corner-all ui-icon-search ui-btn-icon-notext" data-i18n="[node]header-submit">
Submit<input data-enhanced="true" type="submit" data-i18n="[value]header-submit" value="Submit" {{widget_status_attribute}} />
</div>
</div>
</div>
</div></form>
<table class="ui-responsive ui-body-c ui-table-inset custom-force-list">
<thead class="ui-bar-inherit">
<tr>
{{#each column_list}}
<th>{{this}}</th>
{{/each}}
</tr>
</thead>
{{> listbox-widget-table-partial}}
<tfoot class="ui-bar-inherit"></tfoot>
</table>
</script>
<script id="listbox-widget-table-partial" type="text/x-handlebars-template">
<tbody>
{{#each row_list}}
<tr>
{{#each cell_list}}
<td><a class="ui-link" href="{{href}}">{{value}}</a></td>
{{/each}}
</tr>
{{/each}}
</tbody>
</script>
<!-- custom script -->
<script src="gadget_officejs_widget_listbox.js" type="text/javascript"></script>
</head>
<body>
<div class="custom-grid-wrap">
<div class="custom-grid ui-corner-all ui-body-inherit ui-shadow ui-corner-all">
<div class="ui-body-c ui-corner-all"></div>
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, user-scalable=no" />
<title>OfficeJS Widget Listbox</title>
<!-- renderjs -->
<script src="rsvp.js" type="text/javascript"></script>
<script src="renderjs.js" type="text/javascript"></script>
<script src="handlebars.js"></script>
<script id="listbox-widget-table" type="text/x-handlebars-template">
<form><div class="center">
<div class="ui-field-contain">
<div class="ui-input-text ui-body-{{widget_theme}} ui-corner-all ui-shadow-inset ui-input-has-clear {{widget_status_class}}">
<input type="text" data-enhanced="true" value="{{search}}" name="search" {{widget_status_attribute}} />
<div class="ui-btn ui-input-clear ui-input-btn ui-corner-all ui-icon-search ui-btn-icon-notext" data-i18n="[node]header-submit">
Submit<input data-enhanced="true" type="submit" data-i18n="[value]header-submit" value="Submit" {{widget_status_attribute}} />
</div>
</div>
</div>
</div></form>
<table class="ui-responsive ui-body-c ui-table-inset custom-force-list">
<thead class="ui-bar-inherit">
<tr>
{{#each column_list}}
<th>{{this}}</th>
{{/each}}
</tr>
</thead>
{{> listbox-widget-table-partial}}
<tfoot class="ui-bar-inherit"></tfoot>
</table>
</script>
<script id="listbox-widget-table-partial" type="text/x-handlebars-template">
<tbody>
{{#each row_list}}
<tr>
{{#each cell_list}}
<td><a class="ui-link" href="{{href}}">{{value}}</a></td>
{{/each}}
</tr>
{{/each}}
</tbody>
</script>
<!-- custom script -->
<script src="gadget_officejs_widget_listbox.js" type="text/javascript"></script>
</head>
<body>
<div class="custom-grid-wrap">
<div class="custom-grid ui-corner-all ui-body-inherit ui-shadow ui-corner-all">
<div class="ui-body-c ui-corner-all"></div>
</div>
</div>
</body>
</html>
\ No newline at end of file
......@@ -97,22 +97,20 @@
<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>OfficeJS Widget Listbox</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -171,7 +169,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -193,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1438012253.92</float>
<float>1485779878.36</float>
<string>UTC</string>
</tuple>
</state>
......@@ -224,7 +222,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -238,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>945.18321.41236.45056</string> </value>
<value> <string>956.64651.62129.51660</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -256,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1440439658.47</float>
<float>1485779826.21</float>
<string>UTC</string>
</tuple>
</state>
......@@ -279,11 +277,13 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -295,7 +295,7 @@
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
......@@ -313,7 +313,7 @@
</tuple>
<state>
<tuple>
<float>1438012182.81</float>
<float>1485779276.02</float>
<string>UTC</string>
</tuple>
</state>
......
/*global window, rJS, RSVP, Handlebars, loopEventListener */
/*jslint nomen: true, indent: 2 */
(function (window, rJS, RSVP, Handlebars, loopEventListener) {
"use strict";
/////////////////////////////////////////////////////////////////
// templates
/////////////////////////////////////////////////////////////////
var gadget_klass = rJS(window),
templater = gadget_klass.__template_element,
listbox_widget_table = Handlebars.compile(
templater.getElementById("listbox-widget-table").innerHTML
);
Handlebars.registerPartial(
"listbox-widget-table-partial",
templater.getElementById("listbox-widget-table-partial").innerHTML
);
/////////////////////////////////////////////////////////////////
// some methods
/////////////////////////////////////////////////////////////////
gadget_klass
/////////////////////////////////////////////////////////////////
// ready
/////////////////////////////////////////////////////////////////
.ready(function (gadget) {
gadget.property_dict = {
render_deferred: RSVP.defer()
};
})
.ready(function (gadget) {
return gadget.getElement()
.push(function (element) {
gadget.property_dict.element = element;
});
})
/////////////////////////////////////////////////////////////////
// published methods
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
// acquired methods
/////////////////////////////////////////////////////////////////
.declareAcquiredMethod("jio_allDocs", "jio_allDocs")
.declareAcquiredMethod("getUrlFor", "getUrlFor")
.declareAcquiredMethod("translate", "translate")
.declareAcquiredMethod("redirect", "redirect")
/////////////////////////////////////////////////////////////////
// declared methods
/////////////////////////////////////////////////////////////////
.declareMethod('render', function (option_dict) {
var gadget = this,
content = '',
k,
k_len,
search_list = [],
translated_column_list = [],
all_docs_result;
// store initial configuration
gadget.property_dict.option_dict = option_dict;
// Create the search query
if (option_dict.search) {
for (k = 0, k_len = option_dict.column_list.length; k < k_len; k += 1) {
search_list.push(option_dict.column_list[k].select + ':"%' + option_dict.search + '%"');
}
option_dict.query.query = '(' + search_list.join(' OR ') + ') AND ' + option_dict.query.query;
}
return gadget.jio_allDocs(option_dict.query)
.push(function (result) {
var promise_list = [],
i_len,
i;
all_docs_result = result;
for (i = 0, i_len = result.data.total_rows; i < i_len; i += 1) {
if (option_dict.came_from_jio_key) {
promise_list.push(gadget.getUrlFor({jio_key: option_dict.came_from_jio_key, page: 'view', came_from_jio_key: result.data.rows[i].id}));
} else {
promise_list.push(gadget.getUrlFor({jio_key: result.data.rows[i].id, page: 'view'}));
}
}
return RSVP.all(promise_list);
})
.push(function (link_list) {
var row_list = [],
cell_list,
i_len,
i,
j_len,
j;
// build handlebars object
for (j = 0, j_len = all_docs_result.data.total_rows; j < j_len; j += 1) {
cell_list = [];
for (i = 0, i_len = option_dict.column_list.length; i < i_len; i += 1) {
cell_list.push({
"href": link_list[j],
"value": all_docs_result.data.rows[j].value[option_dict.column_list[i].select]
});
}
row_list.push({"cell_list": cell_list});
}
for (i = 0; i < option_dict.column_list.length; i += 1) {
translated_column_list.push(gadget.translate(option_dict.column_list[i].title));
}
return RSVP.all([
row_list,
RSVP.all(translated_column_list)
]);
})
.push(function (result_list) {
content += listbox_widget_table({
widget_theme : option_dict.widget_theme,
search: option_dict.search,
column_list: result_list[1],
row_list: result_list[0]
});
gadget.property_dict.element.querySelector(".custom-grid .ui-body-c")
.innerHTML = content;
gadget.property_dict.render_deferred.resolve();
});
})
/////////////////////////////////////////////////////////////////
// declared service
/////////////////////////////////////////////////////////////////
.declareService(function () {
var gadget = this;
return new RSVP.Queue()
.push(function () {
return gadget.property_dict.render_deferred.promise;
})
.push(function () {
return loopEventListener(
gadget.property_dict.element.querySelector('form'),
'submit',
false,
function (evt) {
return gadget.redirect({
jio_key: gadget.property_dict.option_dict.jio_key || '',
page: gadget.property_dict.option_dict.search_page || '',
search: evt.target[0].value,
came_from_jio_key: gadget.property_dict.option_dict.came_from_jio_key
});
}
);
});
});
}(window, rJS, RSVP, Handlebars, loopEventListener));
/*global window, rJS, RSVP, Handlebars, loopEventListener */
/*jslint nomen: true, indent: 2 */
(function (window, rJS, RSVP, Handlebars, loopEventListener) {
"use strict";
/////////////////////////////////////////////////////////////////
// templates
/////////////////////////////////////////////////////////////////
var gadget_klass = rJS(window),
templater = gadget_klass.__template_element,
listbox_widget_table = Handlebars.compile(
templater.getElementById("listbox-widget-table").innerHTML
);
Handlebars.registerPartial(
"listbox-widget-table-partial",
templater.getElementById("listbox-widget-table-partial").innerHTML
);
/////////////////////////////////////////////////////////////////
// some methods
/////////////////////////////////////////////////////////////////
gadget_klass
/////////////////////////////////////////////////////////////////
// ready
/////////////////////////////////////////////////////////////////
.ready(function (gadget) {
gadget.property_dict = {
render_deferred: RSVP.defer()
};
})
.ready(function (gadget) {
return gadget.getElement()
.push(function (element) {
gadget.property_dict.element = element;
});
})
/////////////////////////////////////////////////////////////////
// published methods
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
// acquired methods
/////////////////////////////////////////////////////////////////
.declareAcquiredMethod("jio_allDocs", "jio_allDocs")
.declareAcquiredMethod("getUrlFor", "getUrlFor")
.declareAcquiredMethod("translate", "translate")
.declareAcquiredMethod("redirect", "redirect")
/////////////////////////////////////////////////////////////////
// declared methods
/////////////////////////////////////////////////////////////////
.declareMethod('render', function (option_dict) {
var gadget = this,
content = '',
k,
k_len,
search_list = [],
translated_column_list = [],
all_docs_result;
// store initial configuration
gadget.property_dict.option_dict = option_dict;
// Create the search query
if (option_dict.search) {
for (k = 0, k_len = option_dict.column_list.length; k < k_len; k += 1) {
search_list.push(option_dict.column_list[k].select + ':"%' + option_dict.search + '%"');
}
option_dict.query.query = '(' + search_list.join(' OR ') + ') AND ' + option_dict.query.query;
}
return gadget.jio_allDocs(option_dict.query)
.push(function (result) {
var promise_list = [],
i_len,
i;
all_docs_result = result;
for (i = 0, i_len = result.data.total_rows; i < i_len; i += 1) {
promise_list.push(gadget.getUrlFor({jio_key: result.data.rows[i].id, page: 'view'}));
}
return RSVP.all(promise_list);
})
.push(function (link_list) {
var row_list = [],
cell_list,
i_len,
i,
j_len,
j;
// build handlebars object
for (j = 0, j_len = all_docs_result.data.total_rows; j < j_len; j += 1) {
cell_list = [];
for (i = 0, i_len = option_dict.column_list.length; i < i_len; i += 1) {
cell_list.push({
"href": link_list[j],
"value": all_docs_result.data.rows[j].value[option_dict.column_list[i].select]
});
}
row_list.push({"cell_list": cell_list});
}
for (i = 0; i < option_dict.column_list.length; i += 1) {
translated_column_list.push(gadget.translate(option_dict.column_list[i].title));
}
return RSVP.all([
row_list,
RSVP.all(translated_column_list)
]);
})
.push(function (result_list) {
content += listbox_widget_table({
widget_theme : option_dict.widget_theme,
search: option_dict.search,
column_list: result_list[1],
row_list: result_list[0]
});
gadget.property_dict.element.querySelector(".custom-grid .ui-body-c")
.innerHTML = content;
gadget.property_dict.render_deferred.resolve();
});
})
/////////////////////////////////////////////////////////////////
// declared service
/////////////////////////////////////////////////////////////////
.declareService(function () {
var gadget = this;
return new RSVP.Queue()
.push(function () {
return gadget.property_dict.render_deferred.promise;
})
.push(function () {
return loopEventListener(
gadget.property_dict.element.querySelector('form'),
'submit',
false,
function (evt) {
return gadget.redirect({
jio_key: gadget.property_dict.option_dict.jio_key || '',
page: gadget.property_dict.option_dict.search_page || '',
search: evt.target[0].value
});
}
);
});
});
}(window, rJS, RSVP, Handlebars, loopEventListener));
\ No newline at end of file
......@@ -69,6 +69,10 @@
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_officejs_widget_listbox.js</string> </value>
......@@ -93,22 +97,20 @@
<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>OfficeJS Widget Listbox JS</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<key> <string>url_string</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
......@@ -167,7 +169,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -189,7 +191,7 @@
</tuple>
<state>
<tuple>
<float>1438012300.3</float>
<float>1485779801.92</float>
<string>UTC</string>
</tuple>
</state>
......@@ -234,7 +236,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>956.14016.52782.35993</string> </value>
<value> <string>956.64651.59655.13977</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -252,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>1482742612.5</float>
<float>1485779785.44</float>
<string>UTC</string>
</tuple>
</state>
......@@ -275,11 +277,13 @@
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -291,7 +295,7 @@
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
......@@ -309,7 +313,7 @@
</tuple>
<state>
<tuple>
<float>1438012180.81</float>
<float>1485779273.78</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -289,6 +289,66 @@
<value> <string>string</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>configuration_latest_document_version</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_latest_version</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_cache_file</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_redirect_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_landing_page</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
</tuple>
</value>
</item>
......@@ -323,7 +383,7 @@
<value>
<tuple>
<string>caching_policy/no-cache</string>
<string>aggregate/web_page_module/rjs_gadget_erp5_html</string>
<string>aggregate/web_page_module/gadget_officejs_bootloader.html</string>
</tuple>
</value>
</item>
......@@ -331,9 +391,13 @@
<key> <string>configuration_application_title</string> </key>
<value> <string>Bookmark Manager</string> </value>
</item>
<item>
<key> <string>configuration_cache_file</string> </key>
<value> <string>gadget_officejs_bookmark_manager.appcache</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\' https://localhost:5000 mail.tiolive.com data:; script-src \'self\' \'unsafe-eval\'; font-src netdna.bootstrapcdn.com; style-src \'self\' netdna.bootstrapcdn.com \'unsafe-inline\' data:; frame-src \'self\' data:</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 https://localhost:5000 mail.tiolive.com data: *.host.vifib.net *.node.vifib.com *.erp5.net; 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_default_view_action_reference</string> </key>
......@@ -359,6 +423,18 @@
<key> <string>configuration_jio_gadget_url</string> </key>
<value> <string>gadget_officejs_jio.html</string> </value>
</item>
<item>
<key> <string>configuration_landing_page</string> </key>
<value> <string>bookmark_manager_landing_page.html</string> </value>
</item>
<item>
<key> <string>configuration_latest_document_version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>configuration_latest_version</string> </key>
<value> <string>development</string> </value>
</item>
<item>
<key> <string>configuration_manifest_url</string> </key>
<value> <string>gadget_officejs_bookmark_manager.appcache</string> </value>
......@@ -367,6 +443,10 @@
<key> <string>configuration_panel_gadget_url</string> </key>
<value> <string>gadget_officejs_bookmark_manager_panel.html</string> </value>
</item>
<item>
<key> <string>configuration_redirect_url</string> </key>
<value> <string>development</string> </value>
</item>
<item>
<key> <string>configuration_router_gadget_url</string> </key>
<value> <string>gadget_officejs_bookmark_manager_router.html</string> </value>
......@@ -381,17 +461,21 @@
<none/>
</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>
<value> <string>WebSection_renderOfficeJSApplicationPage</string> </value>
</item>
<item>
<key> <string>content_layout</string> </key>
<value> <string>WebSection_renderDefaultPageAsGadget</string> </value>
<value> <string>WebSection_renderOfficeJSApplicationPage</string> </value>
</item>
<item>
<key> <string>custom_render_method_id</string> </key>
<value> <string>WebSection_renderDefaultPageAsGadget</string> </value>
<value> <string>WebSection_renderOfficeJSApplicationPage</string> </value>
</item>
<item>
<key> <string>description</string> </key>
......@@ -409,7 +493,7 @@
</item>
<item>
<key> <string>layout_configuration_form_id</string> </key>
<value> <string>WebSection_viewRenderJSPreference</string> </value>
<value> <string>WebSection_viewOfficeJSApplicationPreference</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
......@@ -423,7 +507,7 @@
</item>
<item>
<key> <string>skin_selection_name</string> </key>
<value> <string>RJS</string> </value>
<value> <string>RJSVersioning</string> </value>
</item>
<item>
<key> <string>static_language_selection</string> </key>
......@@ -616,7 +700,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>955.33994.14381.45824</string> </value>
<value> <string>957.2063.41353.16093</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -634,7 +718,7 @@
</tuple>
<state>
<tuple>
<float>1480323894.28</float>
<float>1485956631.49</float>
<string>UTC</string>
</tuple>
</state>
......
<?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/development</string>
</tuple>
</key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>__translation_dict</string> </key>
<value>
<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_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_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_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_manifest_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_content_security_policy</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_erp5_html</string>
</tuple>
</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 https://localhost:5000 mail.tiolive.com data: *.host.vifib.net *.node.vifib.com *.erp5.net; 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>hateoasnoauth</string> </value>
</item>
<item>
<key> <string>configuration_header_gadget_url</string> </key>
<value> <string>gadget_officejs_header.html</string> </value>
</item>
<item>
<key> <string>configuration_jio_gadget_url</string> </key>
<value> <string>gadget_officejs_jio.html</string> </value>
</item>
<item>
<key> <string>configuration_manifest_url</string> </key>
<value> <string>gadget_officejs_bookmark_manager.appcache</string> </value>
</item>
<item>
<key> <string>configuration_panel_gadget_url</string> </key>
<value> <string>gadget_officejs_bookmark_manager_panel.html</string> </value>
</item>
<item>
<key> <string>configuration_router_gadget_url</string> </key>
<value> <string>gadget_officejs_bookmark_manager_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>development</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>Bookmark Manager Development</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>1485866849.13</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>956.64558.57457.27306</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>1485791952.93</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
......@@ -98,7 +98,7 @@
<key>
<tuple>
<int>99</int>
<string>ERP5 Web Section/hateoas</string>
<string>ERP5 Web Section/hateoasnoauth</string>
</tuple>
</key>
<value>
......@@ -194,6 +194,46 @@
<value> <string>string</string> </value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>configuration_latest_document_version</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_latest_version</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_cache_file</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>
</tuple>
</value>
</item>
......@@ -217,6 +257,12 @@
<none/>
</value>
</item>
<item>
<key> <string>configuration_cache_file</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>configuration_content_security_policy</string> </key>
<value>
......@@ -229,6 +275,22 @@
<none/>
</value>
</item>
<item>
<key> <string>configuration_latest_document_version</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>configuration_latest_version</string> </key>
<value>
<none/>
</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>ERP5Document_getHateoas</string> </value>
......@@ -265,13 +327,11 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>hateoas</string> </value>
<value> <string>hateoasnoauth</string> </value>
</item>
<item>
<key> <string>layout_configuration_form_id</string> </key>
<value>
<none/>
</value>
<value> <string>WebSection_viewRenderJSPreference</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
......@@ -289,7 +349,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Restricted Hateoas</string> </value>
<value> <string>UnRestricted Hateoas</string> </value>
</item>
<item>
<key> <string>view_action_category</string> </key>
......@@ -458,7 +518,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>952.28990.12586.6929</string> </value>
<value> <string>956.64551.40466.25309</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -476,7 +536,7 @@
</tuple>
<state>
<tuple>
<float>1478604794.11</float>
<float>1486559317.62</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -343,7 +343,7 @@
</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\' https://localhost:5000 mail.tiolive.com data: *.host.vifib.net *.node.vifib.com *.erp5.net; script-src \'self\' \'unsafe-eval\'; font-src netdna.bootstrapcdn.com; style-src \'self\' netdna.bootstrapcdn.com \'unsafe-inline\' data:; frame-src \'self\' data: *.app.officejs.com</string> </value>
<value> <string>default-src \'self\'; img-src \'self\' data:; media-src \'self\' blob:; connect-src \'self\' https://localhost:5000 mail.tiolive.com data: *.host.vifib.net *.node.vifib.com *.erp5.net; script-src \'self\' \'unsafe-eval\'; font-src netdna.bootstrapcdn.com; style-src \'self\' netdna.bootstrapcdn.com \'unsafe-inline\' data:; frame-src \'self\' data: *.app.officejs.com</string> </value>
</item>
<item>
<key> <string>configuration_default_view_action_reference</string> </key>
......@@ -616,7 +616,7 @@
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>cedric.le.ninivin</string> </value>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
......@@ -630,7 +630,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>954.17228.62546.5000</string> </value>
<value> <string>956.64450.52709.9386</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -648,7 +648,7 @@
</tuple>
<state>
<tuple>
<float>1475245019.47</float>
<float>1486040963.94</float>
<string>UTC</string>
</tuple>
</state>
......
<registered_skin_selection>
<skin_folder_selection>
<skin_folder>erp5_officejs_jio_connector</skin_folder>
<skin_selection>RJSVersioning</skin_selection>
</skin_folder_selection>
<skin_folder_selection>
<skin_folder>erp5_web_renderjs_ui</skin_folder>
<skin_selection>RJSVersioning</skin_selection>
</skin_folder_selection>
<skin_folder_selection>
<skin_folder>erp5_web_renderjs_ui_unsafe</skin_folder>
<skin_selection>RJSUnsafe</skin_selection>
</skin_folder_selection>
<skin_folder_selection>
<skin_folder>erp5_web_versioning</skin_folder>
<skin_selection>RJSVersioning</skin_selection>
</skin_folder_selection>
</registered_skin_selection>
\ No newline at end of file
"""
This script is part of ERP5 Web
ERP5 Web is a business template of ERP5 which provides a way
to create web sites which can display selected
ERP5 contents through multiple custom web layouts.
The default implementation searches for
documents which are in the user language if any
and which reference is equal to the name parameter.
Other implementations are possible: ex. display the last
version in the closest language rather than
the latest version in the user language.
NOTE:
- the portal parameter was introduced to
fix acquisition issues within the _aq_dynamic
lookup from WebSection class.
"""
from Products.ZSQLCatalog.SQLCatalog import SimpleQuery, ComplexQuery
if portal is None: portal = context.getPortalObject()
portal_catalog = portal.portal_catalog
# The list of portal types here should be large enough to include
# all portal_types defined in the various sections so that
# href tags which point to a document by reference can still work.
valid_portal_type_list = portal.getPortalDocumentTypeList()
# Find the applicable language
if language is None:
language = portal.Localizer.get_selected_language()
if effective_date is None:
if now is None:
now = DateTime()
effective_date = ComplexQuery(
SimpleQuery(effective_date=None),
SimpleQuery(effective_date=now, comparison_operator='<='),
logical_operator='or',
)
# Note: In sorts, NULL is considered lesser than non-NULL. So in descending
# sort, NULLs will be listed after non-NULLs, which is perfect for
# effective_date, which defines the date at which content becomes effective.
# None (NULL) effective date hence means "effective since infinite in te past".
base_sort = (('effective_date', 'descending'), )
# Portal Type and validation state should be handled by predicate
# By default
web_page_list = context.searchResults(
reference=name,
effective_date=effective_date,
language=(language, ''),
sort_on=(('language', 'descending'), ) + base_sort,
limit=1,
**kw)
if len(web_page_list) == 0:
# Default returns None
web_page = None
else:
# Try to get the first page on the list
web_page = web_page_list[0]
web_page = web_page.getObject()
# return the web page
return web_page
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>name, portal=None, language=None, validation_state=None, effective_date=None, now=None, **kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebSection_getDocumentValue</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
This script is part of ERP5 Web
ERP5 Web is a business template of ERP5 which provides a way
to create web sites which can display selected
ERP5 contents through multiple custom web layouts.
This script returns a list of document values (ie. objects or brains)
which are considered as part of this section. It can be
a list of web pages (usual case), a list of products
(online catalog), a list of tenders (e-government), etc.
The default implementation provided here consists in
listing documents which meet the predicate defined
by the section (ex. which are part of a given publication_section)
and which are in "published" state and of a "Web Page" portal_type.
It should be noted that document selection should be implemented
as much as possible using the Domain API.
This script can be changed to meet other requirements. For example
one may want to display a list of products in a section. In this case,
this script must return a list of documents of type "Product"
with a "validated" state and in the appropriate product family.
This script is intended to be overriden by creating a new script
within the Web Section or Web Site instance. It can be also
customised per portal type within portal_skins. Customisation
thourgh local scripts is recommended to host multiple sites
on the same ERP5Site instance.
The API uses **kw so that it is possible to extend the behaviour of
the default script with advanced features (ex. group by reference,
by version, only select a specific publication state, etc.).
Here are some suggestions which can either be implemented using
SQL (group_by, order_by) or using additional python scripting
if this is compatible with data size.
SUGGESTIONS:
- Prevent showing duplicate references
- Add documents associated to this section through 'aggregate'.
- Display only the latest version and the appropriate language.
"""
from Products.ZSQLCatalog.SQLCatalog import SimpleQuery, ComplexQuery
from zExceptions import Unauthorized
try:
portal = container.getPortalObject()
kw = portal.portal_catalog.getSQLCatalog().getCannonicalArgumentDict(kw)
# First find the Web Section or Web Site we belong to
current_section = context.getWebSectionValue()
if all_versions is None:
all_versions = context.getLayoutProperty('layout_all_versions', default=False)
if all_languages is None:
all_languages = context.getLayoutProperty('layout_all_languages', default=False)
# Build the list of parameters
if not language:
language = portal.Localizer.get_selected_language()
if validation_state is None:
# XXX hardcoded validation state list.
# Use predicate or layout property instead
validation_state = ('released', 'released_alive', 'published',
'published_alive', 'shared', 'shared_alive',
'public', 'validated')
kw['validation_state'] = validation_state
if 'order_by_list' not in kw:
# XXX Do not sort by default, as it increases query time
kw['order_by_list'] = [('int_index', 'DESC'), ('reference', 'DESC')]
if effective_date is None:
if now is None:
now = DateTime()
effective_date = ComplexQuery(
SimpleQuery(effective_date=None),
SimpleQuery(effective_date=now, comparison_operator='<='),
logical_operator='or',
)
kw['effective_date'] = effective_date
if not all_versions:
group_by_list = set(kw.get('group_by_list', []))
if all_languages:
kw['group_by_list'] = list(group_by_list.union(('reference', 'language')))
else:
kw['group_by_list'] = list(group_by_list.union(('reference',)))
# Extend select_dict by order_by_list and group_by_list columns.
extra_column_set = {i[0] for i in kw.get('order_by_list', ())}.union(
kw.get('group_by_list', ()))
kw.setdefault('select_dict', {}).update(
(x.replace('.', '_') + '__ext__', x)
for x in extra_column_set if not x.endswith('__score__'))
#raise ValueError("%s" % current_section.WebSection_zGetDocumentValueList(language=language,
# all_languages=all_languages,
# src__=1,
# kw=kw))
return current_section.WebSection_zGetDocumentValueList(language=language,
all_languages=all_languages,
src__=src__,
kw=kw)
else:
if not all_languages:
kw['language'] = language
return current_section.searchResults(src__=src__, **kw)
except Unauthorized:
return []
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>language=None, validation_state=None, all_languages=None, all_versions=None, effective_date=None, now=None, src__=0, **kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebSection_getDocumentValueListBase</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -14,5 +14,6 @@ return default_web_page.WebPage_viewAsWeb(mapping_dict={
"redirect_url": web_section.getLayoutProperty("configuration_redirect_url", default=""),
"cache_file": web_section.getLayoutProperty("configuration_cache_file", default=""),
"application_name": web_section.getTitle(),
"sub_gadget_installer": web_section.getLayoutProperty("configuration_sub_gadget_installer", default="")
"sub_gadget_installer": web_section.getLayoutProperty("configuration_sub_gadget_installer", default=""),
"landing_page": web_section.getLayoutProperty("configuration_landing_page", default="/")
})
......@@ -78,6 +78,7 @@
<string>my_configuration_resource_base_url</string>
<string>my_configuration_x_frame_options</string>
<string>my_configuration_cache_file</string>
<string>my_configuration_landing_page</string>
<string>my_configuration_sub_gadget_installer</string>
<string>my_configuration_redirect_url</string>
</list>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_configuration_landing_page</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_view_mode_reference</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Landing Page</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
erp5_officejs_connector
\ No newline at end of file
erp5_officejs_connector
erp5_web_renderjs_ui
\ No newline at end of file
erp5_web_renderjs_ui_unsafe | RJSUnsafe
\ No newline at end of file
erp5_officejs_jio_connector | RJSVersioning
erp5_web_renderjs_ui | RJSVersioning
erp5_web_renderjs_ui_unsafe | RJSUnsafe
erp5_web_versioning | RJSVersioning
\ No newline at end of file
erp5_officejs_theme
erp5_web_renderjs_ui
erp5_web_renderjs_ui_unsafe
erp5_web_versioning
\ No newline at end of file
<registered_skin_selection>
<skin_folder_selection>
<skin_folder>erp5_officejs_jio_connector</skin_folder>
<skin_selection>Hal</skin_selection>
<skin_selection>Hal,HalRestricted</skin_selection>
</skin_folder_selection>
</registered_skin_selection>
\ No newline at end of file
erp5_officejs_jio_connector | Hal
\ No newline at end of file
erp5_officejs_jio_connector | Hal
erp5_officejs_jio_connector | HalRestricted
\ 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