Commit 650a24e4 authored by Aurel's avatar Aurel

Merge remote-tracking branch 'origin/master' into syncml

parents ee96a7fd c741f04f
......@@ -87,6 +87,7 @@ reversal = accounting_module.newContent (\n
mapping={\'title\': unicode(context.getTitleOrId(), \'utf8\'),\n
\'specific_reference\': specific_reference}),\n
resource=context.getResource(),\n
specialise_list=context.getSpecialiseList(),\n
causality_value_list=causality_value_list,\n
created_by_builder=1 # XXX to prevent init script to create lines\n
)\n
......
1522
\ No newline at end of file
1523
\ No newline at end of file
<?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>_body</string> </key>
<value> <string>from json import dumps\n
return dumps(d)\n
</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>d</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Base_asJSON</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?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>_body</string> </key>
<value> <string>return context.ERP5Site_viewQuickSearchResultList(\n
field_your_search_text = field_your_search_text,\n
field_your_search_portal_type = field_your_search_portal_type,\n
all_languages=all_languages)\n
</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>field_your_search_text=\'\', field_your_search_portal_type=None, all_languages=False</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Site_processAdvancedSearch</string> </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[
<tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
tal:define="tab here/ERP5Site_getSelectedTab;\n
preferred_access_tab python:here.portal_preferences.getPreferredHtmlStyleAccessTab()">\n
<tal:block tal:condition="python:tab is not None and preferred_access_tab">\n
<tal:block tal:define="tab_renderer_form_object python: getattr(here, tab[\'renderer\'], None)">\n
<metal:block use-macro="here/erp5_site_main_template/macros/master">\n
<!--\n
<metal:block fill-slot="tabs">\n
<tal:block tal:replace="structure python:here.ERP5Site_renderTabList(selected_tab=tab[\'id\'])" />\n
</metal:block>\n
<metal:block fill-slot="content">\n
<tal:block tal:condition="tab_renderer_form_object"\n
tal:replace="structure python: tab_renderer_form_object()" />\n
<tal:block tal:condition="not: tab_renderer_form_object">\n
Server side error.\n
</tal:block>\n
</metal:block>\n
-->\n
\n
</metal:block>\n
</tal:block>\n
</tal:block>\n
<tal:block tal:condition="python:tab is None or not preferred_access_tab">\n
<tal:block tal:replace="structure here/ERP5Site_viewClassicFrontPage" />\n
</tal:block>\n
</tal:block>
]]></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>ERP5Site_view</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>
......@@ -90,7 +90,7 @@ for field_id in form.get_field_ids():\n
field_dict[\'display_width\'] = None\n
\n
# XXX: DateTime not serialize-able (see Base_viewMetaData)?\n
# in what format to transfer to client renderjs.js ? (seconds sinc eepoch?)\n
# in what format to transfer to client renderjs.js ? (seconds since epoch?)\n
if field_meta_type in ["DateTimeField"]:\n
if field_value not in MARKER:\n
field_value = field_value.strftime("%Y/%m/%d")\n
......@@ -102,6 +102,7 @@ for field_id in form.get_field_ids():\n
field_dict[\'listbox\'][\'lines\'] = original_field.get_value("lines")\n
field_dict[\'listbox\'][\'columns\'] = [x for x in original_field.get_value("columns")]\n
field_dict[\'listbox\'][\'listbox_data_url\'] = "Listbox_asJSON"\n
field_dict[\'listbox\'][\'listbox_html\'] = original_field.render()\n
\n
if field_meta_type in LIST_FIELDS:\n
# form contains selects, pass list of selects\' values and calculate default one?\n
......
......@@ -59,7 +59,7 @@
\n
<!-- render gadget asynchronously -->\n
<div data-gadget-cacheable="1"\n
tal:attributes="data-gadget string:gadgets/form/${field_type}/gadget?field_name=${field_name};\n
tal:attributes="data-gadget string:gadgets/form/${field_type}/gadget?field_name=${field_name}&form_id=${form_id};\n
id string:${form_id}_${field_name};\n
data-gadget-cache-id string:${form_id}_${field_name};"></div>\n
\n
......
......@@ -67,7 +67,6 @@ request = context.REQUEST\n
# Get the form\n
form = getattr(context,form_id)\n
edit_order = form.edit_order\n
\n
try:\n
# Validate\n
form.validate_all_to_request(request, key_prefix=key_prefix)\n
......@@ -81,8 +80,8 @@ except FormValidationError, validation_errors:\n
return dumps(result)\n
\n
(kw, encapsulated_editor_list), action = context.Base_edit(form_id, silent_mode=1)\n
context.log(\'%s %s\' %(kw, encapsulated_editor_list))\n
\n
context.log(kw)\n
context.edit(REQUEST=request, edit_order=edit_order, **kw)\n
for encapsulated_editor in encapsulated_editor_list:\n
encapsulated_editor.edit(context)\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[
<tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<metal:block define-macro="master">\n
<tal:block tal:define="title here/Title;\n
enctype string:multipart/form-data;\n
portal context/portal_url/getPortalObject;">\n
<tal:block metal:use-macro="here/main_template/macros/master">\n
<tal:block metal:fill-slot="main">\n
<tal:block tal:condition="here/portal_membership/isAnonymousUser">\n
<tal:block tal:define="dummy python:request.RESPONSE.redirect(\'%s/login_form\' % portal.absolute_url())" />\n
</tal:block>\n
<tal:block tal:condition="python:not here.portal_membership.isAnonymousUser()">\n
<div class="index_html">\n
<div class="document">\n
<tal:block tal:condition="python: here.getPortalObject().restrictedTraverse(\'portal_gadgets\', None) is not None">\n
<tal:block tal:condition="exists:here/ERP5Site_viewHomeAreaRenderer"\n
tal:replace="structure python: here.ERP5Site_viewHomeAreaRenderer(create_default_pad=True, \n
make_security_check=True)" />\n
</tal:block>\n
</div>\n
</div>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</metal:block>\n
</tal:block>
]]></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>erp5_site_main_template</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>iso-8859-15</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>\074html\076\n
\074head\076\n
\074title tal:content="template/title"\076The title\074/title\076\n
\074meta http-equiv="content-type" content="text/html;charset=utf-8"\076\n
\074/head\076\n
\074body\076\n
\n
\074script type="text/javascript" language="javascript"\076\n
//\074![CDATA[\n
$(document).ready(function() {\n
gadget = RenderJs.getSelfGadget();\n
\n
// default tab should be openned fist\n
gadget.redirect = function () {\n
$.url.redirect(\'/\' + gadget.default_tab_url + \'/\');\n
};\n
\n
// default route\n
RenderJs.RouteGadget.add(\'\', gadget.redirect, 1);\n
\n
$.each(gadget.action_id_list, function(index, value) {\n
// add dynamic function to gadget that will take care to render tab using gadgets\n
gadget[value] = function () {\n
ERP5Form.openFormInTabbularGadget(gadget.tab_container_id, value);\n
};\n
//add dynamic route\n
RenderJs.RouteGadget.add(\'/\' + value + \'/\', gadget[value], 1);\n
});\n
});\n
//]]\076\n
\074/script\076\n
\n
\074/body\076\n
\074/html\076</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>erp5_tabbular_form_renderer</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="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts63093392.7</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>gadget-style.css</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/css</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string>.document .content{\n
min-height:100px;\n
}\n
.required-field label{\n
font-weight: bold;\n
}\n
\n
\n
.validation-failed {\n
border: 1px solid red;\n
}\n
\n
.center_left {\n
float:left;\n
width: 50%;\n
}\n
\n
.center_right {\n
float: left;\n
margin-left: 0.5%;\n
width: 47.5%;\n
}\n
\n
fieldset.left {\n
margin-right:0px;\n
}\n
\n
fieldset.right {\n
width:47.5%;\n
margin-left:0.5%;\n
}\n
.center_left,\n
.center_right{\n
border: 1px solid #97B0D1;\n
padding-left: 5px;\n
padding-right: 5px;\n
padding-top: 5px;\n
margin-bottom: 5px;\n
}\n
\n
//portal_status_gadget CSS\n
#portal_status_message p {\n
display:none;\n
color:red;\n
}</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>587</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -37,9 +37,9 @@
<value> <unicode encoding="cdata"><![CDATA[
<tal:block tal:define="field_name request/field_name | options/field_name">\n
<table tal:attributes="id field_name">\n
<div tal:attributes="id field_name">\n
<!-- Listbox content -->\n
</table>\n
</div>\n
<div tal:attributes="id string:${field_name}_pager">\n
<!-- Listbox navigation -->\n
</div>\n
......
......@@ -37,9 +37,14 @@
<value> <unicode encoding="cdata"><![CDATA[
<tal:block tal:define="field_name request/field_name | options/field_name">\n
<select tal:attributes="name string:subfield_${field_name}"\n
<select tal:attributes="name string:subfield_${field_name}_default:list"\n
size="1">\n
</select>\n
\n
<input type="hidden"\n
value="0"\n
class="serialize-able"\n
tal:attributes="name string:default_subfield_${field_name}_default:list:int">\n
</tal:block>
]]></unicode> </value>
......
......@@ -36,12 +36,19 @@
<key> <string>_text</string> </key>
<value> <unicode encoding="cdata"><![CDATA[
<tal:block tal:define="field_name request/field_name | options/field_name">\n
<tal:block tal:define="field_name request/field_name | options/field_name;\n
field_name_stipped python: field_name.replace(\'field_\', \'\');\n
form_id request/form_id | options/form_id;">\n
\n
<input type="text"\n
tal:attributes="name field_name"/>\n
<input type="image" name="portal_selections/viewSearchRelatedDocumentDialog0:method"\n
value="update..." src="images/exec16.png">\n
\n
<a tal:attributes="href string:Base_jumpToRelatedDocument?field_id=${field_name_stipped}&amp;form_id=${form_id}">\n
<img alt="jump" src="images/jump.png">\n
</a>\n
\n
</tal:block>
]]></unicode> </value>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>portal_status_message</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </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>\074html\076\n
\074head\076\n
\074/head\076\n
\074body\076\n
\074p class="portal-status-message" style="display:none; color:red;font-weight:bold;"\076\074/p\076\n
\n
\074script type="text/javascript" language="javascript"\076\n
//\074![CDATA[\n
$(document).ready(function() {\n
gadget = RenderJs.getSelfGadget();\n
\n
gadget.showMessage = function (message, timeout) {\n
// show message in UI\n
var msg_element = $("#portal_status_message p");\n
if (timeout===undefined) {\n
timeout = 4000;\n
}\n
msg_element.toggle();\n
msg_element.html(message);\n
window.setTimeout(\'$("#portal_status_message p").toggle();\', timeout);\n
};\n
});\n
//]]\076\n
\074/script\076\n
\074/body\076\n
\074/html\076</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>gadget</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>iso-8859-15</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -46,13 +46,19 @@
current_form_id python: request.get(\'current_form_id\', \'view\');\n
current_url python: \'%s/%s\' % (url, current_form_id);\n
current_action python: portal.ERP5Site_getCurrentAction(current_url, actions);\n
actions actions/object_view | python: [];">\n
actions actions/object_view | python: [];\n
action_id_list python:[x[\'url\'].split(\'/\')[-1] for x in actions];\n
data_gadget_property python: {\'tab_container_id\': \'form_gadget\',\n
\'default_tab_url\': action_id_list[0],\n
\'action_id_list\': action_id_list}">\n
\n
\n
<div data-gadget="gadgets/portal_status_message/gadget"\n
data-gadget-cache-id="portal_status_message"\n
data-gadget-cacheable="1"\n
id="portal_status_message"></div>\n
\n
\n
<div id="portal_status_message" style="height:20px; display:none;">\n
<p style="color:red; font-weight: bold;"></p>\n
</div>\n
\n
<div class="document">\n
\n
<div class="actions">\n
......@@ -62,16 +68,10 @@
<span class="description">Save</span>\n
</button>\n
\n
<script type="text/javascript"\n
tal:content="python:\'\'\'ERP5Form.setCurrentFormId(\'%s\');;\n
RenderJs.TabbularGadget.addNewTabGadget(\n
\'form_gadget\',\n
\'gadget-%s\',\n
\'%s/Form_asRenderJSGadget\',\n
\'ERP5Form.update\',\n
\'Form_asJSON?form_id=%s\', false);;\n
\'\'\' %(current_form_id, current_form_id, current_form_id, current_form_id)">\n
</script>\n
<!-- Test -->\n
<div data-gadget="erp5_tabbular_form_renderer"\n
id="erp5_tabbular_form_renderer"\n
tal:attributes="data-gadget-property python: here.Base_asJSON(data_gadget_property);"> </div>\n
\n
<!-- get all tabs from server -->\n
<ul class="tabs">\n
......@@ -80,8 +80,7 @@
tal:define="action_form python: action[\'url\'].split(\'/\')[-1]"\n
tal:attributes="id action_form;\n
class python: action == current_action and \'selected\' or \'not_selected\'">\n
\n
<a tal:attributes="onclick python: \'\'\'javascript: ERP5Form.openFormInTabbularGadget(\'form_gadget\', \'%s\');; return false ;;\'\'\' %(action_form)">\n
<a tal:attributes="onclick python: \'\'\'javascript: return ERP5Form.onTabClickHandler(\'%s\')\'\'\' %action_form">\n
<span i18n:translate=""\n
i18n:domain="ui"\n
tal:content="action/name">action_name</span>\n
......@@ -93,13 +92,13 @@
</div>\n
\n
<div class="content editable">\n
\n
\n
<!--Form rendered content goes here -->\n
<div id="form_gadget"></div>\n
\n
</div>\n
</div>\n
\n
\n
</div>
]]></unicode> </value>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>lib</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62754937.18</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>require-erp5.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string>// JavaScript file that is used to load ERP5\'s JavaScript depenencies\n
require.config({\n
paths: {\n
"erp5_form": "lib/erp5_form",\n
route: "lib/route",\n
url: "lib/url",\n
jquery: "jquery/core/jquery",\n
renderjs: "jquery/plugin/renderjs/renderjs",\n
"jquery-ui": "jquery/ui/js/jquery-ui.min",\n
"jquery.jqGrid.src": "jquery/plugin/jqgrid/jquery.jqGrid.src",\n
"grid.locale-en": "jquery/plugin/jqgrid/i18n/grid.locale-en"\n
},\n
shim: {\n
erp5: ["jquery"],\n
erp5_xhtml_appearance: ["erp5"],\n
erp5_knowledge_box: ["jquery", "jquery-ui"],\n
route: ["jquery"],\n
url: ["jquery"],\n
"jquery-ui": ["jquery"],\n
"jquery.jqGrid.src": ["jquery"],\n
"grid.locale-en": ["jquery.jqGrid.src"]\n
}\n
});\n
\n
require(["erp5_xhtml_appearance", "erp5_knowledge_box", "erp5", "erp5_form",\n
"renderjs", "jquery", "jquery-ui", "route", "url",\n
"jquery.jqGrid.src", "grid.locale-en"],\n
function(domReady) {\n
RenderJs.init();\n
RenderJs.bindReady(function (){\n
$.url.onhashchange(function () {\n
//console.log("go to route", $.url.getPath());\n
RenderJs.RouteGadget.go($.url.getPath(),\n
function () {\n
//console.log("bad route");\n
// All routes have been deleted by fail.\n
// So recreate the default routes using RouteGadget\n
RenderJs.RouteGadget.init();\n
});\n
});\n
});\n
});\n
</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>1474</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62728561.31</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>route.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="cdata"><![CDATA[
/*global window, jQuery */\n
/*!\n
* route.js v1.0.0\n
*\n
* Copyright 2012, Romain Courteaud\n
* Dual licensed under the MIT or GPL Version 2 licenses.\n
*\n
* Date: Mon Jul 16 2012\n
*/\n
"use strict";\n
(function (window, $) {\n
\n
$.extend({\n
StatelessDeferred: function () {\n
var doneList = $.Callbacks("memory"),\n
promise = {\n
done: doneList.add,\n
\n
// Get a promise for this deferred\n
// If obj is provided, the promise aspect is added to the object\n
promise: function (obj) {\n
var i,\n
keys = [\'done\', \'promise\'];\n
if (obj === undefined) {\n
obj = promise;\n
} else {\n
for (i = 0; i < keys.length; i += 1) {\n
obj[keys[i]] = promise[keys[i]];\n
}\n
}\n
return obj;\n
}\n
},\n
deferred = promise.promise({});\n
\n
deferred.resolveWith = doneList.fireWith;\n
\n
// All done!\n
return deferred;\n
}\n
});\n
\n
var routes = [],\n
current_priority = 0,\n
methods = {\n
add: function (pattern, priority) {\n
var i = 0,\n
inserted = false,\n
length = routes.length,\n
dfr = $.StatelessDeferred(),\n
context = $(this),\n
escapepattern,\n
matchingpattern;\n
\n
if (priority === undefined) {\n
priority = 0;\n
}\n
if (pattern !== undefined) {\n
\n
// http://simonwillison.net/2006/Jan/20/escape/\n
escapepattern = pattern.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, "\\\\$&");\n
matchingpattern = escapepattern\n
.replace(/<int:\\w+>/g, "(\\\\d+)")\n
.replace(/<path:\\w+>/g, "(.+)")\n
.replace(/<\\w+>/g, "([^/]+)");\n
\n
while (!inserted) {\n
if ((i === length) || (priority >= routes[i][2])) {\n
routes.splice(i, 0, [new RegExp(\'^\' + matchingpattern + \'$\'), dfr, priority, context]);\n
inserted = true;\n
} else {\n
i += 1;\n
}\n
}\n
}\n
return dfr.promise();\n
},\n
go: function (path, min_priority) {\n
var dfr = $.Deferred(),\n
context = $(this),\n
result;\n
\n
if (min_priority === undefined) {\n
min_priority = 0;\n
}\n
setTimeout(function () {\n
var i = 0,\n
found = false,\n
slice_index = -1,\n
slice_priority = -1;\n
for (i = 0; i < routes.length; i += 1) {\n
if (slice_priority !== routes[i][2]) {\n
slice_priority = routes[i][2];\n
slice_index = i;\n
}\n
if (routes[i][2] < min_priority) {\n
break;\n
} else if (routes[i][0].test(path)) {\n
result = routes[i][0].exec(path);\n
dfr = routes[i][1];\n
context = routes[i][3];\n
current_priority = routes[i][2];\n
found = true;\n
break;\n
}\n
}\n
if (i === routes.length) {\n
slice_index = i;\n
}\n
if (slice_index > -1) {\n
routes = routes.slice(slice_index);\n
}\n
if (found) {\n
dfr.resolveWith(\n
context,\n
result.slice(1)\n
);\n
} else {\n
dfr.rejectWith(context);\n
}\n
});\n
return dfr.promise();\n
},\n
};\n
\n
\n
$.routereset = function () {\n
routes = [];\n
current_priority = 0;\n
};\n
\n
$.routepriority = function () {\n
return current_priority;\n
};\n
\n
$.fn.route = function (method) {\n
var result;\n
if (methods.hasOwnProperty(method)) {\n
result = methods[method].apply(\n
this,\n
Array.prototype.slice.call(arguments, 1)\n
);\n
} else {\n
$.error(\'Method \' + method +\n
\' does not exist on jQuery.route\');\n
}\n
return result;\n
};\n
\n
}(window, jQuery));\n
]]></string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>3939</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>route.js</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts62728569.21</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>url.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>data</string> </key>
<value> <string encoding="cdata"><![CDATA[
/*!\n
* url.js v1.0.0\n
*\n
* Copyright 2012, Romain Courteaud\n
* Dual licensed under the MIT or GPL Version 2 licenses.\n
*\n
* Date: Mon Jul 16 2012\n
*/\n
"use strict";\n
(function (window, $) {\n
\n
var hashchangeinitialized = false,\n
previousurl,\n
currentcallback,\n
getRawHash = function () {\n
return window.location.toString().split(\'#\')[1];\n
},\n
callbackwrapper = function () {\n
if (previousurl !== window.location.hash) {\n
previousurl = window.location.hash;\n
if (currentcallback !== undefined) {\n
currentcallback();\n
}\n
}\n
},\n
timeoutwrapper = function () {\n
callbackwrapper();\n
window.setTimeout(timeoutwrapper, 500);\n
};\n
\n
function UrlHandler() {}\n
\n
UrlHandler.prototype = {\n
\'generateUrl\': function (path, options) {\n
var pathhash,\n
hash = \'#\',\n
key;\n
if (path !== undefined) {\n
hash += encodeURIComponent(path);\n
}\n
hash = hash.replace(/%2F/g, \'/\');\n
pathhash = hash;\n
for (key in options) {\n
if (options.hasOwnProperty(key)) {\n
if (hash === pathhash) {\n
hash = hash + \'?\';\n
} else {\n
hash = hash + \'&\';\n
}\n
hash += encodeURIComponent(key) +\n
\'=\' + encodeURIComponent(options[key]);\n
}\n
}\n
return hash;\n
},\n
\n
\'go\': function (path, options) {\n
window.location.hash = this.generateUrl(path, options);\n
},\n
\n
\'redirect\': function (path, options) {\n
var host = window.location.protocol + \'//\' +\n
window.location.host +\n
window.location.pathname +\n
window.location.search;\n
window.location.replace(host + this.generateUrl(path, options));\n
// window.location.replace(window.location.href.replace(/#.*/, ""));\n
},\n
\n
\'getPath\': function () {\n
var hash = getRawHash(),\n
result = \'\';\n
if (hash !== undefined) {\n
result = decodeURIComponent(hash.split(\'?\')[0]);\n
}\n
return result;\n
},\n
\n
\'getOptions\': function () {\n
var options = {},\n
hash = getRawHash(),\n
subhashes,\n
subhash,\n
index,\n
keyvalue;\n
if (hash !== undefined) {\n
hash = hash.split(\'?\')[1];\n
if (hash !== undefined) {\n
subhashes = hash.split(\'&\');\n
for (index in subhashes) {\n
if (subhashes.hasOwnProperty(index)) {\n
subhash = subhashes[index];\n
if (subhash !== \'\') {\n
keyvalue = subhash.split(\'=\');\n
if (keyvalue.length === 2) {\n
options[decodeURIComponent(keyvalue[0])] =\n
decodeURIComponent(keyvalue[1]);\n
}\n
}\n
}\n
}\n
}\n
}\n
return options;\n
},\n
\n
\'onhashchange\': function (callback) {\n
previousurl = undefined;\n
currentcallback = callback;\n
\n
if (!hashchangeinitialized) {\n
if (window.onhashchange !== undefined) {\n
$(window).bind(\'hashchange\', callbackwrapper);\n
window.setTimeout(callbackwrapper);\n
} else {\n
timeoutwrapper();\n
}\n
hashchangeinitialized = true;\n
}\n
},\n
};\n
\n
// Expose to the global object\n
$.url = new UrlHandler();\n
\n
}(window, jQuery));\n
]]></string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>size</string> </key>
<value> <int>3293</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>url.js</string> </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[
<tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n">\n
<tal:block tal:define="portal here/getPortalObject;\n
actions python:portal.portal_actions.listFilteredActionsFor(here)">\n
<span class="first">\n
<span id="favourites" class="favourites">\n
<select name="select_favorite"\n
onChange="submitAction(this.form,\'Base_doFavorite\')"\n
tal:define="ordered_global_actions python:here.getOrderedGlobalActionList(actions[\'global\']);\n
user_actions actions/user;">\n
<option selected="selected" value=""\n
i18n:translate="" i18n:domain="ui">My Favourites</option>\n
<tal:block tal:repeat="action ordered_global_actions">\n
<option tal:condition="action/disabled"\n
disabled="disabled">-- <tal:block tal:content="action/title" i18n:translate="" i18n:domain="ui" /> --</option>\n
<tal:block tal:condition="not:action/disabled"\n
tal:define="name python: action.get(\'name\', \'\');\n
index python: name.find(\' (\');">\n
<option tal:condition="python: index &gt;= 0"\n
tal:attributes="value action/url"><tal:block tal:content="python: name[:index]" i18n:translate="" i18n:domain="ui"></tal:block><tal:block tal:replace="python: name[index:]" /></option>\n
<option tal:condition="python: index &lt; 0"\n
tal:attributes="value action/url"\n
tal:content="action/name"\n
i18n:translate="" i18n:domain="ui"></option>\n
</tal:block>\n
</tal:block>\n
<tal:block tal:condition="user_actions">\n
<option disabled="disabled">-- <tal:block i18n:translate="" i18n:domain="ui">User</tal:block> --</option>\n
<option tal:repeat="action user_actions"\n
tal:content="action/name"\n
tal:attributes="value action/url"\n
i18n:translate="" i18n:domain="ui"></option>\n
</tal:block>\n
</select>\n
<button type="submit" name="Base_doFavorite:method" title="Select Favourite"\n
i18n:attributes="title" i18n:domain="ui">\n
<span class="image"></span>\n
<span class="description"\n
i18n:translate="" i18n:domain="ui">Select Favourite</span>\n
</button>\n
</span>\n
<span class="separator"><!--separator--></span>\n
<span id="modules" class="modules">\n
<select name="select_module"\n
onChange="submitAction(this.form,\'Base_doModule\')"\n
tal:define="module_list here/ERP5Site_getModuleItemList;">\n
<option selected="selected" value="" i18n:translate="" i18n:domain="ui">Modules</option>\n
<option tal:repeat="module module_list"\n
tal:attributes="value python: module[1]"\n
tal:content="python: module[0]"\n
tal:omit-tag="nothing" />\n
</select>\n
<button type="submit" name="Base_doModule:method" title="Select Module"\n
i18n:attributes="title" i18n:domain="ui">\n
<span class="image"></span>\n
<span class="description"\n
i18n:translate="" i18n:domain="ui">Select Module</span>\n
</button>\n
</span>\n
</span>\n
<span class="second">\n
<span id="language" class="language">\n
<select name="select_language"\n
tal:define="language_list python:portal.portal_preferences.getPreference(\'preferred_user_interface_language_list\', None)"\n
onChange="submitAction(this.form,\'Base_doLanguage\')">\n
<option value=""\n
i18n:translate="" i18n:domain="ui">My Language</option>\n
<tal:block tal:repeat="language python:portal.Localizer.get_languages_map()">\n
<option \n
tal:condition="python:not language_list or language[\'id\'] in language_list"\n
tal:omit-tag="nothing"\n
tal:attributes="value language/id;\n
selected python: language[\'selected\'] and \'selected\' or nothing;"\n
tal:content="python: here.Localizer.erp5_ui.gettext(language[\'title\'], lang=language[\'id\'])" />\n
</tal:block>\n
</select>\n
<button type="submit" name="Base_doLanguage:method" title="Select Language"\n
i18n:attributes="title" i18n:domain="ui">\n
<span class="image"></span>\n
<span class="description"\n
i18n:translate="" i18n:domain="ui">Select Language</span>\n
</button>\n
</span>\n
<span class="separator"><!--separator--></span>\n
<span id="search" class="search" tal:define="search_default_text python:here.Base_translateString(\'Search\')">\n
<input type="hidden" name="all_languages" value="1" />\n
<input class="quick_search_field" accesskey="4" type="text" name="field_your_search_text"\n
value="Search" tal:attributes="value string:${search_default_text};\n
onfocus string:if (this.value==\'${search_default_text}\') this.value=\'\';"\n
onfocus="this.value=\'\';"\n
onkeypress="submitFormOnEnter(event, this.form, \'ERP5Site_processAdvancedSearch\');" />\n
\n
<select size="1" class="input" name="field_your_search_portal_type">\n
<option value="" selected="selected" i18n:translate="" i18n:domain="ui">Everything</option>\n
<option value="all" i18n:translate="" i18n:domain="ui">All Documents</option>\n
<option tal:repeat="ptype here/getPortalDocumentTypeList"\n
tal:attributes="value ptype"\n
tal:content="python:ptype"\n
i18n:translate="" i18n:domain="ui">Standard Type</option>\n
<option value="Person" i18n:translate="" i18n:domain="ui">Person</option>\n
<option value="Organisation" i18n:translate="" i18n:domain="ui">Organisation</option>\n
</select>\n
\n
<button type="submit" name="ERP5Site_processAdvancedSearch:method" title="Search"\n
i18n:attributes="title" i18n:domain="ui">\n
<span class="image"></span>\n
<span class="description"\n
i18n:translate="" i18n:domain="ui">Search</span>\n
</button>\n
</span>\n
</span>\n
<p class="clear"></p>\n
</tal:block>\n
</tal:block>
]]></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>navigation_box_render</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>
......@@ -36,8 +36,7 @@
<key> <string>_text</string> </key>
<value> <unicode encoding="cdata"><![CDATA[
<div id="status" class="status"\n
tal:define="portal here/getPortalObject">\n
<div tal:define="portal here/getPortalObject">\n
\n
<div id="breadcrumb" class="breadcrumb">\n
<tal:block metal:use-macro="here/breadcrumb_render/macros/breadcrumb" />\n
......@@ -58,6 +57,7 @@
</div>\n
</tal:block>\n
\n
<!-- XXX add portal_status_message gadget -->\n
<div tal:content="request/portal_status_message | nothing" id="transition_message"\n
class="transition_message"/>\n
\n
......
2012-03-02 Ivan
* Initial work
\ No newline at end of file
* Initial worka
\ No newline at end of file
14
\ No newline at end of file
18
\ No newline at end of file
......@@ -109,7 +109,7 @@
</chain>
<chain>
<type>Preference</type>
<workflow>preference_workflow</workflow>
<workflow>edit_workflow, preference_workflow</workflow>
</chain>
<chain>
<type>Property Existence Constraint</type>
......@@ -137,7 +137,7 @@
</chain>
<chain>
<type>System Preference</type>
<workflow>preference_workflow</workflow>
<workflow>edit_workflow, preference_workflow</workflow>
</chain>
<chain>
<type>TALES Constraint</type>
......
......@@ -32,6 +32,7 @@ Extension Component | edit_workflow
Mapped Value | edit_workflow
Memcached Plugin | memcached_plugin_interaction_workflow
Predicate | rule_interaction_workflow
Preference | edit_workflow
Preference | preference_workflow
Property Existence Constraint | dynamic_class_generation_interaction_workflow
Property Sheet Tool | dynamic_class_generation_interaction_workflow
......@@ -39,6 +40,7 @@ Property Sheet | dynamic_class_generation_interaction_workflow
Property Type Validity Constraint | dynamic_class_generation_interaction_workflow
Standard Property | dynamic_class_generation_interaction_workflow
String Attribute Match Constraint | dynamic_class_generation_interaction_workflow
System Preference | edit_workflow
System Preference | preference_workflow
TALES Constraint | dynamic_class_generation_interaction_workflow
Test Component | component_validation_workflow
......
......@@ -689,8 +689,8 @@ def main(argument_list=None):
os.environ["erp5_tests_data_fs_path"] = arg
os.environ["erp5_tests_recreate_catalog"] = "1"
elif opt == '--bt5_path':
os.environ["erp5_tests_bt5_path"] = \
os.environ.get("erp5_tests_bt5_path", "") + arg
os.environ["erp5_tests_bt5_path"] = ','.join([arg] +
os.environ.get('erp5_tests_bt5_path', '').split(','))
elif opt == '--firefox_bin':
os.environ["firefox_bin"] = arg
elif opt == '--xvfb_bin':
......
......@@ -452,7 +452,7 @@ class Field:
elif obj_type is unicode:
return obj.encode('utf-8')
return str(obj)
return ''.join(map(getSearchSource,
return ' '.join(map(getSearchSource,
(self.values.values()+self.tales.values()+
self.overrides.values())))
......
......@@ -194,13 +194,6 @@ m.DeferredConnection = DeferredConnection
del m
folder_methods={
'manage_addZMySQLConnection':
manage_addZMySQLConnection,
'manage_addZMySQLConnectionForm':
manage_addZMySQLConnectionForm,
}
__ac_permissions__=(
('Add Z MySQL Database Connections',
('manage_addZMySQLConnectionForm',
......
......@@ -89,20 +89,17 @@ __version__='$Revision: 1.4 $'[11:-2]
from . import DA
methods=DA.folder_methods
misc_=DA.misc_
def initialize(context):
permission = "Add Z MySQL Database Connections"
context.registerClass(
DA.Connection,
permission=permission,
permission="Add Z MySQL Database Connections",
constructors=(DA.manage_addZMySQLConnectionForm,
DA.manage_addZMySQLConnection),
)
context.registerClass(
DA.DeferredConnection,
permission=permission,
visibility=None,
)
import Products
Products.meta_types += dict(Products.meta_types[-1],
name=DA.DeferredConnection.meta_type,
action=None),
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