diff --git a/browser/form.py b/browser/form.py index 8849868..d68e74f 100644 --- a/browser/form.py +++ b/browser/form.py @@ -251,20 +251,28 @@ class CreateObjectForm(ObjectForm): dialog_name = 'create' @Lazy - def title(self): - if self.request.form.get('fixed_type'): - return _(u'Create %s') % self.typeConcept.title - else: - return _(self.defaultTitle) + def fixedType(self): + return self.request.form.get('fixed_type') @Lazy def defaultTypeToken(self): return (self.controller.params.get('form.create.defaultTypeToken') or '.loops/concepts/textdocument') + @Lazy + def typeToken(self): + return self.request.form.get('form.type') or self.defaultTypeToken + + @Lazy + def title(self): + if self.fixedType: + return _(u'Create %s') % self.typeConcept.title + else: + return _(self.defaultTitle) + @Lazy def typeConcept(self): - typeToken = self.request.get('form.type') or self.defaultTypeToken + typeToken = self.typeToken if typeToken: return self.loopsRoot.loopsTraverse(typeToken) diff --git a/browser/form_macros.pt b/browser/form_macros.pt index 32697d9..8e31013 100644 --- a/browser/form_macros.pt +++ b/browser/form_macros.pt @@ -65,9 +65,8 @@ id="dialog_form" class="dialog" tal:define="qualifier request/qualifier | string:resource; innerForm request/inner_form | string:inner_form.html; - typeToken python: request.get('form.type') - or view.defaultTypeToken; - fixedType request/fixed_type | nothing"> + typeToken view/typeToken; + fixedType view/fixedType">