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">