Commit 6ee18ac3 authored by Sylvain Thénault's avatar Sylvain Thénault
Browse files

Improve entity json export (closes #2559931)

Make output from __json_encode__ predictable; use it in the ejsonexport
view.

--HG--
branch : stable
parent 9a6e80bfad9d
......@@ -539,8 +539,10 @@ class Entity(AppObject):
"""custom json dumps hook to dump the entity's eid
which is not part of dict structure itself
"""
self.complete()
dumpable = self.cw_attr_cache.copy()
dumpable['eid'] = self.eid
dumpable['__cwetype__'] = self.__regid__
return dumpable
def cw_adapt_to(self, interface):
......
......@@ -111,12 +111,7 @@ class JsonEntityView(JsonMixIn, EntityView):
title = _('json-entities-export-view')
def call(self):
entities = []
for entity in self.cw_rset.entities():
entity.complete() # fetch all attributes
# hack to add extra metadata
entity.cw_attr_cache.update({
'__cwetype__': entity.__regid__,
})
entities.append(entity)
self.wdata(entities)
if self.cw_rset is None:
self.wdata([self.cw_extra_kwargs.get('entity')])
else:
self.wdata(list(self.cw_rset.entities()))
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment