1616from zope .schema .interfaces import ValidationError
1717
1818from plone .restapi .behaviors import IBlocks
19- from zope . globalrequest import getRequest
19+ from Acquisition import ImplicitAcquisitionWrapper
2020
2121
2222@implementer (IDexterityContent , IBlocks )
2323class FakeDXContext :
24- def __init__ (self , request ):
25- self .request = request
26- self .REQUEST = getRequest ()
2724 """Fake DX content class, so we can re-use the DX field deserializers"""
2825
2926
@@ -49,7 +46,9 @@ def __call__(self, mask_validation_errors=True):
4946 errors = []
5047
5148 # Make a fake context
52- fake_context = FakeDXContext (self .request )
49+ fake_context = FakeDXContext ()
50+ wrapped_context = ImplicitAcquisitionWrapper (fake_context , self .context )
51+
5352
5453 for name , field in getFields (self .schema ).items ():
5554 field_data = schema_data .setdefault (self .schema , {})
@@ -59,7 +58,7 @@ def __call__(self, mask_validation_errors=True):
5958
6059 if name in data :
6160 deserializer = queryMultiAdapter (
62- (field , fake_context , self .request ), IFieldDeserializer
61+ (field , wrapped_context , self .request ), IFieldDeserializer
6362 )
6463
6564 try :
0 commit comments