Commit c8be0780 authored by Vincent Pelletier's avatar Vincent Pelletier

Add layout support for forms (keep backward compatibility).


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@6016 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 571bd069
...@@ -54,89 +54,92 @@ ...@@ -54,89 +54,92 @@
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n <tal:block tal:define="layout_form_id here/getApplicableLayout | nothing;\n
"DTD/xhtml1-strict.dtd">\n editable_mode request/editable_mode | nothing;\n
ignore_layout request/ignore_layout | nothing;\n
global layout_form python:(not layout_form_id or ignore_layout) or getattr(here, layout_form_id, None);\n
layout_id layout_form/pt | string:view_master">\n
<tal:block tal:condition="python: not layout_form_id or ignore_layout">\n
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">\n
<?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n <?xml-stylesheet href="erp5.css" rel="stylesheet" type="text/css"?>\n
\n
<tal:block tal:replace="nothing">\n
<!--\n
Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.\n
Jean-Paul Smets <jp@nexedi.com>\n
Thierry Faucher \n
\n
This program is Free Software; you can redistribute it and/or\n
modify it under the terms of the GNU General Public License\n
as published by the Free Software Foundation; either version 2\n
of the License, or (at your option) any later version.\n
\n
This program is distributed in the hope that it will be useful,\n
but WITHOUT ANY WARRANTY; without even the implied warranty of\n
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n
GNU General Public License for more details.\n
\n
You should have received a copy of the GNU General Public License\n
along with this program; if not, write to the Free Software\n
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n
-->\n
</tal:block>\n </tal:block>\n
\n
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"\n <html xmlns="http://www.w3.org/1999/xhtml" lang="en"\n
xml:lang="en"\n xml:lang="en"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal"\n xmlns:metal="http://xml.zope.org/namespaces/metal"\n
xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n xmlns:i18n="http://xml.zope.org/namespaces/i18n"\n
metal:use-macro="here/view_master/macros/master">\n metal:use-macro="python:getattr(here,layout_id).macros[\'master\']">\n
\n <tal:block metal:fill-slot="main">\n
<head tal:define="dummy python:request.RESPONSE.setHeader(\'Content-Type\', \'text/html;; charset=utf-8\')">\n <tal:block metal:define-macro="form_render">\n
<meta name="description" content="Generated by form_view" />\n <tal:block tal:define="field_errors python: request.get(\'field_errors\',{});\n
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n dummy python: request.set(\'here\',here)"\n
<title tal:content="template/title_or_id"\n tal:condition="python: layout_form_id and not ignore_layout">\n
i18n:translate="" i18n:domain="ui">\n <tal:block tal:condition="not: editable_mode" tal:repeat="group python: form.get_groups()">\n
The title\n <div tal:attributes="class group" tal:condition="python: group.find(\'content\') >= 0">\n
</title>\n <tal:block tal:repeat="field python:form.get_fields_in_group(group)"\n
<link href="erp5.css" rel="stylesheet" type="text/css" />\n tal:replace="structure python: field.render(None, request)"/>\n
</head>\n </div>\n
<body>\n </tal:block>\n
\n <tal:block tal:condition="editable_mode" tal:repeat="group python: form.get_groups()">\n
<tal:block metal:fill-slot="main"> \n <div tal:attributes="class group">\n
<div class="Main" metal:define-macro="form_layout">\n <table tal:condition="python: \'content\' not in group">\n
<tal:block tal:define="groups python: form.get_groups(include_empty=1);\n <tal:block tal:repeat="field python:form.get_fields_in_group(group)">\n
field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here)">\n
<table class="Border" width="100%" tal:condition="python:\n
(len(form.get_fields_in_group(groups[0])) > 0) or\n
(len(form.get_fields_in_group(groups[1])) > 0)">\n
<tal:block tal:repeat="group python: groups[:2]">\n
<td valign="top">\n
<table>\n
<tal:block tal:repeat="field python:form.get_fields_in_group(group)">\n
<tal:block metal:use-macro="here/field_render/macros/field_render"/>\n
</tal:block>\n
</table>\n
</td>\n
</tal:block>\n
</table>\n
<tal:block tal:condition="python: \n
(len(groups) > 2) and\n
(len(form.get_fields_in_group(groups[2])) > 0)">\n
<table class="Border">\n
<tal:block tal:repeat="field python:form.get_fields_in_group(groups[2])">\n
<tal:block metal:use-macro="here/field_render/macros/field_render"/>\n <tal:block metal:use-macro="here/field_render/macros/field_render"/>\n
</tal:block>\n </tal:block>\n
</table>\n </table>\n
</tal:block>\n <tal:block tal:condition="python: \'content\' in group" tal:repeat="field python:form.get_fields_in_group(group)">\n
<tal:block tal:condition="python: len(groups)>3">\n
<tal:block tal:repeat="field python:form.get_fields_in_group(groups[3])">\n
<tal:block tal:define="value python:request.get(field.id, None)"\n <tal:block tal:define="value python:request.get(field.id, None)"\n
tal:replace="structure python:field.render(value, request)" />\n tal:replace="structure python:field.render(value, request)" />\n
</tal:block>\n
</div>\n
</tal:block>\n
</tal:block>\n
<tal:block tal:condition="python: not layout_form_id or ignore_layout">\n
<tal:block metal:define-macro="form_layout">\n
<div class="Main" tal:define="field_errors python: request.get(\'field_errors\',{});\n
dummy python: request.set(\'here\',here)">\n
<tal:block tal:define="groups python: form.get_groups();\n
rows python:[];">\n
<tal:block tal:repeat="group groups">\n
<tal:block tal:condition="python: not (\'right\' in group) or\n
len(rows)==0">\n
<tal:block tal:define="dummy python: rows.append([])"/>\n
</tal:block>\n
<tal:block tal:condition="python: \'hidden\' not in group">\n
<tal:block tal:define="dummy python: rows[-1].append(repeat[\'group\'].index)"/>\n
</tal:block>\n
</tal:block>\n
<tal:block tal:repeat="row rows">\n
<tal:block tal:condition="python: \'bottom\' not in groups[row[0]]">\n
<table width="100%" class="Border">\n
<tr>\n
<td tal:repeat="cell row" valign="top">\n
<table width="100%">\n
<tal:block tal:repeat="field python:form.get_fields_in_group(groups[cell])">\n
<tal:block metal:use-macro="here/field_render/macros/field_render"/>\n
</tal:block>\n
</table>\n
</td>\n
</tr>\n
</table>\n
</tal:block>\n
<tal:block tal:condition="python: \'bottom\' in groups[row[0]]">\n
<tal:block tal:repeat="cell row">\n
<tal:block tal:repeat="field python:form.get_fields_in_group(groups[cell])">\n
<tal:block tal:define="value python:request.get(field.id, None)"\n
tal:replace="structure python:field.render(value, request)" />\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n
</tal:block>\n </tal:block>\n
</tal:block>\n </div>\n
</tal:block>\n </tal:block>\n
</div>\n </tal:block>\n
</tal:block>\n </tal:block>\n
\n </tal:block>\n
</body>\n </html>\n
</html> </tal:block>
]]></string> </value> ]]></string> </value>
</item> </item>
......
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