From 0d061d6c77b30e137d7650d63155297e5695979c Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 17 Feb 2012 12:43:57 +0100 Subject: [fix] added openerp class to all dialogs bzr revid: nicolas.vanhoren@openerp.com-20120217114357-5jeue9292eg2zoqf --- addons/web/static/src/js/view_form.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'addons/web/static/src/js/view_form.js') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 3f576089e5b..df59fdb3432 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -422,7 +422,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# this.on_form_changed(); } if (!_.isEmpty(result.warning)) { - $(QWeb.render("CrashManagerWarning", result.warning)).dialog({ + openerp.web.dialog($(QWeb.render("CrashManagerWarning", result.warning)), { modal: true, buttons: [ {text: _t("Ok"), click: function() { $(this).dialog("close"); }} @@ -1249,7 +1249,7 @@ openerp.web.form.WidgetButton = openerp.web.form.Widget.extend({ var exec_action = function() { if (self.node.attrs.confirm) { var def = $.Deferred(); - var dialog = $('
' + self.node.attrs.confirm + '
').dialog({ + var dialog = openerp.web.dialog($('
' + self.node.attrs.confirm + '
'), { title: _t('Confirm'), modal: true, buttons: [ @@ -3026,7 +3026,7 @@ openerp.web.form.FormOpenPopup = openerp.web.OldWidget.extend(/** @lends openerp this.context = context || {}; this.options = _.defaults(options || {}, {"auto_write": true}); this.render_element(); - this.$element.dialog({ + openerp.web.dialog(this.$element, { title: options.title || '', modal: true, width: 960, -- cgit v1.2.3 From 9b1591c819dbb0a572951d803a93e99c4c6d5217 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 17 Feb 2012 14:45:23 +0100 Subject: [fix] added openerp style to autocomplete in m2o bzr revid: nicolas.vanhoren@openerp.com-20120217134523-bleeq4c1x3skjn4t --- addons/web/static/src/js/view_form.js | 1 + 1 file changed, 1 insertion(+) (limited to 'addons/web/static/src/js/view_form.js') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index df59fdb3432..fc641521e3d 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2043,6 +2043,7 @@ openerp.web.form.FieldMany2One = openerp.web.form.Field.extend({ minLength: 0, delay: 0 }); + this.$input.autocomplete("widget").addClass("openerp"); // used to correct a bug when selecting an element by pushing 'enter' in an editable list this.$input.keyup(function(e) { if (e.which === 13) { -- cgit v1.2.3 From 571aac869c0c2383a23b0980baf81507e885fd17 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 20 Feb 2012 11:09:58 +0100 Subject: [fix] problem with reference fields lp bug: https://launchpad.net/bugs/934330 fixed bzr revid: nicolas.vanhoren@openerp.com-20120220100958-bujk0yuftdlzk3fz --- addons/web/static/src/js/view_form.js | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'addons/web/static/src/js/view_form.js') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index fc641521e3d..f92db55f8e8 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3147,7 +3147,11 @@ openerp.web.form.FieldReference = openerp.web.form.Field.extend({ }, start: function() { this._super(); + this.selection.$element = $(".oe_form_view_reference_selection", this.$element); + this.selection.render_element(); this.selection.start(); + this.m2o.$element = $(".oe_form_view_reference_m2o", this.$element); + this.m2o.render_element(); this.m2o.start(); }, is_valid: function() { -- cgit v1.2.3 From 5d71f85f7d46da261a165f5fe311383bb8eb8a97 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 20 Feb 2012 13:22:08 +0100 Subject: [FIX] Broken reference field lp bug: https://launchpad.net/bugs/936864 fixed bzr revid: fme@openerp.com-20120220122208-k5pvpwodik78hnrq --- addons/web/static/src/js/view_form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/view_form.js') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 640fff67293..6b7acd5a244 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3090,7 +3090,7 @@ openerp.web.form.FieldReference = openerp.web.form.Field.extend({ }; this.get_fields_values = view.get_fields_values; this.get_selected_ids = view.get_selected_ids; - this.do_onchange = this.on_form_changed = this.on_nop; + this.do_onchange = this.on_form_changed = this.do_notify_change = this.on_nop; this.dataset = this.view.dataset; this.widgets_counter = 0; this.view_id = 'reference_' + _.uniqueId(); -- cgit v1.2.3 From c02edfb523231ae48364fe07606f1614c3caec50 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 20 Feb 2012 15:43:22 +0100 Subject: [FIX] Broken reference field lp bug: https://launchpad.net/bugs/936864 fixed bzr revid: fme@openerp.com-20120220144322-e6ysl3qxsdhagls5 --- addons/web/static/src/js/view_form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/view_form.js') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index f92db55f8e8..fcad37b8ff4 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3116,7 +3116,7 @@ openerp.web.form.FieldReference = openerp.web.form.Field.extend({ }; this.get_fields_values = view.get_fields_values; this.get_selected_ids = view.get_selected_ids; - this.do_onchange = this.on_form_changed = this.on_nop; + this.do_onchange = this.on_form_changed = this.do_notify_change = this.on_nop; this.dataset = this.view.dataset; this.widgets_counter = 0; this.view_id = 'reference_' + _.uniqueId(); -- cgit v1.2.3 From 383f1750c53cae05210b143ba2457ea541d579d6 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Tue, 21 Feb 2012 10:58:56 +0100 Subject: [imp] wip bzr revid: nicolas.vanhoren@openerp.com-20120221095856-656l1so4ejc06gih --- addons/web/static/src/js/view_form.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'addons/web/static/src/js/view_form.js') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index fcad37b8ff4..9e6c5396091 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -103,7 +103,9 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# this.$element.html(this.rendered); this.root_frame = instanciate_widget(this.registry.get_object('frame'), this, this.fields_view.arch); - this.root_frame.appendTo($(".oe_form_header", this.$element)); + var to_append = $(".oe_form_header", this.$element); + this.root_frame.appendTo(to_append.length > 0 ? to_append : this.$element); + this.root_frame.$element.children().unwrap(); this.$form_header = this.$element.find('.oe_form_header:first'); this.$form_header.find('div.oe_form_pager button[data-pager-action]').click(function() { -- cgit v1.2.3 From 8384876ef08ae3e8af97a9531da7f79a8359d607 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Tue, 21 Feb 2012 16:30:23 +0100 Subject: [imp] renamed widget_parent to getParent() bzr revid: nicolas.vanhoren@openerp.com-20120221153023-cqs66neaddtuf7km --- addons/web/static/src/js/view_form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/view_form.js') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 9e6c5396091..ad72bde16ee 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2782,7 +2782,7 @@ openerp.web.form.Many2ManyListView = openerp.web.ListView.extend(/** @lends open var pop = new openerp.web.form.FormOpenPopup(this); pop.show_element(this.dataset.model, id, this.m2m_field.build_context(), { title: _t("Open: ") + this.name, - readonly: this.widget_parent.is_readonly() + readonly: this.getParent().is_readonly() }); pop.on_write_completed.add_last(function() { self.reload_content(); -- cgit v1.2.3 From 75d39c7f6a2565419c28bac4397678a6d60c5544 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Tue, 21 Feb 2012 17:29:12 +0100 Subject: [imp] renammed stop() bzr revid: nicolas.vanhoren@openerp.com-20120221162912-zheko30qoh84hcoq --- addons/web/static/src/js/view_form.js | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'addons/web/static/src/js/view_form.js') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index ad72bde16ee..17b9849cd42 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -74,13 +74,13 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# }, this.on_loaded); } }, - stop: function() { + destroy: function() { if (this.sidebar) { - this.sidebar.attachments.stop(); - this.sidebar.stop(); + this.sidebar.attachments.destroy(); + this.sidebar.destroy(); } _.each(this.widgets, function(w) { - w.stop(); + w.destroy(); }); this._super(); }, @@ -923,7 +923,7 @@ openerp.web.form.Widget = openerp.web.OldWidget.extend(/** @lends openerp.web.fo this.width = this.node.attrs.width; }, - stop: function() { + destroy: function() { this._super.apply(this, arguments); $.fn.tipsy.clear(); }, @@ -2554,7 +2554,7 @@ openerp.web.form.FieldOne2Many = openerp.web.form.Field.extend({ this.previous_readonly = this.readonly; if (this.viewmanager) { this.is_loaded = this.is_loaded.pipe(function() { - self.viewmanager.stop(); + self.viewmanager.destroy(); return $.when(self.load_views()).then(function() { self.reload_current_view(); }); @@ -2734,7 +2734,7 @@ openerp.web.form.FieldMany2Many = openerp.web.form.Field.extend({ this.previous_readonly = this.readonly; if (this.list_view) { this.is_loaded = this.is_loaded.pipe(function() { - self.list_view.stop(); + self.list_view.destroy(); return $.when(self.load_view()).then(function() { self.reload_content(); }); @@ -2866,7 +2866,7 @@ openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend(/** @lends ope setup_search_view: function(search_defaults) { var self = this; if (this.searchview) { - this.searchview.stop(); + this.searchview.destroy(); } this.searchview = new openerp.web.SearchView(this, this.dataset, false, search_defaults); @@ -2896,7 +2896,7 @@ openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend(/** @lends ope $buttons.prepend(QWeb.render("SelectCreatePopup.search.buttons")); var $cbutton = $buttons.find(".oe_selectcreatepopup-search-close"); $cbutton.click(function() { - self.stop(); + self.destroy(); }); var $sbutton = $buttons.find(".oe_selectcreatepopup-search-select"); if(self.options.disable_multiple_selection) { @@ -2904,7 +2904,7 @@ openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend(/** @lends ope } $sbutton.click(function() { self.on_select_elements(self.selected_ids); - self.stop(); + self.destroy(); }); }); }); @@ -2988,7 +2988,7 @@ openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend(/** @lends ope if (this.created_elements.length > 0) { this.on_select_elements(this.created_elements); } - this.stop(); + this.destroy(); }, on_default_get: function(res) {} }); @@ -2999,7 +2999,7 @@ openerp.web.form.SelectCreateListView = openerp.web.ListView.extend({ }, select_record: function(index) { this.popup.on_select_elements([this.dataset.ids[index]]); - this.popup.stop(); + this.popup.destroy(); }, do_select: function(ids, records) { this._super(ids, records); @@ -3075,12 +3075,12 @@ openerp.web.form.FormOpenPopup = openerp.web.OldWidget.extend(/** @lends openerp var $nbutton = $buttons.find(".oe_formopenpopup-form-save"); $nbutton.click(function() { self.view_form.do_save().then(function() { - self.stop(); + self.destroy(); }); }); var $cbutton = $buttons.find(".oe_formopenpopup-form-close"); $cbutton.click(function() { - self.stop(); + self.destroy(); }); if (self.options.readonly) { $nbutton.hide(); -- cgit v1.2.3 From 87f65775e00404063104486954eefe2b649e93f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20van=20der=20Essen?= Date: Fri, 24 Feb 2012 10:53:10 +0100 Subject: Correct viewport integration, cosmetic changes, node loops bzr revid: fva@openerp.com-20120224095310-r3bdlx09n5eaxrvk --- addons/web/static/src/js/view_form.js | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'addons/web/static/src/js/view_form.js') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 6b7acd5a244..d98c597c8a6 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2835,6 +2835,10 @@ openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend(/** @lends ope this.new_object(); } }, + stop: function () { + this.$element.dialog('close'); + this._super(); + }, setup_search_view: function(search_defaults) { var self = this; if (this.searchview) { -- cgit v1.2.3 From 74efca03cc290173484dea4c8d78d74e2d7a3c7a Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Tue, 28 Feb 2012 15:40:24 +0100 Subject: [fix] minor problem in m2o lp bug: https://launchpad.net/bugs/923898 fixed bzr revid: nicolas.vanhoren@openerp.com-20120228144024-ihavt9si03lorzsu --- addons/web/static/src/js/view_form.js | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'addons/web/static/src/js/view_form.js') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 17b9849cd42..bee5016f0be 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -1938,9 +1938,13 @@ openerp.web.form.FieldMany2One = openerp.web.form.Field.extend({ $cmenu.append(QWeb.render("FieldMany2One.context_menu", {widget: self})); var bindings = {}; bindings[self.cm_id + "_search"] = function() { + if (self.readonly) + return; self._search_create_popup("search"); }; bindings[self.cm_id + "_create"] = function() { + if (self.readonly) + return; self._search_create_popup("form"); }; bindings[self.cm_id + "_open"] = function() { -- cgit v1.2.3 From 9cad7deeedd6931857e081f2bac85e5e898a3f85 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Tue, 28 Feb 2012 15:41:11 +0100 Subject: [fix] minor problem in m2o lp bug: https://launchpad.net/bugs/923898 fixed bzr revid: nicolas.vanhoren@openerp.com-20120228144111-co9nl24o466zuzsb --- addons/web/static/src/js/view_form.js | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'addons/web/static/src/js/view_form.js') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 6b7acd5a244..5bbdefff520 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -1911,9 +1911,13 @@ openerp.web.form.FieldMany2One = openerp.web.form.Field.extend({ $cmenu.append(QWeb.render("FieldMany2One.context_menu", {widget: self})); var bindings = {}; bindings[self.cm_id + "_search"] = function() { + if (self.readonly) + return; self._search_create_popup("search"); }; bindings[self.cm_id + "_create"] = function() { + if (self.readonly) + return; self._search_create_popup("form"); }; bindings[self.cm_id + "_open"] = function() { -- cgit v1.2.3 From 7eb12aee74633e4f240b0373eae476788c14ecba Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Wed, 29 Feb 2012 12:07:44 +0100 Subject: [imp] renammed render_element bzr revid: nicolas.vanhoren@openerp.com-20120229110744-0m55gqlme6s225jv --- addons/web/static/src/js/view_form.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'addons/web/static/src/js/view_form.js') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 17b9849cd42..78626f69d8a 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -936,7 +936,7 @@ openerp.web.form.Widget = openerp.web.OldWidget.extend(/** @lends openerp.web.fo update_dom: function() { this.$element.toggle(!this.invisible); }, - render_element: function() { + renderElement: function() { this.$element.html(QWeb.render(this.form_template, { "widget": this })); }, do_attach_tooltip: function(widget, trigger, options) { @@ -1030,13 +1030,13 @@ openerp.web.form.WidgetFrame = openerp.web.form.Widget.extend({ } this.set_row_cells_with(this.table[this.table.length - 1]); }, - render_element: function() { + renderElement: function() { this._super(); var self = this; _.each(this.table, function(row) { _.each(row, function(td) { td.$element = self.$element.find('.' + td.element_class); - td.render_element(); + td.renderElement(); }); }); }, @@ -1140,12 +1140,12 @@ openerp.web.form.WidgetNotebook = openerp.web.form.Widget.extend({ } } }, - render_element: function() { + renderElement: function() { this._super(); var self = this; _.each(this.pages, function(page) { page.$element = self.$element.find('.' + page.element_class); - page.render_element(); + page.renderElement(); }); }, start: function() { @@ -1335,7 +1335,7 @@ openerp.web.form.WidgetLabel = openerp.web.form.Widget.extend({ this.nowrap = true; } }, - render_element: function() { + renderElement: function() { var rendered; if (this['for'] && this.type !== 'label') { rendered = QWeb.render(this.form_template, {widget: this['for']}); @@ -2819,7 +2819,7 @@ openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend(/** @lends ope }, read_function: null}); this.initial_ids = this.options.initial_ids; this.created_elements = []; - this.render_element(); + this.renderElement(); openerp.web.form.dialog(this.$element, { close: function() { self.check_exit(); @@ -3028,7 +3028,7 @@ openerp.web.form.FormOpenPopup = openerp.web.OldWidget.extend(/** @lends openerp this.row_id = row_id; this.context = context || {}; this.options = _.defaults(options || {}, {"auto_write": true}); - this.render_element(); + this.renderElement(); openerp.web.dialog(this.$element, { title: options.title || '', modal: true, @@ -3150,10 +3150,10 @@ openerp.web.form.FieldReference = openerp.web.form.Field.extend({ start: function() { this._super(); this.selection.$element = $(".oe_form_view_reference_selection", this.$element); - this.selection.render_element(); + this.selection.renderElement(); this.selection.start(); this.m2o.$element = $(".oe_form_view_reference_m2o", this.$element); - this.m2o.render_element(); + this.m2o.renderElement(); this.m2o.start(); }, is_valid: function() { @@ -3400,7 +3400,7 @@ openerp.web.form.FieldStatus = openerp.web.form.Field.extend({ }); openerp.web.form.WidgetHtml = openerp.web.form.Widget.extend({ - render_element: function () { + renderElement: function () { var $root = $('
'); this.render_children(this, $root); var rendered = $root.html(); -- cgit v1.2.3 From 28f1ded961c2b2f598a1b0a2a55f5bccb2eeafc7 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 5 Mar 2012 18:16:56 +0100 Subject: [FIX] @default_focus not honored in embedded form views lp bug: https://launchpad.net/bugs/944080 fixed bzr revid: fme@openerp.com-20120305171656-yz1jjoin17hh8ast --- addons/web/static/src/js/view_form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/view_form.js') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 6a45bae5abd..6ae693dcd2e 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -205,7 +205,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# if (self.sidebar) { self.sidebar.attachments.do_update(); } - if (self.default_focus_field && !self.embedded_view) { + if (self.default_focus_field) { self.default_focus_field.focus(); } if (record.id) { -- cgit v1.2.3 From eb2338c575a47d721ba018cca349ff76aadee038 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 5 Mar 2012 18:20:21 +0100 Subject: [FIX] @default_focus not honored in embedded form views lp bug: https://launchpad.net/bugs/944080 fixed bzr revid: fme@openerp.com-20120305172021-wwmen156hb38yppc --- addons/web/static/src/js/view_form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/view_form.js') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 70b66b897eb..d4a090eafcc 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -211,7 +211,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# if (self.sidebar) { self.sidebar.attachments.do_update(); } - if (self.default_focus_field && !self.embedded_view) { + if (self.default_focus_field) { self.default_focus_field.focus(); } if (record.id) { -- cgit v1.2.3 From 542a6e9a671c59f73b93c022d0072fdba4dbe6b5 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 5 Mar 2012 20:58:00 +0100 Subject: [FIX] @digits not honored by form view. field#digits not honored by page view. lp bug: https://launchpad.net/bugs/943273 fixed bzr revid: fme@openerp.com-20120305195800-uoiu74ee1rfm4tex --- addons/web/static/src/js/view_form.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'addons/web/static/src/js/view_form.js') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 6ae693dcd2e..335a4e39d72 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -1526,16 +1526,11 @@ openerp.web.form.FieldFloat = openerp.web.form.FieldChar.extend({ init: function (view, node) { this._super(view, node); if (node.attrs.digits) { - this.parse_digits(node.attrs.digits); + this.digits = py.eval(node.attrs.digits).toJSON(); } else { this.digits = view.fields_view.fields[node.attrs.name].digits; } }, - parse_digits: function (digits_attr) { - // could use a Python parser instead. - var match = /^\s*[\(\[](\d+),\s*(\d+)/.exec(digits_attr); - return [parseInt(match[1], 10), parseInt(match[2], 10)]; - }, set_value: function(value) { if (value === false || value === undefined) { // As in GTK client, floats default to 0 -- cgit v1.2.3 From 284e19c29e3338670e95045c316cf9612ff39334 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 8 Mar 2012 15:06:36 +0100 Subject: [FIX] BinaryImage field: check if value is bin_size or not bzr revid: fme@openerp.com-20120308140636-qk2ekrmqlqpaa7uo --- addons/web/static/src/js/view_form.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'addons/web/static/src/js/view_form.js') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index d4a090eafcc..4866d88dd15 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3314,10 +3314,17 @@ openerp.web.form.FieldBinaryImage = openerp.web.form.FieldBinary.extend({ this.$element.find('.oe-binary').toggle(!this.readonly); }, set_value: function(value) { + console.log(value) this._super.apply(this, arguments); this.set_image_maxwidth(); - var url = '/web/binary/image?session_id=' + this.session.session_id + '&model=' + - this.view.dataset.model +'&id=' + (this.view.datarecord.id || '') + '&field=' + this.name + '&t=' + (new Date().getTime()); + + var url; + if (value && value.substr(0, 10).indexOf(' ') == -1) { + url = 'data:image/png;base64,' + this.value; + } else { + url = '/web/binary/image?session_id=' + this.session.session_id + '&model=' + + this.view.dataset.model +'&id=' + (this.view.datarecord.id || '') + '&field=' + this.name + '&t=' + (new Date().getTime()); + } this.$image.attr('src', url); }, set_image_maxwidth: function() { -- cgit v1.2.3 From ec8c17161c4412bd3402d80454e78cc60d3dbb8e Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 12 Mar 2012 16:37:43 +0100 Subject: [REM] Removed forgotten console.log bzr revid: fme@openerp.com-20120312153743-i6qi3fzmondezrdh --- addons/web/static/src/js/view_form.js | 1 - 1 file changed, 1 deletion(-) (limited to 'addons/web/static/src/js/view_form.js') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 4866d88dd15..a5af970c5ef 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3314,7 +3314,6 @@ openerp.web.form.FieldBinaryImage = openerp.web.form.FieldBinary.extend({ this.$element.find('.oe-binary').toggle(!this.readonly); }, set_value: function(value) { - console.log(value) this._super.apply(this, arguments); this.set_image_maxwidth(); -- cgit v1.2.3 From 4e7796cfeea94e3225fed1c9b99f4f25afe6cd6a Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Tue, 13 Mar 2012 17:37:19 +0100 Subject: [imp] added some stuff to manage interfaces bzr revid: nicolas.vanhoren@openerp.com-20120313163719-ez4n7ca4qxus0m9t --- addons/web/static/src/js/view_form.js | 53 +++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'addons/web/static/src/js/view_form.js') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index a5af970c5ef..3ecc35d677f 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -1359,6 +1359,58 @@ openerp.web.form.WidgetLabel = openerp.web.form.Widget.extend({ } }); +/** + * Interface to be implemented by fields. + * + * Novajs Attributes: + * - ... + * + * Novajs Events: + * - ... + * + */ +openerp.web.form.FieldInterface = { + /** + * Called by the form view to indicate the value of the field. + * + * set_value() may return an object that can be passed to $.when() that represents the moment when + * the field has finished all operations necessary before the user can effectively use the widget. + * + * Multiple calls to set_value() can occur at any time and must be handled correctly by the implementation, + * regardless of any asynchronous operation currently running and the status of any promise that a + * previous call to set_value() could have returned. + * + * set_value() must be able, at any moment, to handle the syntax returned by the "read" method of the + * osv class in the OpenERP server as well as the syntax used by the set_value() (see below). It must + * also be able to handle any other format commonly used in the _defaults key on the models in the addons + * as well as any format commonly returned in a on_change. It must be able to autodetect those formats as + * no information is ever given to know which format is used. + */ + set_value: function(value) {}, + /** + * Get the current value of the widget. + * + * Must always return a syntaxically correct value to be passed to the "write" method of the osv class in + * the OpenERP server, although it is not assumed to respect the constraints applied to the field. + * For example if the field is marqued as "required", a call to get_value() can return false. + * + * get_value() can also be called *before* a call to set_value() and, in that case, is supposed to + * return a defaut value according to the type of field. + * + * This method is always assumed to perform synchronously, it can not return a promise. + * + * If there was no user interaction to modify the value of the field, it is always assumed that + * get_value() return the same semantic value than the one passed in the last call to set_value(), + * altough the syntax can be different. This can be the case for type of fields that have a different + * syntax for "read" and "write" (example: m2o: set_value([0, "Administrator"]), get_value() => 0). + */ + get_value: function() {}, +}; + +/** + * Abstract class for classes implementing FieldInterface. Should be renamed to AbstractField some + * day. + */ openerp.web.form.Field = openerp.web.form.Widget.extend(/** @lends openerp.web.form.Field# */{ /** * @constructs openerp.web.form.Field @@ -2237,6 +2289,7 @@ openerp.web.form.FieldMany2One = openerp.web.form.Field.extend({ this.$input.prop('readonly', this.readonly); } }); +openerp.web.check_interface(openerp.web.form.FieldMany2One, openerp.web.form.FieldInterface); /* # Values: (0, 0, { fields }) create -- cgit v1.2.3