[entity,views/json] backout 353bbd17a8b6 (reopens #2559931)
Calling .complete() unconditionnally from the json encoder is unsafe
since on entity creation validation:
* an eid may have been drawn (hence even .has_eid() would not help)
while processing form data in the edit controller
* a ValidationError may have been raised and the entity-creating
transaction rollbacked
This leads to a crash on the return path from the validation to the
browser, where the json_dumps((status, args, entity)) call will
stumble upon the .complete() call which will fail because the entity
does not (any more) exist in the database.
# type attribute might already be there if migrating from
# version < 3.5 to version >= 3.5.3, BaseTransition being added
# in bootstrap_migration
if versions_map['cubicweb'][0] >= (3, 5, 0):
add_attribute('BaseTransition', 'type')
sync_schema_props_perms('state_of')
sync_schema_props_perms('transition_of')