diff --git a/web_readonly_bypass/__openerp__.py b/web_readonly_bypass/__openerp__.py index 10f0098f..f2b2b995 100644 --- a/web_readonly_bypass/__openerp__.py +++ b/web_readonly_bypass/__openerp__.py @@ -24,7 +24,7 @@ ############################################################################## { 'name': 'Read Only ByPass', - 'version': '8.0.1.0.0', + 'version': '8.0.1.0.1', "author": "ACSONE SA/NV, Odoo Community Association (OCA)", "maintainer": "ACSONE SA/NV,Odoo Community Association (OCA)", "website": "http://www.acsone.eu", diff --git a/web_readonly_bypass/static/src/js/readonly_bypass.js b/web_readonly_bypass/static/src/js/readonly_bypass.js index ea3f460e..bfde6056 100644 --- a/web_readonly_bypass/static/src/js/readonly_bypass.js +++ b/web_readonly_bypass/static/src/js/readonly_bypass.js @@ -138,4 +138,47 @@ }, }); + + instance.web.ProxyDataSet.include({ + /* + ProxyDataSet: case of 'pop-up' + */ + init : function() { + this._super.apply(this, arguments); + }, + /** + * Creates Overriding + * + * @param {Object} data field values to set on the new record + * @param {Object} options Dictionary that can contain the following keys: + * - readonly_fields: Values from readonly fields that were updated by + * on_changes. Only used by the BufferedDataSet to make the o2m work correctly. + * @returns super {$.Deferred} + */ + create : function(data, options) { + var self = this; + var context = instance.web.pyeval.eval('contexts', + self.context.__eval_context); + readonly_bypass.ignore_readonly(data, options, true, context); + return self._super(data,options); + }, + /** + * Creates Overriding + * + * @param {Object} data field values to set on the new record + * @param {Object} options Dictionary that can contain the following keys: + * - readonly_fields: Values from readonly fields that were updated by + * on_changes. Only used by the BufferedDataSet to make the o2m work correctly. + * @returns super {$.Deferred} + */ + write : function(id, data, options) { + var self = this; + var context = instance.web.pyeval.eval('contexts', + self.context.__eval_context); + readonly_bypass.ignore_readonly(data, options, false, context); + return self._super(id,data,options); + }, + + }); + })();