diff --git a/web_readonly_bypass/README.rst b/web_readonly_bypass/README.rst
index 12d8ac17..e9f139d0 100644
--- a/web_readonly_bypass/README.rst
+++ b/web_readonly_bypass/README.rst
@@ -8,9 +8,10 @@ This module provides a solution to the problem of the interaction between
'readonly' attribute and 'on_change' attribute when used together. It allows
saving onchange modifications to readonly fields.
-Behavior: add readonly fields changed by `on_change` methods to the values
-passed to write or create. If `filter_out_readonly` is in the context and
-True then apply native behavior.
+Behavior: add readonly fields changed by `on_change` methods to the values
+passed to write or create. If `readonly_by_pass` is in the context and
+True then it will by pass readonly fields and save its data provide by onchange
+method.
Installation
============
@@ -29,7 +30,19 @@ This module changes the default behaviour of Odoo by propagating
on_change modifications to readonly fields to the backend create and write
methods.
-To restore the standard behaviour, set `filter_out_readonly` in the context.
+To change that behavior you have to set context on ``ur.actions.act_window``::
+
+
+ {'readonly_by_pass': True}
+
+
+or by telling fields allowed to change::
+
+
+
+ {'readonly_by_pass': ['readonly_field_1', 'readonly_field_2',]}
+
+
For further information, please visit:
@@ -38,7 +51,6 @@ For further information, please visit:
Known issues / Roadmap
======================
-None
Bug Tracker
===========
diff --git a/web_readonly_bypass/static/src/js/readonly_bypass.js b/web_readonly_bypass/static/src/js/readonly_bypass.js
index aa40a0d3..691121c0 100644
--- a/web_readonly_bypass/static/src/js/readonly_bypass.js
+++ b/web_readonly_bypass/static/src/js/readonly_bypass.js
@@ -1,11 +1,6 @@
-/*
- * Allow to bypass readonly fi the value is changed
- */
-
-openerp.web_readonly_bypass = function(instance) {
-
+(function(){
+ var instance = openerp;
var QWeb = instance.web.qweb, _t = instance.web._t;
- var instance = instance;
instance.web_readonly_bypass = {
/**
@@ -21,11 +16,8 @@ openerp.web_readonly_bypass = function(instance) {
* @param {Object} context->readonly_by_pass
*/
ignore_readonly: function(data, options, mode, context){
- console.log(options );
- console.log(context );
var readonly_by_pass_fields = this.retrieve_readonly_by_pass_fields(
options, context);
- console.log(readonly_by_pass_fields );
if(mode){
$.each( readonly_by_pass_fields, function( key, value ) {
if(value==false){
@@ -34,7 +26,6 @@ openerp.web_readonly_bypass = function(instance) {
});
}
data = $.extend(data,readonly_by_pass_fields);
- console.log(data );
},
/**
@@ -85,7 +76,9 @@ openerp.web_readonly_bypass = function(instance) {
*/
create : function(data, options) {
var self = this;
- readonly_bypass.ignore_readonly(data, options, true, self.context);
+ var context = instance.web.pyeval.eval('contexts',
+ self.context.__eval_context);
+ readonly_bypass.ignore_readonly(data, options, true, context);
return self._super(data,options);
},
/**
@@ -99,7 +92,9 @@ openerp.web_readonly_bypass = function(instance) {
*/
write : function(id, data, options) {
var self = this;
- readonly_bypass.ignore_readonly(data, options, false, self.context);
+ 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);
},
@@ -142,4 +137,4 @@ openerp.web_readonly_bypass = function(instance) {
},
});
-};
+})();
diff --git a/web_readonly_bypass/static/test/web_readonly_bypass.js b/web_readonly_bypass/static/test/web_readonly_bypass.js
index 4aa182a9..fbc44f72 100644
--- a/web_readonly_bypass/static/test/web_readonly_bypass.js
+++ b/web_readonly_bypass/static/test/web_readonly_bypass.js
@@ -1,7 +1,6 @@
openerp.testing.section( 'web_readonly_bypass', {},
function(test){
test('ignore_readonly', function(instance){
- openerp.web_readonly_bypass(instance);
var data = {};
var mode_create = true;
var options = {};
@@ -63,7 +62,6 @@ function(test){
});
test('retrieve_readonly_by_pass_fields', function(instance){
- openerp.web_readonly_bypass(instance);
var context = {'readonly_by_pass': true}
var options = {'readonly_fields': {'field_1': 'va1-1',
'field_2': 'val-2',
@@ -165,4 +163,4 @@ function(test){
"false option and false context"
);
});
-});
\ No newline at end of file
+});