From 4e033738d04cb580d858f7154f4d6a74a27b48fd Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Wed, 14 Sep 2011 16:30:28 +0200 Subject: [PATCH 1/9] [imp] nivified list view bzr revid: nicolas.vanhoren@openerp.com-20110914143028-bwjnpw8vbubjc90k --- addons/web/static/src/js/form.js | 10 +++++----- addons/web/static/src/js/list.js | 7 ++++--- addons/web/static/src/js/views.js | 6 +++--- addons/web/static/src/xml/base.xml | 3 +++ 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index ff8e695278e..042bb86857d 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -10,20 +10,19 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# * view should be displayed (if there is one active). */ searchable: false, - template: "FormView", + template: "EmptyComponent", /** * @constructs openerp.web.FormView * @extends openerp.web.View * * @param {openerp.web.Session} session the current openerp session - * @param {String} element_id this view's root element id * @param {openerp.web.DataSet} dataset the dataset this view will work with * @param {String} view_id the identifier of the OpenERP view object * * @property {openerp.web.Registry} registry=openerp.web.form.widgets widgets registry for this form view instance */ - init: function(parent, element_id, dataset, view_id, options) { - this._super(parent, element_id); + init: function(parent, dataset, view_id, options) { + this._super(parent); this.set_default_options(options); this.dataset = dataset; this.model = dataset.model; @@ -45,6 +44,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# _.defaults(this.options, {"always_show_new_button": true}); }, start: function() { + this._super(); if (this.embedded_view) { var def = $.Deferred().then(this.on_loaded); var self = this; @@ -75,7 +75,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# this.fields_view = data; var frame = new (this.registry.get_object('frame'))(this, this.fields_view.arch); - this.$element.html(QWeb.render(this.template, { 'frame': frame, 'view': this })); + this.$element.html(QWeb.render("FormView", { 'frame': frame, 'view': this })); _.each(this.widgets, function(w) { w.start(); }); diff --git a/addons/web/static/src/js/list.js b/addons/web/static/src/js/list.js index 60ba22dc68c..7f6060b58be 100644 --- a/addons/web/static/src/js/list.js +++ b/addons/web/static/src/js/list.js @@ -2,6 +2,7 @@ openerp.web.list = function (openerp) { var QWeb = openerp.web.qweb; openerp.web.views.add('list', 'openerp.web.ListView'); openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# */ { + template: "EmptyComponent", defaults: { // records can be selected one by one 'selectable': true, @@ -31,7 +32,6 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# * @extends openerp.web.View * * @param parent parent object - * @param element_id the id of the DOM elements this view should link itself to * @param {openerp.web.DataSet} dataset the dataset the view should work with * @param {String} view_id the listview's identifier, if any * @param {Object} options A set of options used to configure the view @@ -42,9 +42,9 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# * @param {Boolean} [options.sortable=true] is it possible to sort the table by clicking on column headers * @param {Boolean} [options.reorderable=true] is it possible to reorder list rows */ - init: function(parent, element_id, dataset, view_id, options) { + init: function(parent, dataset, view_id, options) { var self = this; - this._super(parent, element_id); + this._super(parent); this.set_default_options(_.extend({}, this.defaults, options || {})); this.dataset = dataset; this.model = dataset.model; @@ -128,6 +128,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# * @returns {$.Deferred} loading promise */ start: function() { + this._super(); this.$element.addClass('oe-listview'); return this.reload_view(null, null, true); }, diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 0c3ef6c65d6..dd915c110ca 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -208,8 +208,7 @@ openerp.web.ViewManager = openerp.web.Widget.extend(/** @lends openerp.web.View if (!view.controller) { // Lazy loading of views var controllerclass = this.registry.get_object(view_type); - var controller = new controllerclass(this, this.element_id + '_view_' + view_type, - this.dataset, view.view_id, view.options); + var controller = new controllerclass(this, this.dataset, view.view_id, view.options); if (view.embedded_view) { controller.set_embedded_view(view.embedded_view); } @@ -228,7 +227,8 @@ openerp.web.ViewManager = openerp.web.Widget.extend(/** @lends openerp.web.View unique: true }); } - view_promise = controller.start(); + var container = $("#" + this.element_id + '_view_' + view_type); + view_promise = controller.appendTo(container); $.when(view_promise).then(function() { self.on_controller_inited(view_type, controller); }); diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 041e2ced2e9..043967c68fd 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -1422,4 +1422,7 @@ + +
+
From 4099cc67cd0b1c6bd21c205accdb7754b101fea6 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Wed, 14 Sep 2011 17:14:59 +0200 Subject: [PATCH 2/9] [imp] converted many usages of form view bzr revid: nicolas.vanhoren@openerp.com-20110914151459-xlle0blh7u506b0m --- addons/web/static/src/js/form.js | 16 +++++++++------- addons/web/static/src/js/list-editable.js | 5 ++--- addons/web_calendar/static/src/js/calendar.js | 4 ++-- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 042bb86857d..1b107fce413 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -11,6 +11,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# */ searchable: false, template: "EmptyComponent", + form_template: "FormView", /** * @constructs openerp.web.FormView * @extends openerp.web.View @@ -75,7 +76,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# this.fields_view = data; var frame = new (this.registry.get_object('frame'))(this, this.fields_view.arch); - this.$element.html(QWeb.render("FormView", { 'frame': frame, 'view': this })); + this.$element.html(QWeb.render(this.form_template, { 'frame': frame, 'view': this })); _.each(this.widgets, function(w) { w.start(); }); @@ -460,11 +461,12 @@ openerp.web.FormDialog = openerp.web.Dialog.extend({ }, start: function() { this._super(); - this.form = new openerp.web.FormView(this, this.element_id, this.dataset, this.view_id, { + debugger; // TODO niv: check + this.form = new openerp.web.FormView(this, this.dataset, this.view_id, { sidebar: false, pager: false }); - this.form.start(); + this.form.appendTo(this.$element); this.form.on_created.add_last(this.on_form_dialog_saved); this.form.on_saved.add_last(this.on_form_dialog_saved); return this; @@ -2156,11 +2158,11 @@ openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend(/** @lends ope this.view_list.$element.hide(); } this.dataset.index = null; - this.view_form = new openerp.web.FormView(this, this.element_id + "_view_form", this.dataset, false); + this.view_form = new openerp.web.FormView(this, this.dataset, false); if (this.options.alternative_form_view) { this.view_form.set_embedded_view(this.options.alternative_form_view); } - this.view_form.start(); + this.view_form.appendTo(this.$element.find("#" + this.element_id + "_view_form")); this.view_form.on_loaded.add_last(function() { var $buttons = self.view_form.$element.find(".oe_form_buttons"); $buttons.html(QWeb.render("SelectCreatePopup.form.buttons", {widget:self})); @@ -2265,11 +2267,11 @@ openerp.web.form.FormOpenPopup = openerp.web.OldWidget.extend(/** @lends openerp on_write_completed: function() {}, setup_form_view: function() { var self = this; - this.view_form = new openerp.web.FormView(this, this.element_id + "_view_form", this.dataset, false); + this.view_form = new openerp.web.FormView(this, this.dataset, false); if (this.options.alternative_form_view) { this.view_form.set_embedded_view(this.options.alternative_form_view); } - this.view_form.start(); + this.view_form.appendTo(this.$element.find("#" + this.element_id + "_view_form")); this.view_form.on_loaded.add_last(function() { var $buttons = self.view_form.$element.find(".oe_form_buttons"); $buttons.html(QWeb.render("FormOpenPopup.form.buttons")); diff --git a/addons/web/static/src/js/list-editable.js b/addons/web/static/src/js/list-editable.js index c38c43a4c9c..28b33cec297 100644 --- a/addons/web/static/src/js/list-editable.js +++ b/addons/web/static/src/js/list-editable.js @@ -180,9 +180,8 @@ openerp.web.list_editable = function (openerp) { } self.edition = true; self.edition_id = record_id; - self.edition_form = _.extend(new openerp.web.FormView( - self, $new_row.attr('id'), self.dataset, false), { - template: 'ListView.row.form', + self.edition_form = _.extend(new openerp.web.FormView(self, self.dataset, false), { + form_template: 'ListView.row.form', registry: openerp.web.list.form.widgets }); $.when(self.edition_form.on_loaded(self.get_form_fields_view())).then(function () { diff --git a/addons/web_calendar/static/src/js/calendar.js b/addons/web_calendar/static/src/js/calendar.js index 7b9fcc3ed33..0d108e50a58 100644 --- a/addons/web_calendar/static/src/js/calendar.js +++ b/addons/web_calendar/static/src/js/calendar.js @@ -344,11 +344,11 @@ openerp.web_calendar.CalendarFormDialog = openerp.web.Dialog.extend({ }, start: function() { this._super(); - this.form = new openerp.web.FormView(this, this.element_id, this.dataset, this.view_id, { + this.form = new openerp.web.FormView(this, this.dataset, this.view_id, { sidebar: false, pager: false }); - this.form.start(); + this.form.appendTo(this.$element); this.form.on_created.add_last(this.on_form_dialog_saved); this.form.on_saved.add_last(this.on_form_dialog_saved); }, From c480712023a4b9279f40ddc5cd43b0ebe0824215 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Wed, 14 Sep 2011 17:22:08 +0200 Subject: [PATCH 3/9] [imp] refactored list view usage bzr revid: nicolas.vanhoren@openerp.com-20110914152208-bh3oonajuxgln7i9 --- addons/web/static/src/js/form.js | 8 ++++---- addons/web_calendar/static/src/js/calendar.js | 1 + addons/web_mobile/static/src/js/chrome_mobile.js | 8 ++++---- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 1b107fce413..99122a20ebf 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -1975,7 +1975,7 @@ openerp.web.form.FieldMany2Many = openerp.web.form.Field.extend({ self.on_ui_change(); }); - this.list_view = new openerp.web.form.Many2ManyListView(this, this.list_id, this.dataset, false, { + this.list_view = new openerp.web.form.Many2ManyListView(this, this.dataset, false, { 'addable': 'Add', 'selectable': self.multi_selection }); @@ -1984,7 +1984,7 @@ openerp.web.form.FieldMany2Many = openerp.web.form.Field.extend({ self.is_started.resolve(); }); setTimeout(function () { - self.list_view.start(); + self.list_view.appendTo($("#" + self.list_id)); }, 0); }, set_value: function(value) { @@ -2123,11 +2123,11 @@ openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend(/** @lends ope self.stop(); }); self.view_list = new openerp.web.form.SelectCreateListView(self, - self.element_id + "_view_list", self.dataset, false, + self.dataset, false, {'deletable': false}); self.view_list.popup = self; self.view_list.do_show(); - self.view_list.start().then(function() { + self.view_list.appendTo($("#" + self.element_id + "_view_list")).then(function() { self.searchview.do_search(); }); }); diff --git a/addons/web_calendar/static/src/js/calendar.js b/addons/web_calendar/static/src/js/calendar.js index 0d108e50a58..6beb19b66c2 100644 --- a/addons/web_calendar/static/src/js/calendar.js +++ b/addons/web_calendar/static/src/js/calendar.js @@ -344,6 +344,7 @@ openerp.web_calendar.CalendarFormDialog = openerp.web.Dialog.extend({ }, start: function() { this._super(); + debugger; //TODO niv: check this.form = new openerp.web.FormView(this, this.dataset, this.view_id, { sidebar: false, pager: false diff --git a/addons/web_mobile/static/src/js/chrome_mobile.js b/addons/web_mobile/static/src/js/chrome_mobile.js index 2b9d8600fef..b52b4642b67 100644 --- a/addons/web_mobile/static/src/js/chrome_mobile.js +++ b/addons/web_mobile/static/src/js/chrome_mobile.js @@ -131,9 +131,9 @@ openerp.web_mobile.Shortcuts = openerp.web.Widget.extend({ id = $shortcut.data('menu'); res_id = $shortcut.data('res'); // this.header = new openerp.web_mobile.Header(this, "oe_header"); - this.listview = new openerp.web_mobile.ListView(this, "oe_list", res_id); + this.listview = new openerp.web_mobile.ListView(this, res_id); // this.header.start(); - this.listview.start(); + this.listview.appendTo($("#oe_list")); jQuery("#oe_header").find("h1").html($shortcut.data('name')); } }); @@ -252,8 +252,8 @@ openerp.web_mobile.Secondary = openerp.web.Widget.extend({ var $menu = $(ev.currentTarget); id = $menu.data('menu'); if (id) { - this.listview = new openerp.web_mobile.ListView(this, "oe_list", id); - this.listview.start(); + this.listview = new openerp.web_mobile.ListView(this, id); + this.listview.appendTo("#oe_list"); } jQuery("#oe_header").find("h1").html($menu.data('name')); } From e95fec5e99b6fb7562902ae8a5783463ea4221ac Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Wed, 14 Sep 2011 17:49:51 +0200 Subject: [PATCH 4/9] [fix] problem with editable list bzr revid: nicolas.vanhoren@openerp.com-20110914154951-yf91qchnm1wxsblr --- addons/web/static/src/js/form.js | 3 +++ addons/web/static/src/js/list-editable.js | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 99122a20ebf..5d50e825a6d 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -46,6 +46,9 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# }, start: function() { this._super(); + this.init_view(); + }, + init_view: function() { if (this.embedded_view) { var def = $.Deferred().then(this.on_loaded); var self = this; diff --git a/addons/web/static/src/js/list-editable.js b/addons/web/static/src/js/list-editable.js index 28b33cec297..b5a5a3d8c10 100644 --- a/addons/web/static/src/js/list-editable.js +++ b/addons/web/static/src/js/list-editable.js @@ -180,10 +180,11 @@ openerp.web.list_editable = function (openerp) { } self.edition = true; self.edition_id = record_id; - self.edition_form = _.extend(new openerp.web.FormView(self, self.dataset, false), { + self.edition_form = _.extend(new openerp.web.ListEditableFormView(self, self.dataset, false), { form_template: 'ListView.row.form', registry: openerp.web.list.form.widgets }); + self.edition_form.appendTo($("#" + $new_row.attr('id'))); $.when(self.edition_form.on_loaded(self.get_form_fields_view())).then(function () { // put in $.when just in case FormView.on_loaded becomes asynchronous $new_row.find('td') @@ -332,4 +333,8 @@ openerp.web.list_editable = function (openerp) { }); list_form_widgets.add(key, new_path); }); + + openerp.web.ListEditableFormView = openerp.web.FormView.extend({ + init_view: function() {} + }); }; From eddd4a88275a0130c7e4f456a58a13f0c62e616d Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 15 Sep 2011 11:42:46 +0200 Subject: [PATCH 5/9] [imp] added this._super() in all views bzr revid: nicolas.vanhoren@openerp.com-20110915094246-6v6imml9bf3y4ycj --- addons/web/static/src/js/view_form.js | 2 -- addons/web/static/src/js/view_list.js | 1 - addons/web/static/src/js/views.js | 1 + addons/web_calendar/static/src/js/calendar.js | 2 +- addons/web_dashboard/static/src/js/dashboard.js | 3 +++ addons/web_diagram/static/src/js/diagram.js | 1 + addons/web_gantt/static/src/js/gantt.js | 1 + addons/web_graph/static/src/js/graph.js | 1 + addons/web_kanban/static/src/js/kanban.js | 1 + 9 files changed, 9 insertions(+), 4 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 485f851f164..64520d77423 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -10,7 +10,6 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# * view should be displayed (if there is one active). */ searchable: false, - template: "EmptyComponent", form_template: "FormView", /** * @constructs openerp.web.FormView @@ -484,7 +483,6 @@ openerp.web.FormDialog = openerp.web.Dialog.extend({ }, start: function() { this._super(); - debugger; // TODO niv: check this.form = new openerp.web.FormView(this, this.dataset, this.view_id, { sidebar: false, pager: false diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index d96e6c805bf..f8a89cd34a1 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -2,7 +2,6 @@ openerp.web.list = function (openerp) { var QWeb = openerp.web.qweb; openerp.web.views.add('list', 'openerp.web.ListView'); openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# */ { - template: "EmptyComponent", defaults: { // records can be selected one by one 'selectable': true, diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 5e2bcc66bdf..633534dfbbb 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -729,6 +729,7 @@ db.web.TranslateDialog = db.web.Dialog.extend({ }); db.web.View = db.web.Widget.extend(/** @lends db.web.View# */{ + template: "EmptyComponent", set_default_options: function(options) { this.options = options || {}; _.defaults(this.options, { diff --git a/addons/web_calendar/static/src/js/calendar.js b/addons/web_calendar/static/src/js/calendar.js index 6beb19b66c2..862699f3ae8 100644 --- a/addons/web_calendar/static/src/js/calendar.js +++ b/addons/web_calendar/static/src/js/calendar.js @@ -30,6 +30,7 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({ this.color_map = {}; }, start: function() { + this._super(); this.rpc("/web/view/load", {"model": this.model, "view_id": this.view_id, "view_type":"calendar", 'toolbar': true}, this.on_loaded); }, stop: function() { @@ -344,7 +345,6 @@ openerp.web_calendar.CalendarFormDialog = openerp.web.Dialog.extend({ }, start: function() { this._super(); - debugger; //TODO niv: check this.form = new openerp.web.FormView(this, this.dataset, this.view_id, { sidebar: false, pager: false diff --git a/addons/web_dashboard/static/src/js/dashboard.js b/addons/web_dashboard/static/src/js/dashboard.js index a6855894a99..c60239ef05c 100644 --- a/addons/web_dashboard/static/src/js/dashboard.js +++ b/addons/web_dashboard/static/src/js/dashboard.js @@ -295,6 +295,7 @@ openerp.web_dashboard.ConfigOverview = openerp.web.View.extend({ this.dataset.domain = [['type', '=', 'manual']]; }, start: function () { + this._super(); $.when(this.dataset.read_slice(['state', 'action_id', 'category_id']), this.dataset.call('progress')) .then(this.on_records_loaded); @@ -352,6 +353,7 @@ openerp.web.client_actions.add( openerp.web_dashboard.ApplicationTiles = openerp.web.View.extend({ template: 'ApplicationTiles', start: function () { + this._super(); var self = this; return new openerp.web.DataSetSearch( this, 'ir.ui.menu', null, [['parent_id', '=', false]]) @@ -393,6 +395,7 @@ openerp.web_dashboard.Widget = openerp.web.View.extend(/** @lends openerp.web_da this.widget_id = options.widget_id; }, start: function () { + this._super(); return new openerp.web.DataSet(this, 'res.widget').read_ids( [this.widget_id], ['title'], this.on_widget_loaded); }, diff --git a/addons/web_diagram/static/src/js/diagram.js b/addons/web_diagram/static/src/js/diagram.js index 6ddaf26df98..e13bb9864ff 100644 --- a/addons/web_diagram/static/src/js/diagram.js +++ b/addons/web_diagram/static/src/js/diagram.js @@ -20,6 +20,7 @@ openerp.web.DiagramView = openerp.web.View.extend({ this.ids = this.dataset.ids; }, start: function() { + this._super(); return this.rpc("/web_diagram/diagram/load", {"model": this.model, "view_id": this.view_id}, this.on_loaded); }, diff --git a/addons/web_gantt/static/src/js/gantt.js b/addons/web_gantt/static/src/js/gantt.js index 5bf04ff46c7..b01aeeaaa3e 100644 --- a/addons/web_gantt/static/src/js/gantt.js +++ b/addons/web_gantt/static/src/js/gantt.js @@ -32,6 +32,7 @@ init: function(parent, element_id, dataset, view_id) { }, start: function() { + this._super(); this.rpc("/web/view/load", {"model": this.model, "view_id": this.view_id, "view_type": "gantt"}, this.on_loaded); }, diff --git a/addons/web_graph/static/src/js/graph.js b/addons/web_graph/static/src/js/graph.js index f35e6ab112c..0754c098cae 100644 --- a/addons/web_graph/static/src/js/graph.js +++ b/addons/web_graph/static/src/js/graph.js @@ -33,6 +33,7 @@ openerp.web_graph.GraphView = openerp.web.View.extend({ this.$element.hide(); }, start: function() { + this._super(); return this.rpc("/web_graph/graphview/load", {"model": this.model, "view_id": this.view_id}, this.on_loaded); }, on_loaded: function(data) { diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index d90f4bc5ed8..7830175032f 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -24,6 +24,7 @@ openerp.web_kanban.KanbanView = openerp.web.View.extend({ } }, start: function() { + this._super(); return this.rpc("/web/view/load", {"model": this.model, "view_id": this.view_id, "view_type": "kanban"}, this.on_loaded); }, on_loaded: function(data) { From 2836c157d448a6c0bbe83b6b7de7383053e636a6 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 15 Sep 2011 11:49:44 +0200 Subject: [PATCH 6/9] [imp] changed init of most views + the places were we init them bzr revid: nicolas.vanhoren@openerp.com-20110915094944-7l229rjknptr5vcl --- addons/web/static/src/js/view_form.js | 4 ++-- addons/web/static/src/js/view_tree.js | 5 ++--- addons/web/static/src/js/views.js | 4 ++-- addons/web_calendar/static/src/js/calendar.js | 4 ++-- addons/web_dashboard/static/src/js/dashboard.js | 4 ++-- addons/web_diagram/static/src/js/diagram.js | 4 ++-- addons/web_gantt/static/src/js/gantt.js | 4 ++-- addons/web_graph/static/src/js/graph.js | 4 ++-- addons/web_kanban/static/src/js/kanban.js | 4 ++-- 9 files changed, 18 insertions(+), 19 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 64520d77423..d59a94f5150 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2144,7 +2144,7 @@ openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend(/** @lends ope this.searchview.stop(); } this.searchview = new openerp.web.SearchView(this, - this.element_id + "_search", this.dataset, false, { + this.dataset, false, { "selectable": !this.options.disable_multiple_selection, "deletable": false }); @@ -2181,7 +2181,7 @@ openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend(/** @lends ope self.searchview.do_search(); }); }); - this.searchview.start(); + this.searchview.appendTo($("#" + this.element_id + "_search")); }, create_row: function(data) { var self = this; diff --git a/addons/web/static/src/js/view_tree.js b/addons/web/static/src/js/view_tree.js index 2a314f57fa8..7988d65805c 100644 --- a/addons/web/static/src/js/view_tree.js +++ b/addons/web/static/src/js/view_tree.js @@ -19,13 +19,12 @@ openerp.web.TreeView = openerp.web.View.extend(/** @lends openerp.web.TreeView# * @extends openerp.web.View * * @param parent - * @param element_id * @param dataset * @param view_id * @param options */ - init: function(parent, element_id, dataset, view_id, options) { - this._super(parent, element_id); + init: function(parent, dataset, view_id, options) { + this._super(parent); this.dataset = dataset; this.model = dataset.model; this.view_id = view_id; diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 633534dfbbb..ad2e2131884 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -285,14 +285,14 @@ db.web.ViewManager = db.web.Widget.extend(/** @lends db.web.ViewManager# */{ this.searchview.stop(); } this.searchview = new db.web.SearchView( - this, this.element_id + "_search", this.dataset, + this, this.dataset, view_id, search_defaults); this.searchview.on_search.add(function(domains, contexts, groupbys) { var controller = self.views[self.active_view].controller; controller.do_search.call(controller, domains, contexts, groupbys); }); - return this.searchview.start(); + return this.searchview.appendTo($("#" + this.element_id + "_search")); }, /** * Called when one of the view want to execute an action diff --git a/addons/web_calendar/static/src/js/calendar.js b/addons/web_calendar/static/src/js/calendar.js index 862699f3ae8..e590280b933 100644 --- a/addons/web_calendar/static/src/js/calendar.js +++ b/addons/web_calendar/static/src/js/calendar.js @@ -8,8 +8,8 @@ QWeb.add_template('/web_calendar/static/src/xml/web_calendar.xml'); openerp.web.views.add('calendar', 'openerp.web_calendar.CalendarView'); openerp.web_calendar.CalendarView = openerp.web.View.extend({ // Dhtmlx scheduler ? - init: function(parent, element_id, dataset, view_id, options) { - this._super(parent, element_id); + init: function(parent, dataset, view_id, options) { + this._super(parent); this.set_default_options(options); this.dataset = dataset; this.model = dataset.model; diff --git a/addons/web_dashboard/static/src/js/dashboard.js b/addons/web_dashboard/static/src/js/dashboard.js index c60239ef05c..008d03d1548 100644 --- a/addons/web_dashboard/static/src/js/dashboard.js +++ b/addons/web_dashboard/static/src/js/dashboard.js @@ -288,8 +288,8 @@ if (!openerp.web_dashboard) { } openerp.web_dashboard.ConfigOverview = openerp.web.View.extend({ template: 'ConfigOverview', - init: function (parent, element_id) { - this._super(parent, element_id); + init: function (parent) { + this._super(parent); this.dataset = new openerp.web.DataSetSearch( this, 'ir.actions.todo'); this.dataset.domain = [['type', '=', 'manual']]; diff --git a/addons/web_diagram/static/src/js/diagram.js b/addons/web_diagram/static/src/js/diagram.js index e13bb9864ff..b4aa62fd8f0 100644 --- a/addons/web_diagram/static/src/js/diagram.js +++ b/addons/web_diagram/static/src/js/diagram.js @@ -8,8 +8,8 @@ QWeb.add_template('/web_diagram/static/src/xml/base_diagram.xml'); openerp.web.views.add('diagram', 'openerp.web.DiagramView'); openerp.web.DiagramView = openerp.web.View.extend({ searchable: false, - init: function(parent, element_id, dataset, view_id, options) { - this._super(parent, element_id); + init: function(parent, dataset, view_id, options) { + this._super(parent); this.set_default_options(options); this.view_manager = parent; this.dataset = dataset; diff --git a/addons/web_gantt/static/src/js/gantt.js b/addons/web_gantt/static/src/js/gantt.js index b01aeeaaa3e..a045bae64e1 100644 --- a/addons/web_gantt/static/src/js/gantt.js +++ b/addons/web_gantt/static/src/js/gantt.js @@ -7,8 +7,8 @@ QWeb.add_template('/web_gantt/static/src/xml/web_gantt.xml'); openerp.web.views.add('gantt', 'openerp.web_gantt.GanttView'); openerp.web_gantt.GanttView = openerp.web.View.extend({ -init: function(parent, element_id, dataset, view_id) { - this._super(parent, element_id); +init: function(parent, dataset, view_id) { + this._super(parent); this.view_manager = parent || new openerp.web.NullViewManager(); this.dataset = dataset; this.model = dataset.model; diff --git a/addons/web_graph/static/src/js/graph.js b/addons/web_graph/static/src/js/graph.js index 0754c098cae..2a493b89166 100644 --- a/addons/web_graph/static/src/js/graph.js +++ b/addons/web_graph/static/src/js/graph.js @@ -17,8 +17,8 @@ QWeb.add_template('/web_graph/static/src/xml/web_graph.xml'); openerp.web.views.add('graph', 'openerp.web_graph.GraphView'); openerp.web_graph.GraphView = openerp.web.View.extend({ - init: function(parent, element_id, dataset, view_id) { - this._super(parent, element_id); + init: function(parent, dataset, view_id) { + this._super(parent); this.view_manager = parent; this.dataset = dataset; this.dataset_index = 0; diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 7830175032f..8d6727facaa 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -4,8 +4,8 @@ var QWeb = openerp.web.qweb; QWeb.add_template('/web_kanban/static/src/xml/web_kanban.xml'); openerp.web.views.add('kanban', 'openerp.web_kanban.KanbanView'); openerp.web_kanban.KanbanView = openerp.web.View.extend({ - init: function (parent, element_id, dataset, view_id, options) { - this._super(parent, element_id); + init: function (parent, dataset, view_id, options) { + this._super(parent); this.set_default_options(options); this.dataset = dataset; this.model = dataset.model; From f6c3577708f855105bb8ad4bdff8b83777bf881e Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 15 Sep 2011 11:52:14 +0200 Subject: [PATCH 7/9] [fix] forgot to convert search view bzr revid: nicolas.vanhoren@openerp.com-20110915095214-13k5zgjz87xis8el --- addons/web/static/src/js/search.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index 681f2fe2f4b..5db66ab7260 100644 --- a/addons/web/static/src/js/search.js +++ b/addons/web/static/src/js/search.js @@ -2,6 +2,7 @@ openerp.web.search = function(openerp) { var QWeb = openerp.web.qweb; openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.SearchView# */{ + template: "EmptyComponent", /** * @constructs openerp.web.SearchView * @extends openerp.web.Widget @@ -12,8 +13,8 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search * @param view_id * @param defaults */ - init: function(parent, element_id, dataset, view_id, defaults) { - this._super(parent, element_id); + init: function(parent, dataset, view_id, defaults) { + this._super(parent); this.dataset = dataset; this.model = dataset.model; this.view_id = view_id; @@ -28,6 +29,7 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search this.ready = $.Deferred(); }, start: function() { + this._super(); this.rpc("/web/searchview/load", {"model": this.model, "view_id":this.view_id}, this.on_loaded); return this.ready.promise(); }, From c5bbc31cacb5a92da5b8677691726e80327a8819 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 15 Sep 2011 12:01:01 +0200 Subject: [PATCH 8/9] [fix] form view was broken bzr revid: nicolas.vanhoren@openerp.com-20110915100101-ez65927vcycbgtjq --- addons/web/static/src/js/view_form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 1e188331cfc..788dfd17b7f 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -45,7 +45,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# }, start: function() { this._super(); - this.init_view(); + return this.init_view(); }, init_view: function() { if (this.embedded_view) { From 66ebc7708cadc19e98551e2902784cb344d078ce Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 15 Sep 2011 12:08:08 +0200 Subject: [PATCH 9/9] [fix] problem in m2o bzr revid: nicolas.vanhoren@openerp.com-20110915100808-e2pizj8zgc07zgao --- addons/web/static/src/js/view_form.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 788dfd17b7f..e28936b850d 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2176,10 +2176,12 @@ openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend(/** @lends ope self.dataset, false, {'deletable': false}); self.view_list.popup = self; - self.view_list.do_show(); - self.view_list.appendTo($("#" + self.element_id + "_view_list")).then(function() { + self.view_list.appendTo($("#" + self.element_id + "_view_list")).pipe(function() { + self.view_list.do_show(); + }).pipe(function() { self.searchview.do_search(); }); + }); this.searchview.appendTo($("#" + this.element_id + "_search")); },