unify create and edit forms; i18n fix: check session
This commit is contained in:
parent
a67bb15dd0
commit
738e82fb0b
3 changed files with 21 additions and 13 deletions
|
@ -149,6 +149,9 @@ class ObjectForm(NodeView):
|
|||
|
||||
@Lazy
|
||||
def data(self):
|
||||
return self.getData()
|
||||
|
||||
def getData(self):
|
||||
instance = self.instance
|
||||
data = instance.applyTemplate(mode='edit')
|
||||
form = self.request.form
|
||||
|
|
|
@ -71,18 +71,19 @@
|
|||
</form>
|
||||
|
||||
|
||||
<metal:block define-macro="create" i18n:domain="loops">
|
||||
<div dojoType="dijit.layout.BorderContainer"
|
||||
<form metal:define-macro="create" i18n:domain="loops"
|
||||
method="post" enctype="multipart/form-data"
|
||||
id="dialog_form" class="dialog"
|
||||
dojoType="dijit.form.Form"
|
||||
tal:define="qualifier request/qualifier|view/qualifier|string:resource;
|
||||
innerForm request/inner_form|view/inner_form|string:inner_form.html;
|
||||
typeToken view/typeToken;
|
||||
fixedType view/fixedType;
|
||||
langInfo view/languageInfo;
|
||||
language langInfo/language">
|
||||
<div dojoType="dijit.layout.BorderContainer"
|
||||
style="width: 70em; height: 600px"
|
||||
tal:omit-tag="not:view/isInnerHtml">
|
||||
<form method="post" enctype="multipart/form-data"
|
||||
id="dialog_form" class="dialog"
|
||||
tal:define="qualifier request/qualifier|view/qualifier|string:resource;
|
||||
innerForm request/inner_form|view/inner_form|string:inner_form.html;
|
||||
typeToken view/typeToken;
|
||||
fixedType view/fixedType;
|
||||
langInfo view/languageInfo;
|
||||
language langInfo/language">
|
||||
<div dojoType="dijit.layout.ContentPane" region="center"
|
||||
tal:omit-tag="not:view/isInnerHtml">
|
||||
<input type="hidden" name="form.action" value="create"
|
||||
|
@ -113,6 +114,7 @@
|
|||
tal:condition="fixedType"
|
||||
tal:attributes="value typeToken" />
|
||||
<script type="text/javascript"
|
||||
tal:condition="not:fixedType"
|
||||
tal:content="string:replaceFieldsNode(
|
||||
'form.fields', 'form.type',
|
||||
'${view/virtualTargetUrl}/$innerForm')">
|
||||
|
@ -135,9 +137,8 @@
|
|||
</table>
|
||||
</div>
|
||||
<div metal:use-macro="view/template/macros/buttons" />
|
||||
</form>
|
||||
</div>
|
||||
</metal:block>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
<metal:assignments define-macro="assignments"
|
||||
|
|
|
@ -62,6 +62,10 @@ class LanguageInfo(object):
|
|||
if len(available) == 1:
|
||||
return available[0]
|
||||
lang = self.request.get('loops.language')
|
||||
if lang is not None and lang in available:
|
||||
return lang
|
||||
session = ISession(self.request)[packageId]
|
||||
lang = session.get('language')
|
||||
if lang is not None and lang in available:
|
||||
return lang
|
||||
return (negotiator.getLanguage(available, self.request)
|
||||
|
|
Loading…
Add table
Reference in a new issue