From 089664e3304c59e46984b373ac925b43eace62d1 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 16 Mar 2012 12:52:43 +0100 Subject: [PATCH] [imp] made boolean readonly-able bzr revid: nicolas.vanhoren@openerp.com-20120316115243-7cj2mbfgp4c28q0k --- addons/web/static/src/js/view_form.js | 12 +++++++----- addons/web/static/src/js/view_page.js | 9 +-------- addons/web/static/src/xml/base.xml | 5 ----- 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 3406b812453..76303a69492 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -1749,7 +1749,13 @@ openerp.web.form.FieldBoolean = openerp.web.form.AbstractField.extend({ template: 'FieldBoolean', start: function() { this._super.apply(this, arguments); - this.$checkbox = this.$element.click(this.on_ui_change); + this.$checkbox = $("input", this.$element); + this.$element.click(this.on_ui_change); + var check_readonly = function() { + this.$checkbox.prop('disabled', this.get("effective_readonly")); + }; + this.on("change:effective_readonly", this, check_readonly); + _.bind(check_readonly, this)(); }, set_value: function(value) { this._super.apply(this, arguments); @@ -1759,10 +1765,6 @@ openerp.web.form.FieldBoolean = openerp.web.form.AbstractField.extend({ this.value = this.$checkbox.is(':checked'); this._super.apply(this, arguments); }, - update_dom: function() { - this._super.apply(this, arguments); - this.$checkbox.prop('disabled', this.readonly); - }, focus: function($element) { this._super($element || this.$checkbox); } diff --git a/addons/web/static/src/js/view_page.js b/addons/web/static/src/js/view_page.js index 98199798803..39ba75d05b0 100644 --- a/addons/web/static/src/js/view_page.js +++ b/addons/web/static/src/js/view_page.js @@ -67,13 +67,7 @@ openerp.web.page = function (openerp) { /** @namespace */ openerp.web.page = {}; - - openerp.web.page.FieldBooleanReadonly = openerp.web.form.FieldBoolean.extend({ - update_dom: function() { - this._super.apply(this, arguments); - this.$element.find('input').prop('disabled', true); - } - }); + openerp.web.page.FieldSelectionReadonly = openerp.web.form.AbstractField.extend({ form_template: 'FieldChar.readonly', init: function(view, node) { @@ -152,7 +146,6 @@ openerp.web.page = function (openerp) { openerp.web.page.readonly = openerp.web.form.widgets.extend({ 'selection' : 'openerp.web.page.FieldSelectionReadonly', 'reference': 'openerp.web.page.FieldReferenceReadonly', - 'boolean': 'openerp.web.page.FieldBooleanReadonly', 'binary': 'openerp.web.page.FieldBinaryFileReadonly', 'image': 'openerp.web.page.FieldBinaryImageReaonly' }); diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 05feec79168..c63394ee0dd 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -960,11 +960,6 @@ - -
- -
-