use baseObject() function instead of context attribute for increased flexibility (types without type interface)

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3674 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2010-01-10 17:17:25 +00:00
parent 8417ebf490
commit c8e4ec55bf

View file

@ -36,6 +36,7 @@ from cybertools.composer.schema.interfaces import IField, IFieldInstance
from cybertools.composer.schema.interfaces import fieldTypes, undefined from cybertools.composer.schema.interfaces import fieldTypes, undefined
from cybertools.util.format import toStr, toUnicode from cybertools.util.format import toStr, toUnicode
from cybertools.util import json from cybertools.util import json
from loops.common import baseObject
from loops import util from loops import util
@ -70,7 +71,7 @@ class BaseRelationFieldInstance(object):
class RelationSetFieldInstance(ListFieldInstance, BaseRelationFieldInstance): class RelationSetFieldInstance(ListFieldInstance, BaseRelationFieldInstance):
def marshall(self, value): def marshall(self, value):
return [dict(title=v.title, uid=util.getUidForObject(v.context)) return [dict(title=v.title, uid=util.getUidForObject(baseObject(v)))
for v in value] for v in value]
def display(self, value): def display(self, value):