diff options
| author | niv-openerp <nicolas.vanhoren@openerp.com> | 2011-10-31 11:43:04 +0100 |
|---|---|---|
| committer | niv-openerp <nicolas.vanhoren@openerp.com> | 2011-10-31 11:43:04 +0100 |
| commit | 85012767c8b9d09ffdbe2a4f1496db24f3c8d27c (patch) | |
| tree | 9f474cb9c05d5fcd58bc15650af902af43442e4e /addons/web/static/src | |
| parent | 41ebcc4079a57cbb619e00cebdb75d792f2e386e (diff) | |
[imp] allowed to click on an element of a readonly o2m to open it in a popup
bzr revid: nicolas.vanhoren@openerp.com-20111031104304-b3ur1j34nqe4o674
Diffstat (limited to 'addons/web/static/src')
| -rw-r--r-- | addons/web/static/src/js/view_form.js | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 8955237ce39..a1dcd726127 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2223,8 +2223,6 @@ openerp.web.form.One2ManyListView = openerp.web.ListView.extend({ }, do_activate_record: function(index, id) { var self = this; - if (self.o2m.is_readonly) - return; var pop = new openerp.web.form.FormOpenPopup(self.o2m.view); pop.show_element(self.o2m.field.relation, id, self.o2m.build_context(),{ auto_write: false, @@ -2233,7 +2231,8 @@ openerp.web.form.One2ManyListView = openerp.web.ListView.extend({ read_function: function() { return self.o2m.dataset.read_ids.apply(self.o2m.dataset, arguments); }, - form_view_options: {'not_interactible_on_create':true} + form_view_options: {'not_interactible_on_create':true}, + readonly: self.o2m.is_readonly() }); pop.on_write.add(function(id, data) { self.o2m.dataset.write(id, data, {}, function(r) { @@ -2578,6 +2577,7 @@ openerp.web.form.FormOpenPopup = openerp.web.OldWidget.extend(/** @lends openerp * - read_function * - parent_view * - form_view_options + * - readonly */ show_element: function(model, row_id, context, options) { this.model = model; @@ -2617,7 +2617,13 @@ openerp.web.form.FormOpenPopup = openerp.web.OldWidget.extend(/** @lends openerp this.view_form.set_embedded_view(this.options.alternative_form_view); } this.view_form.appendTo(this.$element.find("#" + this.element_id + "_view_form")); + var once = $.Deferred().then(function() { + if (self.options.readonly) { + self.view_form.on_toggle_readonly(); + } + }); this.view_form.on_loaded.add_last(function() { + once.resolve(); var $buttons = self.view_form.$element.find(".oe_form_buttons"); $buttons.html(QWeb.render("FormOpenPopup.form.buttons")); var $nbutton = $buttons.find(".oe_formopenpopup-form-save"); @@ -2626,6 +2632,9 @@ openerp.web.form.FormOpenPopup = openerp.web.OldWidget.extend(/** @lends openerp self.stop(); }); }); + if (self.options.readonly) { + $nbutton.hide(); + } var $cbutton = $buttons.find(".oe_formopenpopup-form-close"); $cbutton.click(function() { self.stop(); |
