Commit 84f8caf1 authored by Romain Courteaud's avatar Romain Courteaud

[erp5_web_renderjs_ui] Add right panel to the ERP5JS UI

This panel will get dynamic content depending of the element which requested it to be opened (like listbox domain tree, relation field, or whatever).
parent 2234bc8a
......@@ -145,6 +145,10 @@
data-gadget-scope="panel"\n
data-gadget-sandbox="public"></div>\n
\n
<div data-gadget-url="gadget_erp5_panel_configuration.html"\n
data-gadget-scope="configuration"\n
data-gadget-sandbox="public"></div>\n
\n
<article></article>\n
\n
</body>\n
......@@ -289,7 +293,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>942.36154.23606.2679</string> </value>
<value> <string>943.17855.7556.25361</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -307,7 +311,7 @@
</tuple>
<state>
<tuple>
<float>1432630986.89</float>
<float>1432631150.48</float>
<string>GMT</string>
</tuple>
</state>
......
......@@ -441,6 +441,16 @@
return route(this, "panel", "toggle");\n
})\n
\n
// bridge configuration panel\n
.allowPublicAcquisition(\'setPanelContent\', function (param_list) {\n
return route(this, "configuration", "setPanelContent", param_list);\n
})\n
.allowPublicAcquisition(\'setPanelHeader\', function (param_list) {\n
return route(this, "configuration", "setPanelHeader", param_list);\n
})\n
.allowPublicAcquisition(\'togglePanel\', function () {\n
return route(this, "configuration", "togglePanel");\n
})\n
// root\n
.allowPublicAcquisition(\'getSiteRoot\', function () {\n
return this.getSiteRoot();\n
......@@ -497,7 +507,6 @@
.declareMethod(\'render\', function (options) {\n
var gadget = this,\n
header_gadget,\n
panel_gadget,\n
main_gadget;\n
\n
gadget.props.options = options;\n
......@@ -505,15 +514,16 @@
.push(function () {\n
return RSVP.all([\n
gadget.getDeclaredGadget("header"),\n
gadget.getDeclaredGadget("panel")\n
gadget.getDeclaredGadget("panel"),\n
gadget.getDeclaredGadget("configuration")\n
]);\n
})\n
.push(function (my_gadget_list) {\n
header_gadget = my_gadget_list[0];\n
panel_gadget = my_gadget_list[1];\n
return RSVP.all([\n
panel_gadget.render({}),\n
header_gadget.notifyLoading()\n
header_gadget.notifyLoading(),\n
my_gadget_list[1].render({}),\n
my_gadget_list[2].render({})\n
]);\n
})\n
.push(function () {\n
......@@ -739,7 +749,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>943.18096.34625.39714</string> </value>
<value> <string>943.18121.53382.40174</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -757,7 +767,7 @@
</tuple>
<state>
<tuple>
<float>1432645716.45</float>
<float>1432647072.98</float>
<string>GMT</string>
</tuple>
</state>
......
<?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_erp5_panel_configuration.html</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>rjs_gadget_erp5_panel_configuration_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>text_content</string> </key>
<value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html>\n
<html>\n
<head>\n
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />\n
<meta name="viewport" content="width=device-width, user-scalable=no" />\n
<title>ERP5 Panel Domain Tree</title>\n
\n
<!-- renderjs -->\n
<script src="rsvp.js" type="text/javascript"></script>\n
<script src="renderjs.js" type="text/javascript"></script>\n
<script src="handlebars.js" type="text/javascript"></script>\n
<script src="gadget_global.js" type="text/javascript"></script>\n
\n
<!-- panel -->\n
<script id="panel-category-list-header" type="text/x-handlbars-template">\n
<div data-role="header" class="ui-header ui-bar-inherit" role="banner">\n
<div class="ui-controlgroup ui-controlgroup-horizontal ui-btn-left">\n
<div class="ui-controlgroup-controls"></div>\n
</div>\n
<h1 class="ui-title" data-i18n="{{i18n}}">Categories</h1>\n
<div class="ui-controlgroup ui-controlgroup-horizontal ui-btn-right">\n
<div class="ui-controlgroup-controls">\n
<form action="#">\n
<input type="submit" value="[value]{{close_i18n}}" data-icon="delete" data-iconpos="notext" />\n
</form>\n
</div>\n
</div>\n
</div>\n
<div class="ui-content">\n
<form class="update_search_form" action="#">\n
<div class="ui-navbar ui-subheader ui-grid-container ui-body-inherit" role="navigation">\n
\t\t <ul class="ui-grid-a">\n
<li class="ui-block-a">\n
<button name=\'clear_category_list\' data-i18n="{{clear_i18n}}" type=\'submit\' class=\'responsive ui-btn ui-bar-inherit ui-btn-inherit ui-btn-icon-left ui-icon-trash-o ui-btn ui-first-child\'>Delete</button>\n
</li>\n
<li class="ui-block-b">\n
<button name=\'update_category_list\' data-i18n="{{update_i18n}}" type=\'submit\' class=\'responsive ui-btn ui-bar-inherit ui-btn-inherit ui-btn-icon-left ui-icon-share-square-o ui-btn ui-last-child\'>Update</button>\n
</li>\n
</ul>\n
\t </div>\n
</form>\n
{{#if tag_list}}\n
<div class="ui-controlgroup">\n
<div class="ui-controlgroup-controls">\n
{{#each taglist}}\n
<form class="update_search_from" action="#">\n
<button type="submit" name=\'update_category_list\' data-i18n={{type_i18n}}={{value_i18n}} class="{{@first}}: {{ui-first-child }} {{@last}}: {{ui-last-child }} ui-btn ui-bar-inherit ui-btn-inherit ui-btn-icon-right ui-icon-delete">{{type_i18n}}={{value_i18n}}</button>\n
</form>\n
{{/each}}\n
</div>\n
</div>\n
{{/if}}\n
</div>\n
</script>\n
\n
<!--\n
{{#if tag_list}}\n
<div class="ui-controlgroup">\n
<div class="ui-controlgroup-controls">\n
{{#each taglist}}\n
<form class="update_search_from" action="#">\n
<button type="submit" name=\'update_category_list\' data-i18n={{type_i18n}}={{value_i18n}} class="{{@first}}: {{ui-first-child }} {{@last}}: {{ui-last-child }} ui-btn ui-bar-inherit ui-btn-inherit ui-btn-icon-right ui-icon-delete">{{type_i18n}}={{value_i18n}}</button>\n
</form>\n
{{/each}}\n
</div>\n
</div>\n
{{/if}}\n
{{#if tree}}\n
<ul class="ui-listview" data-enhanced="true">\n
{{> category-taglist-partial}}\n
</ul>\n
{{/if}}\n
</div>\n
-->\n
<!--\n
<script id="category-taglist-partial" type="text/x-handlebars-tempalte">\n
{{#each tree}}\n
{{#if tree}}\n
<li data-role="collapsible" data-enhanced="true" data-collapsed="true" data-collapsed-icon="plus" class="ui-li-has-checkbox ui-collapsible ui-collapsible-collapsed ui-li-static ui-body-inherit">\n
<h4 class="ui-collapsible-heading ui-collapsible-heading-collapsed ui-li-divider ui-li-has-icon">\n
<a class="ui-collapsible-heading-toggle ui-icon-plus ui-btn-icon-left ui-btn-inherit ui-link" href="#" data-i18n="[last]{{i18n}}">\n
<span data-i18n="gen.hint" class="ui-collapsible-heading-status"></span>\n
</a>\n
<div class="ui-checkbox">\n
<label class="ui-btn ui-corner-all ui-btn-inherit ui-btn-icon-notext ui-checkbox-on">{{search}}</label>\n
<input type="checkbox" data-iconpos="notext" name="{{this.search}}" data-cacheval="false">\n
</div>\n
</h4>\n
<div class="ui-collapsible-content ui-collapsible-content-collapsed" aria-hidden="true">\n
<ul data-role="listview" class="ui-listview" data-enhanced="true">\n
{{> category-taglist-partial}} {{! Recursively render the partial }}\n
</ul>\n
</div>\n
</li>\n
{{else}}\n
{{#if multiple}}\n
<li class="ui-li-has-checkboxradio ui-li-static ui-body-inherit" data-i18n="[node]{{i18n}}">\n
{{i18n}}\n
<div class="ui-checkbox">\n
<label class="ui-btn ui-corner-all ui-btn-inherit ui-btn-icon-notext ui-checkbox-on">&nbsp;</label>\n
<input type="checkbox" data-iconpos="notext" name="{{search}}" data-cacheval="false">\n
</div>\n
</li>\n
{{else}}\n
<li class="ui-li-has-checkboxradio ui-li-static ui-body-inherit" data-i18n="[node]{{i18n}}">\n
{{i18n}}\n
<div class="ui-checkbox">\n
<label class="ui-btn ui-corner-all ui-btn-inherit ui-btn-icon-notext ui-checkbox-on">&nbsp;</label>\n
<input type="checkbox" data-iconpos="notext" name="{{search}}" data-cacheval="false">\n
</div>\n
</li>\n
{{/if}}\n
{{/if}}\n
{{/each}}\n
</script>\n
-->\n
\n
<!-- custom script -->\n
<script src="gadget_erp5_panel_configuration.js" type="text/javascript"></script>\n
\n
</head>\n
<body>\n
\n
<div class="jqm-configuration-panel"></div>\n
\n
</body>\n
</html>
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Gadget ERP5 Panel Configuration</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>document_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>edit_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>processing_status_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.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>romain</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>1429254840.51</float>
<string>GMT</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>sven</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>942.62057.14260.21691</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>1431351348.13</float>
<string>GMT</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>sven</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>1429106531.32</float>
<string>GMT</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
<?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>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>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>default_reference</string> </key>
<value> <string>gadget_erp5_panel_configuration.js</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>rjs_gadget_erp5_panel_configuration_js</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value> <string>en</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Web Script</string> </value>
</item>
<item>
<key> <string>short_title</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>text_content</string> </key>
<value> <string encoding="cdata"><![CDATA[
/*jslint nomen: true, indent: 2, maxerr: 3 */\n
/*global window, rJS, Handlebars, jQuery, RSVP, loopEventListener */\n
(function (window, rJS, Handlebars, $, RSVP, loopEventListener) {\n
"use strict";\n
\n
/////////////////////////////////////////////////////////////////\n
// TEMPLATE API\n
/////////////////////////////////////////////////////////////////\n
\n
// panel_category_list_header\n
// {\n
// "close_i18n": [SET],\n
// "i18n": [title],\n
// "clear_i18n": [SET],\n
// "update_i18n": [SET]\n
// "tag_list": [{\n
// "type_i18n": [type of filter|create|...],\n
// "value_i18n": [value to create or filter for, eg. region:foo]\n
// }]\n
\n
// panel_category_list_partial\n
// {\n
// "i18n": [category title],\n
// "tree": [{\n
// "multiple": [true to make checkbox],\n
// "search": [search term, like "filter:region=France"],\n
// "i18n":" [text to display]\n
// }]\n
// }]\n
// } \n
\n
/////////////////////////////////////////////////////////////////\n
// some methods\n
/////////////////////////////////////////////////////////////////\n
\n
/////////////////////////////////////////////////////////////////\n
// Handlebars\n
/////////////////////////////////////////////////////////////////\n
var gadget_klass = rJS(window),\n
templater = gadget_klass.__template_element,\n
\n
// pre-compile \n
panel_category_list_header = Handlebars.compile(\n
templater.getElementById("panel-category-list-header").innerHTML\n
)\n
/*\n
,panel_category_list_partial = Handlebars.registerPartial(\n
"category-taglist-partial",\n
templater.getElementById("category-taglist-partial").innerHTML\n
)*/;\n
\n
gadget_klass\n
\n
/////////////////////////////////////////////////////////////////\n
// ready\n
/////////////////////////////////////////////////////////////////\n
.ready(function (my_gadget) {\n
my_gadget.property_dict = {};\n
})\n
\n
.ready(function (my_gadget) {\n
return my_gadget.getElement()\n
.push(function (my_element) {\n
my_gadget.property_dict.element = my_element;\n
my_gadget.property_dict.defer = new RSVP.defer();\n
my_gadget.property_dict.panel_element =\n
my_element.querySelector(".jqm-configuration-panel");\n
});\n
})\n
\n
/////////////////////////////////////////////////////////////////\n
// acquired methods\n
/////////////////////////////////////////////////////////////////\n
.declareAcquiredMethod("translateHtml", "translateHtml")\n
.declareAcquiredMethod("changeLanguage", "changeLanguage")\n
.declareAcquiredMethod("getLanguageList", "getLanguageList")\n
.declareAcquiredMethod(\n
"whoWantToDisplayThisFrontPage",\n
"whoWantToDisplayThisFrontPage"\n
)\n
\n
/////////////////////////////////////////////////////////////////\n
// declared methods\n
/////////////////////////////////////////////////////////////////\n
.declareMethod(\'setPanelHeader\', function (my_option_dict) {\n
var gadget = this,\n
panel_element = gadget.property_dict.panel_element;\n
\n
return new RSVP.Queue()\n
.push(function () {\n
return gadget.translateHtml(\n
panel_category_list_header(my_option_dict)\n
);\n
})\n
.push(function (my_panel_header) {\n
panel_element.innerHTML = my_panel_header;\n
$(panel_element).enhanceWithin();\n
return gadget;\n
})\n
.push(function () {\n
return gadget.property_dict.defer.resolve();\n
});\n
})\n
.declareMethod(\'setPanelContent\', function (my_option_dict) {\n
/*\n
so Romain requested to have a gadget depending on use case of this\n
panel. In our case it should be a domain tree and it should load a \n
certain amount or type of domains/categories\n
Alternatively we can load something else. Question is whether this\n
should be a domain tree per ... app or if every domaintree can be \n
different depending on a parameter passed into intialization.\n
\n
Also, we must make clear that the content can be dumped to make space \n
for new content!\n
\n
Do this.\n
*/\n
})\n
\n
.declareMethod(\'togglePanel\', function () {\n
var gadget = this;\n
\n
$(gadget.property_dict.panel_element).panel("toggle");\n
})\n
\n
.declareMethod(\'render\', function (my_option_dict) {\n
var gadget = this,\n
panel_element = gadget.property_dict.panel_element;\n
\n
return new RSVP.Queue()\n
.push(function () {\n
$(panel_element).panel({\n
display: "overlay",\n
position: "right",\n
theme: "c"\n
});\n
});\n
})\n
\n
/////////////////////////////////////////////////////////////////\n
// declared services\n
/////////////////////////////////////////////////////////////////\n
.declareService(function () {\n
var gadget = this,\n
$panel_element = $(gadget.property_dict.panel_element);\n
\n
function formSubmit() {\n
return gadget.togglePanel();\n
}\n
\n
return new RSVP.Queue()\n
.push(function () {\n
return gadget.property_dict.defer.promise;\n
})\n
.push(function () {\n
$panel_element.enhanceWithin();\n
var form_list = gadget.property_dict.element.querySelectorAll(\'form\'),\n
event_list = [],\n
i,\n
len;\n
\n
for (i = 0, len = form_list.length; i < len; i += 1) {\n
event_list[i] = loopEventListener(\n
form_list[i],\n
\'submit\',\n
false,\n
formSubmit\n
);\n
}\n
return RSVP.all(event_list);\n
})\n
\n
});\n
\n
}(window, rJS, Handlebars, jQuery, RSVP, loopEventListener));\n
\n
\n
\n
/*\n
\n
.push(function (my_panel_category_list) {\n
return gadget.factoryPanelCategoryList({\n
"theme": "a",\n
"position": "left",\n
"animate_class": "overlay",\n
"close_i18n": "gen.close",\n
"i18n": "gen.categories",\n
"clear_i18n": "gen.clear",\n
"update_i18n": "gen.update",\n
"tag_list": tag_list,\n
"tree": my_panel_category_list\n
});\n
})\n
.push(function (my_panel_content) {\n
return gadget.translateHtml(my_panel_content);\n
})\n
.push(function (my_translated_panel_content) {\n
return gadget.setPanel("panel_search", my_translated_panel_content);\n
});\n
\n
*/
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Gadget ERP5 Panel Configuration JS</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>001</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>document_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>edit_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>processing_status_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.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>sven</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>1429106462.69</float>
<string>GMT</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="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>sven</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>942.62105.59106.27904</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>1431354245.91</float>
<string>GMT</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>sven</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>1429105919.74</float>
<string>GMT</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
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