If you have a button, link with a action type url, when you press on button in NOT edit mode, original code launch a write,
Comment in code say "bypass save, for button action in non-editable view" but the condition is bad, and 2 else do same thing.
Original code
# bypass save, for button action in non-editable view
if not (params.button and params.editable and params.id):
proxy = rpc.RPCProxy(params.model)
if not params.id:
ctx = dict((params.context or {}), **rpc.session.context)
id = proxy.create(data, ctx) params.ids = (params.ids or []) + [int(id)] params.id = int(id) params.count += 1
else:
ctx = utils.context_with_concurrency_info(params.context, params.concurrency_info)
id = proxy.write([params.id], data, ctx)
elif params.button and params.editable and params.id:
proxy = rpc.RPCProxy(params.model)
ctx = utils.context_with_concurrency_info(params.context, params.concurrency_info)
id = proxy.write([params.id], data, ctx)
Fix: The fix do create if button, editable and no id in param, else do a write if button, editable and id in param
if params.button and params.editable and not params.id:
proxy = rpc.RPCProxy(params.model)
ctx = dict((params.context or {}), **rpc.session.context)
id = proxy.create(data, ctx) params.ids = (params.ids or []) + [int(id)] params.id = int(id) params.count += 1
elif params.button and params.editable and params.id:
proxy = rpc.RPCProxy(params.model)
ctx = utils.context_with_concurrency_info(params.context, params.concurrency_info)
id = proxy.write([params.id], data, ctx)
If you have a button, link with a action type url, when you press on button in NOT edit mode, original code launch a write,
Comment in code say "bypass save, for button action in non-editable view" but the condition is bad, and 2 else do same thing.
Original code params. model) context or {}), **rpc.session. context)
params. ids = (params.ids or []) + [int(id)]
params. id = int(id)
params. count += 1 with_concurrenc y_info( params. context, params. concurrency_ info) [params. id], data, ctx)
# bypass save, for button action in non-editable view
if not (params.button and params.editable and params.id):
proxy = rpc.RPCProxy(
if not params.id:
ctx = dict((params.
id = proxy.create(data, ctx)
else:
ctx = utils.context_
id = proxy.write(
elif params.button and params.editable and params.id: params. model) with_concurrenc y_info( params. context, params. concurrency_ info) [params. id], data, ctx)
proxy = rpc.RPCProxy(
ctx = utils.context_
id = proxy.write(
Fix: The fix do create if button, editable and no id in param, else do a write if button, editable and id in param
if params.button and params.editable and not params.id: params. model) context or {}), **rpc.session. context)
params. ids = (params.ids or []) + [int(id)]
params. id = int(id)
params. count += 1 params. model) with_concurrenc y_info( params. context, params. concurrency_ info) [params. id], data, ctx)
proxy = rpc.RPCProxy(
ctx = dict((params.
id = proxy.create(data, ctx)
elif params.button and params.editable and params.id:
proxy = rpc.RPCProxy(
ctx = utils.context_
id = proxy.write(