summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/basic/basic_model.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/views/basic/basic_model.js')
-rw-r--r--addons/web/static/src/js/views/basic/basic_model.js9
1 files changed, 9 insertions, 0 deletions
diff --git a/addons/web/static/src/js/views/basic/basic_model.js b/addons/web/static/src/js/views/basic/basic_model.js
index ced26fb7cb2..304f7e475f7 100644
--- a/addons/web/static/src/js/views/basic/basic_model.js
+++ b/addons/web/static/src/js/views/basic/basic_model.js
@@ -612,6 +612,15 @@ var BasicModel = AbstractModel.extend({
// make sure we don't write an undefined id
delete changes.id;
+ // remove readonly fields from the list of changes
+ if (method === 'write') {
+ for (var fieldName in changes) {
+ if (record.fields[fieldName].readonly) {
+ delete changes[fieldName];
+ }
+ }
+ }
+
// in the case of a write, only perform the RPC if there are changes to save
if (method === 'create' || Object.keys(changes).length) {
var args = method === 'write' ? [[record.data.id], changes] : [changes];