From afb4b96ebf24e28c992f216a9a6cdc018e74cda9 Mon Sep 17 00:00:00 2001 From: Frederic Peters Date: Thu, 13 Dec 2012 17:25:47 +0100 Subject: [PATCH] Add a schema policy attribute to Dexterity FTI --- plone/dexterity/fti.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/plone/dexterity/fti.py b/plone/dexterity/fti.py index f5c2e4b..5bff13c 100644 --- a/plone/dexterity/fti.py +++ b/plone/dexterity/fti.py @@ -93,7 +93,13 @@ class DexterityFTI(base.DynamicViewTypeInformation): 'description': "Path to file containing the schema model. This can be " + "relative to a package, e.g. 'my.package:myschema.xml'." }, - + { 'id': 'schema_policy', + 'type': 'string', + 'mode': 'w', + 'label': 'Content type schema policy', + 'description': 'Name of the schema policy.' + }, + ) default_aliases = {'(Default)': '(dynamic view)', @@ -133,6 +139,7 @@ class DexterityFTI(base.DynamicViewTypeInformation): """ model_file = u"" schema = u"" + schema_policy = u"dexterity" def __init__(self, *args, **kwargs): super(DexterityFTI, self).__init__(*args, **kwargs) @@ -224,11 +231,11 @@ class DexterityFTI(base.DynamicViewTypeInformation): def lookupModel(self): if self.model_source: - return loadString(self.model_source, policy=u"dexterity") + return loadString(self.model_source, policy=self.schema_policy) elif self.model_file: model_file = self._absModelFile() - return loadFile(model_file, reload=True, policy=u"dexterity") + return loadFile(model_file, reload=True, policy=self.schema_policy) elif self.schema: schema = self.lookupSchema()