From 5b87a574c44f005712f8ec7f87c335ab0b127d81 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Fri, 24 Jun 2011 16:07:54 +0200 Subject: [PATCH] make schema factory work with new objects not yet linked to a container --- knowledge/schema.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/knowledge/schema.py b/knowledge/schema.py index 2922672..cae96dd 100644 --- a/knowledge/schema.py +++ b/knowledge/schema.py @@ -36,7 +36,12 @@ class PersonSchemaFactory(BasePersonSchemaFactory): def __call__(self, interface, **kw): schema = super(PersonSchemaFactory, self).__call__(interface, **kw) if 'knowledge' in schema.fields.keys(): - kelements = IOptions(self.context.getLoopsRoot())('knowledge.element') + kelements = [] + request = kw.get('request') + if request is not None: + v = request.annotations.get('loops.view', {}).get('nodeView') + if v is not None: + kelements = IOptions(v.loopsRoot)('knowledge.element') if kelements: schema.fields['knowledge'].target_types = kelements else: