misc/migration/3.5.3_Any.py
author Aurelien Campeas <aurelien.campeas@logilab.fr>
Fri, 18 Jan 2013 17:37:35 +0100
branchstable
changeset 8657 5ab6ec83d5ba
parent 3666 7d0f6234b001
child 8798 cdab3aadc679
permissions -rw-r--r--
[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')