[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.
import ConfigParser
try:
undo_actions = config.cfgfile_parser.get('MAIN', 'undo-support', False)
except ConfigParser.NoOptionError:
pass # this conf. file was probably already migrated
else:
config.global_set_option('undo-enabled', bool(undo_actions))