Commit 21c51eb3 authored by Xiaowu Zhang's avatar Xiaowu Zhang

Merge branch 'master' into 'master'

listbox & clone document



See merge request !55
parents d7d02187 81eca52d
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_clone_action</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>clone_document</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>102.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Clone Document</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/Base_viewCloneDocumentDialog</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>python: (getattr(object, \'getParentValue\', None) is not None) and (object.getPortalType() not in portal.getPortalModuleTypeList()) and (portal.Base_checkPermission(object.getParentValue().getRelativeUrl(), \'Add portal content\')) and (object.getPortalType() in object.getParentValue().getVisibleAllowedContentTypeList())</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5 Form" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>Base_createCloneDocument</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list>
<string>[]</string>
</list>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>your_warning</string>
<string>your_portal_type</string>
<string>your_title</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Base_viewCloneDocumentDialog</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>Base_viewCloneDocumentDialog</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_dialog</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Clone Document</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -754,8 +754,9 @@ def calculateHateoas(is_portal=None, is_site_root=None, traversed_document=None, ...@@ -754,8 +754,9 @@ def calculateHateoas(is_portal=None, is_site_root=None, traversed_document=None,
# Try to embed the form in the result\n # Try to embed the form in the result\n
if (view == view_action[\'id\']):\n if (view == view_action[\'id\']):\n
embedded_url = \'%s\' % view_action[\'url\']\n embedded_url = \'%s\' % view_action[\'url\']\n
\n \n
if (erp5_action_key in (view_action_type, "view", "workflow", "object_new_content_action")):\n if erp5_action_key in (view_action_type, "view", "workflow", "object_new_content_action", "object_clone_action"):\n
\n
erp5_action_list[-1][\'href\'] = url_template_dict["traverse_generator"] % {\n erp5_action_list[-1][\'href\'] = url_template_dict["traverse_generator"] % {\n
"root_url": site_root.absolute_url(),\n "root_url": site_root.absolute_url(),\n
"script_id": script.id,\n "script_id": script.id,\n
......
portal_actions | clone_document
portal_actions | create_a_document portal_actions | create_a_document
\ No newline at end of file
...@@ -103,7 +103,7 @@ ...@@ -103,7 +103,7 @@
/*global window, rJS, RSVP, document, loopEventListener */\n /*global window, rJS, RSVP, document, loopEventListener */\n
/*jslint indent: 2 */\n /*jslint indent: 2 */\n
(function (window, rJS, RSVP) {\n (function (window, rJS, RSVP, document, loopEventListener) {\n
"use strict";\n "use strict";\n
rJS(window)\n rJS(window)\n
.ready(function (gadget) {\n .ready(function (gadget) {\n
...@@ -115,6 +115,9 @@ ...@@ -115,6 +115,9 @@
})\n })\n
.declareAcquiredMethod("notifyInvalid", "notifyInvalid")\n .declareAcquiredMethod("notifyInvalid", "notifyInvalid")\n
.declareAcquiredMethod("notifyValid", "notifyValid")\n .declareAcquiredMethod("notifyValid", "notifyValid")\n
.declareMethod(\'getTextContent\', function () {\n
return this.element.querySelector(\'input\').getAttribute(\'value\') || "";\n
})\n
.declareMethod(\'render\', function (options) {\n .declareMethod(\'render\', function (options) {\n
var input = this.element.querySelector(\'input\'),\n var input = this.element.querySelector(\'input\'),\n
date,\n date,\n
...@@ -379,7 +382,7 @@ ...@@ -379,7 +382,7 @@
);\n );\n
});\n });\n
\n \n
}(window, rJS, RSVP)); }(window, rJS, RSVP, document, loopEventListener));
]]></string> </value> ]]></string> </value>
</item> </item>
...@@ -516,7 +519,7 @@ ...@@ -516,7 +519,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>943.49747.10334.23005</string> </value> <value> <string>949.15487.9675.47530</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -534,7 +537,7 @@ ...@@ -534,7 +537,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1434544511.89</float> <float>1455899218.47</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -114,6 +114,9 @@ ...@@ -114,6 +114,9 @@
.declareAcquiredMethod("notifyValid", "notifyValid")\n .declareAcquiredMethod("notifyValid", "notifyValid")\n
.declareAcquiredMethod("notifyInvalid", "notifyInvalid")\n .declareAcquiredMethod("notifyInvalid", "notifyInvalid")\n
.declareAcquiredMethod("notifyChange", "notifyChange")\n .declareAcquiredMethod("notifyChange", "notifyChange")\n
.declareMethod(\'getTextContent\', function () {\n
return this.element.querySelector(\'input\').getAttribute(\'value\');\n
})\n
.declareMethod(\'render\', function (options) {\n .declareMethod(\'render\', function (options) {\n
var input = this.element.querySelector(\'input\'),\n var input = this.element.querySelector(\'input\'),\n
step = 0.00000001,\n step = 0.00000001,\n
...@@ -319,7 +322,7 @@ ...@@ -319,7 +322,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>xiaowu</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -333,7 +336,7 @@ ...@@ -333,7 +336,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>940.63306.33653.13909</string> </value> <value> <string>949.15478.31551.48810</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -351,7 +354,7 @@ ...@@ -351,7 +354,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1423907635.25</float> <float>1455899205.51</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -114,6 +114,9 @@ ...@@ -114,6 +114,9 @@
.declareAcquiredMethod("notifyValid", "notifyValid")\n .declareAcquiredMethod("notifyValid", "notifyValid")\n
.declareAcquiredMethod("notifyInvalid", "notifyInvalid")\n .declareAcquiredMethod("notifyInvalid", "notifyInvalid")\n
.declareAcquiredMethod("notifyChange", "notifyChange")\n .declareAcquiredMethod("notifyChange", "notifyChange")\n
.declareMethod(\'getTextContent\', function () {\n
return this.element.querySelector(\'input\').getAttribute(\'value\');\n
})\n
.declareMethod(\'render\', function (options) {\n .declareMethod(\'render\', function (options) {\n
var input = this.element.querySelector(\'input\'),\n var input = this.element.querySelector(\'input\'),\n
field_json = options.field_json || {};\n field_json = options.field_json || {};\n
...@@ -313,7 +316,7 @@ ...@@ -313,7 +316,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>xiaowu</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -327,7 +330,7 @@ ...@@ -327,7 +330,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>940.60759.64011.7748</string> </value> <value> <string>949.15479.42024.21538</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -345,7 +348,7 @@ ...@@ -345,7 +348,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1423754481.36</float> <float>1455899193.71</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -239,7 +239,7 @@ ...@@ -239,7 +239,7 @@
<button data-rel="hide" data-i18n="Hide Rows" name="Hide" type="submit" class="submit responsive ui-last-child ui-btn ui-icon-eye ui-btn-icon-left {{hide_class}}">Hide Rows</button>\n <button data-rel="hide" data-i18n="Hide Rows" name="Hide" type="submit" class="submit responsive ui-last-child ui-btn ui-icon-eye ui-btn-icon-left {{hide_class}}">Hide Rows</button>\n
</div>\n </div>\n
</div>\n </div>\n
<h1 data-i18n="0 items selected" class="ui-title ui-override-theme">0 items selected</h1>\n <h1 data-i18n="{{title}}" class="ui-title ui-override-theme">{{title}}</h1>\n
<div class="ui-controlgroup ui-controlgroup-horizontal ui-btn-right">\n <div class="ui-controlgroup ui-controlgroup-horizontal ui-btn-right">\n
<div class="ui-controlgroup-controls">\n <div class="ui-controlgroup-controls">\n
<button data-rel="Sort" data-i18n="Sort" name="Sort" type="submit" class="submit responsive ui-last-child ui-btn ui-icon-sort-amount-desc ui-btn-icon-left">Sort</button>\n <button data-rel="Sort" data-i18n="Sort" name="Sort" type="submit" class="submit responsive ui-last-child ui-btn ui-icon-sort-amount-desc ui-btn-icon-left">Sort</button>\n
...@@ -408,7 +408,7 @@ ...@@ -408,7 +408,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>949.1053.41653.819</string> </value> <value> <string>949.10973.23622.18261</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -426,7 +426,7 @@ ...@@ -426,7 +426,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1454957159.48</float> <float>1455551894.43</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -109,9 +109,9 @@ ...@@ -109,9 +109,9 @@
/*jslint indent: 2, maxerr: 3, nomen: true */\n /*jslint indent: 2, maxerr: 3, nomen: true */\n
/*global window, document, rJS, URI, RSVP, loopEventListener,\n /*global window, document, rJS, URI, RSVP, loopEventListener,\n
SimpleQuery, ComplexQuery, Query, Handlebars, console*/\n SimpleQuery, ComplexQuery, Query, Handlebars, console, QueryFactory*/\n
(function (window, document, rJS, URI, RSVP, loopEventListener,\n (function (window, document, rJS, URI, RSVP, loopEventListener,\n
SimpleQuery, ComplexQuery, Query, Handlebars, console) {\n SimpleQuery, ComplexQuery, Query, Handlebars, console, QueryFactory) {\n
"use strict";\n "use strict";\n
var gadget_klass = rJS(window),\n var gadget_klass = rJS(window),\n
listbox_hidden_thead_source = gadget_klass.__template_element\n listbox_hidden_thead_source = gadget_klass.__template_element\n
...@@ -173,17 +173,45 @@ ...@@ -173,17 +173,45 @@
gadget.props.listbox_uid_dict = {};\n gadget.props.listbox_uid_dict = {};\n
gadget.props.cell_gadget_list = [];\n gadget.props.cell_gadget_list = [];\n
function renderSubCell(element, sub_field_json) {\n function renderSubCell(element, sub_field_json) {\n
return gadget.getFieldTypeGadgetUrl(sub_field_json.type)\n var options = {},\n
queue;\n
sub_field_json.editable = sub_field_json.editable && gadget.props.field_json.editable; // XXX \n
queue = gadget.getFieldTypeGadgetUrl(sub_field_json.type);\n
queue\n
.push(function (gadget_url) {\n .push(function (gadget_url) {\n
return gadget.declareGadget(gadget_url, {\n if (sub_field_json.editable) {\n
options = {\n
element: element\n element: element\n
});\n };\n
}\n
return gadget.declareGadget(gadget_url, options);\n
})\n })\n
.push(function (cell_gadget) {\n .push(function (cell_gadget) {\n
if (sub_field_json.editable) {\n
gadget.props.cell_gadget_list.push(cell_gadget);\n gadget.props.cell_gadget_list.push(cell_gadget);\n
sub_field_json.editable = sub_field_json.editable && gadget.props.field_json.editable; // XXX \n } else {\n
if (cell_gadget.getTextContent) {\n
queue\n
.push(function () {\n
return cell_gadget.getTextContent();\n
})\n
.push(function (text_content) {\n
var text = document.createTextNode(text_content);\n
element.appendChild(text);\n
});\n
} else {\n
queue\n
.push(function () {\n
return cell_gadget.getElement();\n
})\n
.push(function (cell_element) {\n
element.appendChild(cell_element);\n
});\n
}\n
}\n
return cell_gadget.render({field_json: sub_field_json});\n return cell_gadget.render({field_json: sub_field_json});\n
});\n });\n
return queue;\n
}\n }\n
for (i = 0; i < element_list.length; i += 1) {\n for (i = 0; i < element_list.length; i += 1) {\n
column = element_list[i].getAttribute("column");\n column = element_list[i].getAttribute("column");\n
...@@ -248,7 +276,8 @@ ...@@ -248,7 +276,8 @@
function renderListbox(gadget) {\n function renderListbox(gadget) {\n
return gadget.translateHtml(listbox_template(\n return gadget.translateHtml(listbox_template(\n
{\n {\n
"hide_class": gadget.props.hide_class\n "hide_class": gadget.props.hide_class,\n
"title": gadget.props.field_json.title\n
}\n }\n
));\n ));\n
}\n }\n
...@@ -497,7 +526,7 @@ ...@@ -497,7 +526,7 @@
value = result.data.rows[i].value[field_json.column_list[j][0]] || "";\n value = result.data.rows[i].value[field_json.column_list[j][0]] || "";\n
tr_value.push({\n tr_value.push({\n
"type": value.type,\n "type": value.type,\n
"editable": value.editable,\n "editable": value.editable && field_json.editable,\n
"href": tmp_url,\n "href": tmp_url,\n
"text": value,\n "text": value,\n
"line": i,\n "line": i,\n
...@@ -630,7 +659,7 @@ ...@@ -630,7 +659,7 @@
thead_template,\n thead_template,\n
tbody_template,\n tbody_template,\n
hide_button_html,\n hide_button_html,\n
hide_elements;\n hide_elements = [];\n
if (gadget.props.foot.colspan === gadget.props.foot.default_colspan) {\n if (gadget.props.foot.colspan === gadget.props.foot.default_colspan) {\n
thead_template = listbox_show_thead_template;\n thead_template = listbox_show_thead_template;\n
tbody_template = listbox_show_tbody_template;\n tbody_template = listbox_show_tbody_template;\n
...@@ -640,30 +669,32 @@ ...@@ -640,30 +669,32 @@
//hide closed\n //hide closed\n
//maybe submit\n //maybe submit\n
all_hide_elements = gadget.props.element.querySelectorAll(".hide_element");\n all_hide_elements = gadget.props.element.querySelectorAll(".hide_element");\n
hide_elements = gadget.props.element.querySelectorAll(".hide_element:checked");\n for (i = 0; i < all_hide_elements.length; i += 1) {\n
//nothing selected, show all\n if (!all_hide_elements[i].checked) {\n
if (hide_elements.length === 0) {\n hide_elements.push(all_hide_elements[i]);\n
return gadget.redirect({\n
command: \'store_and_change\',\n
options: {\n
"extended_search": ""\n
}\n }\n
});\n
}\n }\n
\n if (hide_elements.length) {\n
if (hide_elements.length < all_hide_elements.length) {\n
for (i = 0; i < hide_elements.length; i += 1) {\n for (i = 0; i < hide_elements.length; i += 1) {\n
query_list.push(new SimpleQuery({\n query_list.push(new SimpleQuery({\n
key: "catalog.uid",\n key: "catalog.uid",\n
type: "simple",\n type: "simple",\n
operator: "!=",\n
value: hide_elements[i].getAttribute("value")\n value: hide_elements[i].getAttribute("value")\n
}));\n }));\n
}\n }\n
if (gadget.props.extended_search) {\n
search_query = QueryFactory.create(gadget.props.extended_search);\n
}\n
if (search_query) {\n
query_list.push(search_query);\n
}\n
search_query = new ComplexQuery({\n search_query = new ComplexQuery({\n
operator: "OR",\n operator: "AND",\n
query_list: query_list,\n query_list: query_list,\n
type: "complex"\n type: "complex"\n
});\n });\n
\n
return gadget.redirect({\n return gadget.redirect({\n
command: \'store_and_change\',\n command: \'store_and_change\',\n
options: {\n options: {\n
...@@ -703,7 +734,7 @@ ...@@ -703,7 +734,7 @@
});\n });\n
\n \n
}(window, document, rJS, URI, RSVP, loopEventListener,\n }(window, document, rJS, URI, RSVP, loopEventListener,\n
SimpleQuery, ComplexQuery, Query, Handlebars, console)); SimpleQuery, ComplexQuery, Query, Handlebars, console, QueryFactory));
]]></string> </value> ]]></string> </value>
</item> </item>
...@@ -840,7 +871,7 @@ ...@@ -840,7 +871,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>949.3576.234.9489</string> </value> <value> <string>949.16516.37897.4249</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -858,7 +889,7 @@ ...@@ -858,7 +889,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1455109014.98</float> <float>1455899151.12</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -134,6 +134,10 @@ ...@@ -134,6 +134,10 @@
.declareAcquiredMethod("translateHtml", "translateHtml")\n .declareAcquiredMethod("translateHtml", "translateHtml")\n
.declareAcquiredMethod("notifyValid", "notifyValid")\n .declareAcquiredMethod("notifyValid", "notifyValid")\n
.declareAcquiredMethod("notifyInvalid", "notifyInvalid")\n .declareAcquiredMethod("notifyInvalid", "notifyInvalid")\n
.declareMethod(\'getTextContent\', function () {\n
var select = this.element.querySelector(\'select\');\n
return select.options[select.selectedIndex || 0].text;\n
})\n
.declareMethod(\'render\', function (options) {\n .declareMethod(\'render\', function (options) {\n
var i,\n var i,\n
template,\n template,\n
...@@ -357,7 +361,7 @@ ...@@ -357,7 +361,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>940.49457.43407.46148</string> </value> <value> <string>949.15483.53582.15957</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -375,7 +379,7 @@ ...@@ -375,7 +379,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1423135404.46</float> <float>1455899167.96</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -137,6 +137,17 @@ ...@@ -137,6 +137,17 @@
{{/each}}\n {{/each}}\n
</ul>\n </ul>\n
\n \n
{{#if action}}\n
<section class="ui-content-header-plain">\n
<h3 class="ui-content-title ui-body-c" data-i18n="[last]{{section_i18n}}">\n
<span class="ui-icon ui-icon-custom ui-icon-random">&nbsp;</span>\n
{{section_title}}\n
</h3>\n
</section>\n
<ul data-role="listview" data-theme="c" data-inset="true" class="document-listview">\n
<li><a data-i18n="{{action.i18n}}" class="ui-body-inherit" href="{{action.link}}">{{action.title}}</a></li>\n
</ul>\n
{{/if}}\n
</script>\n </script>\n
\n \n
</head>\n </head>\n
...@@ -265,7 +276,7 @@ ...@@ -265,7 +276,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>super_sven</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -279,7 +290,7 @@ ...@@ -279,7 +290,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>939.43978.9403.31744</string> </value> <value> <string>949.6674.56490.63948</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -297,8 +308,8 @@ ...@@ -297,8 +308,8 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1419266049.54</float> <float>1455548880.29</float>
<string>GMT</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
</object> </object>
......
...@@ -148,6 +148,7 @@ ...@@ -148,6 +148,7 @@
var gadget = this,\n var gadget = this,\n
erp5_document,\n erp5_document,\n
result_list,\n result_list,\n
action,\n
view_list;\n view_list;\n
\n \n
return gadget.jio_getAttachment(options.jio_key, "links")\n return gadget.jio_getAttachment(options.jio_key, "links")\n
...@@ -167,6 +168,17 @@ ...@@ -167,6 +168,17 @@
for (i = 0; i < view_list.length; i += 1) {\n for (i = 0; i < view_list.length; i += 1) {\n
promise_list.push(gadget.getUrlFor({command: \'change\', options: {view: view_list[i].href, page: undefined, editable: undefined}}));\n promise_list.push(gadget.getUrlFor({command: \'change\', options: {view: view_list[i].href, page: undefined, editable: undefined}}));\n
}\n }\n
if (erp5_document._links.action_object_clone_action) {\n
view_list.push(erp5_document._links.action_object_clone_action);\n
promise_list.push(gadget.getUrlFor({\n
command: \'change\',\n
options: {\n
view: erp5_document._links.action_object_clone_action.href,\n
page: undefined,\n
editable: true\n
}\n
}));\n
}\n
return RSVP.all(promise_list);\n return RSVP.all(promise_list);\n
})\n })\n
.push(function (all_result) {\n .push(function (all_result) {\n
...@@ -182,11 +194,16 @@ ...@@ -182,11 +194,16 @@
i18n: view_list[i - 2].title\n i18n: view_list[i - 2].title\n
});\n });\n
}\n }\n
\n if (erp5_document._links.action_object_clone_action) {\n
action = tab_list.pop();\n
}\n
return gadget.translateHtml(table_template({\n return gadget.translateHtml(table_template({\n
definition_title: "Workflow Transitions",\n definition_title: "Workflow Transitions",\n
documentlist: tab_list,\n documentlist: tab_list,\n
definition_i18n: "Workflow-Transitions"\n definition_i18n: "Workflow-Transitions",\n
section_i18n: "Actions",\n
section_title: "Actions",\n
action: action\n
}));\n }));\n
})\n })\n
.push(function (my_translated_html) {\n .push(function (my_translated_html) {\n
...@@ -323,7 +340,7 @@ ...@@ -323,7 +340,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>romain</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -337,7 +354,7 @@ ...@@ -337,7 +354,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>946.30039.19211.22562</string> </value> <value> <string>949.12503.60091.29166</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -355,8 +372,8 @@ ...@@ -355,8 +372,8 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1444985792.56</float> <float>1455643788.16</float>
<string>GMT</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
</object> </object>
......
...@@ -115,7 +115,9 @@ ...@@ -115,7 +115,9 @@
.declareAcquiredMethod("notifyValid", "notifyValid")\n .declareAcquiredMethod("notifyValid", "notifyValid")\n
.declareAcquiredMethod("notifyInvalid", "notifyInvalid")\n .declareAcquiredMethod("notifyInvalid", "notifyInvalid")\n
.declareAcquiredMethod("notifyChange", "notifyChange")\n .declareAcquiredMethod("notifyChange", "notifyChange")\n
\n .declareMethod(\'getTextContent\', function () {\n
return this.element.querySelector(\'input\').getAttribute(\'value\');\n
})\n
.declareMethod(\'render\', function (options) {\n .declareMethod(\'render\', function (options) {\n
var input = this.element.querySelector(\'input\'),\n var input = this.element.querySelector(\'input\'),\n
field_json = options.field_json || {};\n field_json = options.field_json || {};\n
...@@ -317,7 +319,7 @@ ...@@ -317,7 +319,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>romain</string> </value> <value> <string>zope</string> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -331,7 +333,7 @@ ...@@ -331,7 +333,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>937.64311.60842.27084</string> </value> <value> <string>949.15479.27859.47018</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -349,8 +351,8 @@ ...@@ -349,8 +351,8 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1412257626.39</float> <float>1455899182.71</float>
<string>GMT</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
</object> </object>
......
...@@ -180,15 +180,15 @@ ...@@ -180,15 +180,15 @@
</tr>\n </tr>\n
\n \n
<tr>\n <tr>\n
<td>waitForElementPresent</td>\n <td>waitForTextPresent</td>\n
<td>//input[@title="listbox_start_date"]</td>\n <td>2022-12-21</td>\n
<td></td>\n <td></td>\n
</tr>\n </tr>\n
\n \n
<tr>\n <tr>\n
<td>verifyValue</td>\n <td>waitForTextPresent</td>\n
<td>//input[@title="listbox_start_date"]</td>\n
<td>2022-12-21</td>\n <td>2022-12-21</td>\n
<td></td>\n
</tr>\n </tr>\n
\n \n
</tbody></table>\n </tbody></table>\n
......
...@@ -85,6 +85,65 @@ ...@@ -85,6 +85,65 @@
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/clear_query" />\n <tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/clear_query" />\n
\n \n
\n \n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//button[@data-i18n=\'Sort\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>click</td>\n
<td>//button[@data-i18n=\'Sort\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//form[@class=\'plus\']</td>\n
<td></td>\n
</tr>\n
\n
\n
\n
<tr>\n
<td>click</td>\n
<td>//form[@class=\'plus\']//button</td>\n
<td></td>\n
</tr>\n
\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//div[@class=\'sort_item_container ui-controlgroup ui-corner_all\']/div[1]</td>\n
<td></td>\n
</tr>\n
\n
\n
\n
\n
<tr>\n
<td>select</td>\n
<td>//div[@class=\'sort_item_container ui-controlgroup ui-corner_all\']/div[1]/div[2]//select</td>\n
<td>index=0</td>\n
</tr>\n
\n
\n
\n
<tr>\n
<td>click</td>\n
<td>//form[@class="submit"]//button</td>\n
<td></td>\n
</tr>\n
\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>link=Title 0</td>\n
<td></td>\n
</tr>\n
\n
\n
\n
<tr>\n <tr>\n
<td>waitForElementPresent</td>\n <td>waitForElementPresent</td>\n
<td>//button[@data-i18n=\'Hide Rows\']</td>\n <td>//button[@data-i18n=\'Hide Rows\']</td>\n
...@@ -159,10 +218,15 @@ ...@@ -159,10 +218,15 @@
\n \n
<tr>\n <tr>\n
<td>verifyElementNotPresent</td>\n <td>verifyElementNotPresent</td>\n
<td>//tbody/tr[2]</td>\n <td>//input[@value=\'1\']</td>\n
<td></td>\n <td></td>\n
</tr>\n </tr>\n
\n \n
<tr>\n
<td>verifyElementNotPresent</td>\n
<td>//input[@value=\'2\']</td>\n
<td></td>\n
</tr>\n
\n \n
\n \n
<tr>\n <tr>\n
...@@ -217,27 +281,28 @@ ...@@ -217,27 +281,28 @@
\n \n
\n \n
<tr>\n <tr>\n
<td>verifyElementPresent</td>\n <td>verifyElementNotPresent</td>\n
<td>//tbody/tr/th</td>\n <td>//input[@value=\'0\']</td>\n
<td></td>\n <td></td>\n
</tr>\n </tr>\n
\n \n
\n \n
<tr>\n <tr>\n
<td>verifyElementPresent</td>\n <td>verifyElementNotPresent</td>\n
<td>//tbody/tr[2]</td>\n <td>//input[@value=\'1\']</td>\n
<td></td>\n <td></td>\n
</tr>\n </tr>\n
\n \n
<tr>\n <tr>\n
<td>verifyElementPresent</td>\n <td>verifyElementNotPresent</td>\n
<td>//tbody/tr[3]</td>\n <td>//input[@value=\'2\']</td>\n
<td></td>\n <td></td>\n
</tr>\n </tr>\n
\n \n
\n \n
\n \n
\n \n
\n
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/clear_query" />\n <tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/clear_query" />\n
\n \n
\n \n
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<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_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <unicode encoding="cdata"><![CDATA[
<html xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal">\n
<head>\n
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\n
<title>Test RenderJS UI</title>\n
</head>\n
<body>\n
<table cellpadding="1" cellspacing="1" border="1">\n
<thead>\n
<tr><td rowspan="1" colspan="3">Test RenderJS UI</td></tr>\n
</thead><tbody>\n
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />\n
\n
<!-- Clean Up -->\n
<tr>\n
<td>open</td>\n
<td>${base_url}/bar_module/ListBoxZuite_reset</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>assertTextPresent</td>\n
<td>Reset Successfully.</td>\n
<td></td>\n
</tr>\n
\n
<!-- Initialize -->\n
<tr>\n
<td>open</td>\n
<td>${base_url}/web_site_module/renderjs_runner/#/foo_module</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//a[@data-i18n=\'Add\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>click</td>\n
<td>link=Add</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//button[@data-i18n=\'Proceed\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>select</td>\n
<td>//select[@name=\'field_your_portal_type\']</td>\n
<td>label=Foo</td>\n
</tr>\n
\n
<tr>\n
<td>click</td>\n
<td>//button[@data-i18n=\'Proceed\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//a[@data-i18n="Add"]</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>click</td>\n
<td>//a[@data-i18n="Add"]</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>click</td>\n
<td>link=Add</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//button[@data-i18n=\'Proceed\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>select</td>\n
<td>//select[@name=\'field_your_portal_type\']</td>\n
<td>label=Foo Line</td>\n
</tr>\n
\n
<tr>\n
<td>click</td>\n
<td>//button[@data-i18n=\'Proceed\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//button[@data-i18n=\'Save\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>click</td>\n
<td>//a[@data-i18n=\'Back\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//input[@title="listbox_start_date"]</td>\n
<td></td>\n
</tr>\n
\n
\n
<tr>\n
<td>click</td>\n
<td>//a[@data-i18n="Tabs"]</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//a[@data-i18n="View"]</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>click</td>\n
<td>//a[@data-i18n="View"]</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForTextPresent</td>\n
<td>1</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>1</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>verifyElementNotPresent</td>\n
<td>//input[@title="listbox_start_date"]</td>\n
<td></td>\n
</tr>\n
\n
\n
\n
</tbody></table>\n
</body>\n
</html>
]]></unicode> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>testListboxInNoEditableMode</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<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_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <unicode encoding="cdata"><![CDATA[
<html xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal">\n
<head>\n
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\n
<title>Test RenderJS UI</title>\n
</head>\n
<body>\n
<table cellpadding="1" cellspacing="1" border="1">\n
<thead>\n
<tr><td rowspan="1" colspan="3">Test RenderJS UI</td></tr>\n
</thead><tbody>\n
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />\n
\n
<!-- Clean Up -->\n
<tr>\n
<td>open</td>\n
<td>${base_url}/bar_module/ListBoxZuite_reset</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>assertTextPresent</td>\n
<td>Reset Successfully.</td>\n
<td></td>\n
</tr>\n
\n
<!-- Initialize -->\n
<tr>\n
<td>open</td>\n
<td>${base_url}/web_site_module/renderjs_runner/#/foo_module</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//a[@data-i18n=\'Add\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>click</td>\n
<td>link=Add</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//button[@data-i18n=\'Proceed\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>select</td>\n
<td>//select[@name=\'field_your_portal_type\']</td>\n
<td>label=Foo</td>\n
</tr>\n
\n
<tr>\n
<td>click</td>\n
<td>//button[@data-i18n=\'Proceed\']</td>\n
<td></td>\n
</tr>\n
\n
\n
\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//a[@data-i18n="Add"]</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>click</td>\n
<td>//a[@data-i18n="Add"]</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>click</td>\n
<td>link=Add</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//button[@data-i18n=\'Proceed\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>select</td>\n
<td>//select[@name=\'field_your_portal_type\']</td>\n
<td>label=Foo Line</td>\n
</tr>\n
\n
<tr>\n
<td>click</td>\n
<td>//button[@data-i18n=\'Proceed\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//button[@data-i18n=\'Save\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>click</td>\n
<td>//a[@data-i18n=\'Back\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//input[@title="listbox_start_date"]</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>type</td>\n
<td>//input[@title="listbox_start_date"]</td>\n
<td>2022-12-21</td>\n
</tr>\n
\n
\n
<tr>\n
<td>type</td>\n
<td>//input[@title="Short Title"]</td>\n
<td>test_clone</td>\n
</tr>\n
\n
\n
<tr>\n
<td>check</td>\n
<td>//input[@title="Frozen"]</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>select</td>\n
<td>//select[@name=\'field_my_local_title\']</td>\n
<td>label=First title</td>\n
</tr>\n
\n
\n
\n
<tr>\n
<td>type</td>\n
<td>//input[@name=\'field_my_foo_category_title\']</td>\n
<td>a1</td>\n
</tr>\n
\n
<tr>\n
<td>fireEvent</td>\n
<td>//input[@name=\'field_my_foo_category_title\']</td>\n
<td>input</td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//li[@data-relative-url=\'portal_categories/foo_category/a/a1\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>click</td>\n
<td>//li[@data-relative-url=\'portal_categories/foo_category/a/a1\']</td>\n
<td></td>\n
</tr>\n
\n
\n
\n
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/save" />\n
\n
<tr>\n
<td>click</td>\n
<td>//a[@data-i18n="Tabs"]</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//a[@data-i18n="View"]</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>click</td>\n
<td>//a[@data-i18n="View"]</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//input[@title="Short Title"]</td>\n
<td></td>\n
</tr>\n
\n
\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@title="Short Title"]</td>\n
<td>test_clone</td>\n
</tr>\n
\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name=\'field_my_foo_category_title\']</td>\n
<td>a1</td>\n
</tr>\n
\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@title=\'Frozen\']</td>\n
<td>on</td>\n
</tr>\n
\n
<tr>\n
<td>verifyValue</td>\n
<td>//select[@name=\'field_my_local_title\']</td>\n
<td>First title</td>\n
</tr>\n
\n
<tr>\n
<td>storeValue</td>\n
<td>//input[@name=\'field_my_id\']</td>\n
<td>original_id</td>\n
</tr>\n
\n
<tr>\n
<td>click</td>\n
<td>//a[@data-i18n=\'Actions\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//a[@data-i18n=\'Clone Document\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>click</td>\n
<td>//a[@data-i18n=\'Clone Document\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//button[@data-i18n=\'Proceed\']</td>\n
<td></td>\n
</tr>\n
\n
\n
<tr>\n
<td>click</td>\n
<td>//button[@data-i18n=\'Proceed\']</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>waitForElementPresent</td>\n
<td>//input[@title="Short Title"]</td>\n
<td></td>\n
</tr>\n
\n
\n
<tr>\n
<td>verifyElementPresent</td>\n
<td>//button[@data-i18n="Save"]</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@title="Short Title"]</td>\n
<td>test_clone</td>\n
</tr>\n
\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name=\'field_my_foo_category_title\']</td>\n
<td>a1</td>\n
</tr>\n
\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@title=\'Frozen\']</td>\n
<td>on</td>\n
</tr>\n
\n
<tr>\n
<td>verifyValue</td>\n
<td>//select[@name=\'field_my_local_title\']</td>\n
<td>First title</td>\n
</tr>\n
\n
<tr>\n
<td>verifyNotValue</td>\n
<td>//input[@name=\'field_my_id\']</td>\n
<td>original_id</td>\n
</tr>\n
\n
\n
</tbody></table>\n
</body>\n
</html>
]]></unicode> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>testCloneDocument</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -136,7 +136,7 @@ else:\n ...@@ -136,7 +136,7 @@ else:\n
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>clone=1, form_id=\'view\', web_mode=0, editable_mode=0, batch_mode=0</string> </value> <value> <string>clone=1, form_id=\'view\', web_mode=0, editable_mode=0, batch_mode=0, **kw</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
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