From cb265f710c0b752e2928553ffc8a654ed2436ca5 Mon Sep 17 00:00:00 2001 From: "Vidhin Mehta (OpenERP)" Date: Thu, 4 Oct 2012 17:57:11 +0530 Subject: [IMP]replace callenabled for on_record_loaded method. bzr revid: vme@tinyerp.com-20121004122711-hzymzdnzbyutxge5 --- addons/web/static/src/js/view_form.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 1c32d5ef63e..279f44827ba 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -111,6 +111,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM self.on("change:actual_mode", self, self.init_pager); self.init_pager(); }); + self.on("record_load", self, self.on_record_loaded); instance.web.bus.on('clear_uncommitted_changes', this, function(e) { if (!this.can_be_discarded()) { e.preventDefault(); @@ -316,7 +317,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM fields.push('display_name'); return self.dataset.read_index(fields, { context: { 'bin_size': true, 'future_display_name' : true } - }).pipe(self.on_record_loaded); + }).pipe(function(r){self.trigger('record_load',r)}); }); } return shown.pipe(function() { @@ -364,6 +365,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM field._inhibit_on_change_flag = false; set_values.push(result); }); + console.log("on_record_loaded"); return $.when.apply(null, set_values).pipe(function() { if (!record.id) { // New record: Second pass in order to trigger the onchanges @@ -398,12 +400,13 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM * @return {$.Deferred} */ load_defaults: function () { + var self = this; var keys = _.keys(this.fields_view.fields); if (keys.length) { return this.dataset.default_get(keys) - .pipe(this.on_record_loaded); + .pipe(function(r){self.trigger('record_load',r)}); } - return this.on_record_loaded({}); + return self.trigger('record_load',{}); }, on_form_changed: function() { this.trigger("view_content_has_changed"); @@ -737,7 +740,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM this.trigger('history_back'); } else { this.to_view_mode(); - this.on_record_loaded(this.datarecord); + self.trigger('record_load',this.datarecord); } } return false; @@ -943,7 +946,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM fields.push('display_name'); return self.dataset.read_index(fields, { context : { 'bin_size' : true, 'future_display_name' : true } - }).pipe(self.on_record_loaded); + }).pipe(function(r){self.trigger('record_load',r)}); } }); }, @@ -3291,9 +3294,10 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({ if (self.get("effective_readonly")) { $(".oe_form_buttons", controller.$el).children().remove(); } - controller.on_record_loaded.add_last(function() { - once.resolve(); - }); + controller.on("record_load", self, function(){ + console.log("view manager form"); + once.resolve(); + }); controller.on_pager_action.add_first(function() { self.save_any_view(); }); -- cgit v1.2.3 From 1b7d0029221be19c6b23634f60d6f8109db852d8 Mon Sep 17 00:00:00 2001 From: Vishmita Date: Tue, 9 Oct 2012 15:40:28 +0530 Subject: [IMP]replace callenabled for on_mode_switch bzr revid: vja@tinyerp.com-20121009101028-z5andmt2pi0973za --- addons/web/static/src/js/view_form.js | 2 +- addons/web/static/src/js/views.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index b41039361c0..db68b8d7a23 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3370,7 +3370,7 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({ } def.resolve(); }); - this.viewmanager.on_mode_switch.add_first(function(n_mode, b, c, d, e) { + this.viewmanager.on('on_mode_switch',self,function(n_mode, b, c, d, e) { $.when(self.save_any_view()).then(function() { if(n_mode === "list") $.async_when().then(function() {self.reload_current_view();}); diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 21f539fed1b..18d7e9d5666 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -552,7 +552,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ add_breadcrumb: function(on_reverse_breadcrumb) { var self = this; var views = [this.active_view || this.views_src[0].view_type]; - this.on_mode_switch.add(function(mode) { + this.on('on_mode_switch',self,function(mode) { var last = views.slice(-1)[0]; if (mode !== last) { if (mode !== 'form') { -- cgit v1.2.3 From abac1cae455e3380fee45a2d9503427ed6fa3269 Mon Sep 17 00:00:00 2001 From: "Vidhin Mehta (OpenERP)" Date: Tue, 9 Oct 2012 18:05:32 +0530 Subject: [IMP]improvements to record load event. bzr revid: vme@tinyerp.com-20121009123532-bwlrg4ldtprd1w2d --- addons/web/static/src/js/view_form.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index e55258d45d1..45e49366ba2 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -380,7 +380,6 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM field._inhibit_on_change_flag = false; set_values.push(result); }); - console.log("on_record_loaded"); return $.when.apply(null, set_values).pipe(function() { if (!record.id) { // New record: Second pass in order to trigger the onchanges @@ -755,7 +754,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM this.trigger('history_back'); } else { this.to_view_mode(); - self.trigger('record_load',this.datarecord); + this.trigger('record_load',this.datarecord); } } return false; -- cgit v1.2.3 From b8d7b8cb0ac768220eb28b3823b02d63027267ca Mon Sep 17 00:00:00 2001 From: "Vidhin Mehta (OpenERP)" Date: Tue, 9 Oct 2012 18:30:30 +0530 Subject: [REM]one more console. bzr revid: vme@tinyerp.com-20121009130030-8437spz1j1eogh8x --- addons/web/static/src/js/view_form.js | 1 - 1 file changed, 1 deletion(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 45e49366ba2..43afe3a3bf1 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3372,7 +3372,6 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({ $(".oe_form_buttons", controller.$el).children().remove(); } controller.on("record_load", self, function(){ - console.log("view manager form"); once.resolve(); }); controller.on_pager_action.add_first(function() { -- cgit v1.2.3 From fe07dc2e6d67c32ebf6aab8e3e32e57f24886c28 Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Tue, 9 Oct 2012 16:51:13 +0200 Subject: [FIX] Fixed on_switch_mode tirggering. bzr revid: vta@openerp.com-20121009145113-8sazhfrp3xaan5cq --- addons/web/static/src/js/view_form.js | 9 ++++++--- addons/web/static/src/js/views.js | 32 ++++++++++++++------------------ 2 files changed, 20 insertions(+), 21 deletions(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index db68b8d7a23..98fd83dadaf 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3370,10 +3370,13 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({ } def.resolve(); }); - this.viewmanager.on('on_mode_switch',self,function(n_mode, b, c, d, e) { + this.viewmanager.on("on_mode_switch", self, function(n_mode, b, c, d, e) { $.when(self.save_any_view()).then(function() { - if(n_mode === "list") - $.async_when().then(function() {self.reload_current_view();}); + if (n_mode === "list") { + $.async_when().then(function() { + self.reload_current_view(); + }); + } }); }); this.is_setted.then(function() { diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 18d7e9d5666..e18a3e361be 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -417,7 +417,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ this._super(); var self = this; this.$el.find('.oe_view_manager_switch a').click(function() { - self.on_mode_switch($(this).data('view-type')); + self.trigger('on_mode_switch', $(this).data('view-type')); }).tipsy(); var views_ids = {}; _.each(this.views_src, function(view) { @@ -439,16 +439,12 @@ instance.web.ViewManager = instance.web.Widget.extend({ } // If no default view defined, switch to the first one in sequence var default_view = this.flags.default_view || this.views_src[0].view_type; - return this.on_mode_switch(default_view); + this.on('on_mode_switch', self, function(view_type, no_store, view_options) { + self.switch_mode(view_type, no_store, view_options); + }); + return this.trigger('on_mode_switch', default_view); }, - /** - * Asks the view manager to switch visualization mode. - * - * @param {String} view_type type of view to display - * @param {Boolean} [no_store=false] don't store the view being switched to on the switch stack - * @returns {jQuery.Deferred} new view loading promise - */ - on_mode_switch: function(view_type, no_store, view_options) { + switch_mode: function(view_type, no_store, view_options) { var self = this; var view = this.views[view_type]; var view_promise; @@ -552,7 +548,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ add_breadcrumb: function(on_reverse_breadcrumb) { var self = this; var views = [this.active_view || this.views_src[0].view_type]; - this.on('on_mode_switch',self,function(mode) { + this.on('on_mode_switch',self,function(mode) { var last = views.slice(-1)[0]; if (mode !== last) { if (mode !== 'form') { @@ -568,7 +564,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ var view_to_select = views[index]; self.$el.show(); if (self.active_view !== view_to_select) { - self.on_mode_switch(view_to_select); + self.trigger('on_mode_switch', view_to_select); } }, get_title: function() { @@ -604,7 +600,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ * consist to switch to the asked view. */ switch_view: function(view_type, no_store, options) { - return this.on_mode_switch(view_type, no_store, options); + return this.trigger('on_mode_switch', view_type, no_store, options); }, /** * Returns to the view preceding the caller view in this manager's @@ -623,12 +619,12 @@ instance.web.ViewManager = instance.web.Widget.extend({ if (options.created && current_view === 'form' && previous_view === 'list') { // APR special case: "If creation mode from list (and only from a list), // after saving, go to page view (don't come back in list)" - return this.on_mode_switch('form'); + return this.trigger('on_mode_switch', 'form'); } else if (options.created && !previous_view && this.action && this.action.flags.default_view === 'form') { // APR special case: "If creation from dashboard, we have no previous view - return this.on_mode_switch('form'); + return this.trigger('on_mode_switch', 'form'); } - return this.on_mode_switch(previous_view, true); + return this.trigger('on_mode_switch', previous_view, true); }, /** * Sets up the current viewmanager's search view. @@ -897,7 +893,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({ }, action || {}); this.do_action(action); }, - on_mode_switch: function (view_type, no_store, options) { + switch_mode: function (view_type, no_store, options) { var self = this; return $.when(this._super.apply(this, arguments)).then(function () { @@ -932,7 +928,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({ if (state.view_type && state.view_type !== this.active_view) { defs.push( this.views[this.active_view].deferred.pipe(function() { - return self.on_mode_switch(state.view_type, true); + return self.trigger('on_mode_switch', state.view_type, true) }) ); } -- cgit v1.2.3 From 12c35d031dac08296e05bd4231994257e5247bbd Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Wed, 10 Oct 2012 11:37:37 +0200 Subject: [FIX] Fixed on_mode_switch. bzr revid: vta@openerp.com-20121010093737-0kheus1v0kdj5tk7 --- addons/web/static/src/js/view_form.js | 2 +- addons/web/static/src/js/views.js | 24 +++++++++++------------- 2 files changed, 12 insertions(+), 14 deletions(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 98fd83dadaf..7395011a5e7 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3370,7 +3370,7 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({ } def.resolve(); }); - this.viewmanager.on("on_mode_switch", self, function(n_mode, b, c, d, e) { + this.viewmanager.on("switch_mode", self, function(n_mode, b, c, d, e) { $.when(self.save_any_view()).then(function() { if (n_mode === "list") { $.async_when().then(function() { diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index e18a3e361be..f0df367c5e3 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -417,7 +417,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ this._super(); var self = this; this.$el.find('.oe_view_manager_switch a').click(function() { - self.trigger('on_mode_switch', $(this).data('view-type')); + self.trigger('switch_mode', $(this).data('view-type')); }).tipsy(); var views_ids = {}; _.each(this.views_src, function(view) { @@ -439,10 +439,8 @@ instance.web.ViewManager = instance.web.Widget.extend({ } // If no default view defined, switch to the first one in sequence var default_view = this.flags.default_view || this.views_src[0].view_type; - this.on('on_mode_switch', self, function(view_type, no_store, view_options) { - self.switch_mode(view_type, no_store, view_options); - }); - return this.trigger('on_mode_switch', default_view); + this.on('switch_mode', self, self.switch_mode); + return this.trigger('switch_mode', default_view); }, switch_mode: function(view_type, no_store, view_options) { var self = this; @@ -548,7 +546,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ add_breadcrumb: function(on_reverse_breadcrumb) { var self = this; var views = [this.active_view || this.views_src[0].view_type]; - this.on('on_mode_switch',self,function(mode) { + this.on('switch_mode', self, function(mode) { var last = views.slice(-1)[0]; if (mode !== last) { if (mode !== 'form') { @@ -564,7 +562,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ var view_to_select = views[index]; self.$el.show(); if (self.active_view !== view_to_select) { - self.trigger('on_mode_switch', view_to_select); + self.trigger('switch_mode', view_to_select); } }, get_title: function() { @@ -600,12 +598,12 @@ instance.web.ViewManager = instance.web.Widget.extend({ * consist to switch to the asked view. */ switch_view: function(view_type, no_store, options) { - return this.trigger('on_mode_switch', view_type, no_store, options); + return this.trigger('switch_mode', view_type, no_store, options); }, /** * Returns to the view preceding the caller view in this manager's * navigation history (the navigation history is appended to via - * on_mode_switch) + * switch_mode) * * @param {Object} [options] * @param {Boolean} [options.created=false] resource was created @@ -619,12 +617,12 @@ instance.web.ViewManager = instance.web.Widget.extend({ if (options.created && current_view === 'form' && previous_view === 'list') { // APR special case: "If creation mode from list (and only from a list), // after saving, go to page view (don't come back in list)" - return this.trigger('on_mode_switch', 'form'); + return this.trigger('switch_mode', 'form'); } else if (options.created && !previous_view && this.action && this.action.flags.default_view === 'form') { // APR special case: "If creation from dashboard, we have no previous view - return this.trigger('on_mode_switch', 'form'); + return this.trigger('switch_mode', 'form'); } - return this.trigger('on_mode_switch', previous_view, true); + return this.trigger('switch_mode', previous_view, true); }, /** * Sets up the current viewmanager's search view. @@ -928,7 +926,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({ if (state.view_type && state.view_type !== this.active_view) { defs.push( this.views[this.active_view].deferred.pipe(function() { - return self.trigger('on_mode_switch', state.view_type, true) + return self.trigger('switch_mode', state.view_type, true) }) ); } -- cgit v1.2.3 From 9c71d984e6937cc598fc8da52bf353322acc03cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20van=20der=20Essen?= Date: Wed, 10 Oct 2012 11:55:09 +0200 Subject: [IMP] Class instanciations throws an error when you forgot to use the new operator bzr revid: fva@openerp.com-20121010095509-ojvigsva4hblta7m --- addons/web/static/src/js/corelib.js | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/corelib.js b/addons/web/static/src/js/corelib.js index ff193605033..21d593069e7 100644 --- a/addons/web/static/src/js/corelib.js +++ b/addons/web/static/src/js/corelib.js @@ -121,6 +121,10 @@ openerp.web.corelib = function(instance) { // The dummy class constructor function Class() { + if(this.constructor !== instance.web.Class){ + throw new Error("You need a 'new' to instanciate an object"); + return null; + } // All construction is actually done in the init method if (!initializing && this.init) { var ret = this.init.apply(this, arguments); -- cgit v1.2.3 From 40eceb20a384b56b1e1acad6750afa27521a8fa4 Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Wed, 10 Oct 2012 12:02:33 +0200 Subject: [FIX] Fixed on_record_loaded. bzr revid: vta@openerp.com-20121010100233-tulf3c1fvnt2s85e --- addons/web/static/src/js/view_form.js | 31 +++++++++++++++++--------- addons/web/static/src/js/view_list_editable.js | 7 +++--- 2 files changed, 23 insertions(+), 15 deletions(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 43afe3a3bf1..6a9d1dcb3a4 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -126,7 +126,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM self.on("change:actual_mode", self, self.init_pager); self.init_pager(); }); - self.on("record_load", self, self.on_record_loaded); + self.on("load_record", self, self.load_record); instance.web.bus.on('clear_uncommitted_changes', this, function(e) { if (!this.can_be_discarded()) { e.preventDefault(); @@ -332,7 +332,9 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM fields.push('display_name'); return self.dataset.read_index(fields, { context: { 'bin_size': true, 'future_display_name' : true } - }).pipe(function(r){self.trigger('record_load',r)}); + }).pipe(function(r) { + self.trigger('load_record', r); + }); }); } return shown.pipe(function() { @@ -355,7 +357,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM } this._super(); }, - on_record_loaded: function(record) { + load_record: function(record) { var self = this, set_values = []; if (!record) { this.set({ 'title' : undefined }); @@ -417,10 +419,11 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM var self = this; var keys = _.keys(this.fields_view.fields); if (keys.length) { - return this.dataset.default_get(keys) - .pipe(function(r){self.trigger('record_load',r)}); + return this.dataset.default_get(keys).pipe(function(r) { + self.trigger('load_record', r); + }); } - return self.trigger('record_load',{}); + return self.trigger('load_record', {}); }, on_form_changed: function() { this.trigger("view_content_has_changed"); @@ -754,7 +757,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM this.trigger('history_back'); } else { this.to_view_mode(); - this.trigger('record_load',this.datarecord); + this.trigger('load_record', this.datarecord); } } return false; @@ -954,9 +957,15 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM } else { var fields = _.keys(self.fields_view.fields); fields.push('display_name'); - return self.dataset.read_index(fields, { - context : { 'bin_size' : true, 'future_display_name' : true } - }).pipe(function(r){self.trigger('record_load',r)}); + return self.dataset.read_index(fields, + { + context: { + 'bin_size': true, + 'future_display_name': true + } + }).pipe(function(r) { + self.trigger('load_record', r); + }); } }); }, @@ -3371,7 +3380,7 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({ if (self.get("effective_readonly")) { $(".oe_form_buttons", controller.$el).children().remove(); } - controller.on("record_load", self, function(){ + controller.on("load_record", self, function(){ once.resolve(); }); controller.on_pager_action.add_first(function() { diff --git a/addons/web/static/src/js/view_list_editable.js b/addons/web/static/src/js/view_list_editable.js index 892221a347b..fe0f525fe3f 100644 --- a/addons/web/static/src/js/view_list_editable.js +++ b/addons/web/static/src/js/view_list_editable.js @@ -626,7 +626,7 @@ openerp.web.list_editable = function (instance) { }, start: function () { var self = this; - var _super = this._super(); + var _super = this._super(); this.form.embedded_view = this._validate_view( this.delegate.edition_view(this)); var form_ready = this.form.appendTo(this.$el).then( @@ -708,10 +708,9 @@ openerp.web.list_editable = function (instance) { var self = this; var form = self.form; var loaded = record - ? form.on_record_loaded(_.extend({}, record)) + ? form.trigger('load_record', _.extend({}, record)) : form.load_defaults(); - - return loaded.pipe(function () { + return $.when(loaded).pipe(function () { return form.do_show({reload: false}); }).pipe(function () { self.record = form.datarecord; -- cgit v1.2.3 From a8bf5bfbab84fdc278a9481a493b44adbaf0676c Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Wed, 10 Oct 2012 12:12:46 +0200 Subject: [FIX] Fixed event name on_write_complete. bzr revid: vta@openerp.com-20121010101246-1ht2npz6l75ah06e --- addons/web/static/src/js/view_form.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index d635ab7e640..1478ae6e4ac 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2982,7 +2982,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc title: _t("Open: ") + self.string } ); - pop.on('on_write_complete', self, function(){ + pop.on('write_completed', self, function(){ self.display_value = {}; self.render_value(); self.focus(); @@ -4134,7 +4134,7 @@ instance.web.form.Many2ManyListView = instance.web.ListView.extend(/** @lends in title: _t("Open: ") + this.m2m_field.string, readonly: this.getParent().get("effective_readonly") }); - pop.on('on_write_complete', self, self.reload_content); + pop.on('write_completed', self, self.reload_content); } }); @@ -4382,7 +4382,7 @@ instance.web.form.AbstractFormPopup = instance.web.Widget.extend({ this.dataset.write_function = function(id, data, options, sup) { var fct = self.options.write_function || sup; return fct.call(this, id, data, options).then(function() { - self.trigger('on_write_complete'); + self.trigger('write_completed'); }); }; this.dataset.parent_view = this.options.parent_view; -- cgit v1.2.3 From 21dcc15a2ca38725d963fd16f57f5c9f4b1c5afe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20van=20der=20Essen?= Date: Wed, 10 Oct 2012 12:44:33 +0200 Subject: [FIX] previous 'forgot now' error message was a bit crappy bzr revid: fva@openerp.com-20121010104433-cb03lb11fi15qrzd --- addons/web/static/src/js/corelib.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/corelib.js b/addons/web/static/src/js/corelib.js index 21d593069e7..7a9af79b4fb 100644 --- a/addons/web/static/src/js/corelib.js +++ b/addons/web/static/src/js/corelib.js @@ -122,7 +122,7 @@ openerp.web.corelib = function(instance) { // The dummy class constructor function Class() { if(this.constructor !== instance.web.Class){ - throw new Error("You need a 'new' to instanciate an object"); + throw new Error("You can only instanciate objects with the 'new' operator"); return null; } // All construction is actually done in the init method -- cgit v1.2.3 From 4c7f416dd4b2689a38a6be14a4bcaeeb44583ca7 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Wed, 10 Oct 2012 13:30:25 +0200 Subject: [FIX] switch_view bzr revid: al@openerp.com-20121010113025-qpz12d28uob7hab9 --- addons/web/static/src/js/view_form.js | 2 +- addons/web/static/src/js/views.js | 35 ++++++++++++++--------------------- 2 files changed, 15 insertions(+), 22 deletions(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 1478ae6e4ac..9315ce15d1a 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3565,7 +3565,7 @@ instance.web.form.One2ManyViewManager = instance.web.ViewManager.extend({ }); this.__ignore_blur = false; }, - switch_view: function(mode, unused) { + do_switch_view: function(mode, unused) { if (mode !== 'form') { return this._super(mode, unused); } diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 0474e43bee3..f985e5f6dc8 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -417,7 +417,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ this._super(); var self = this; this.$el.find('.oe_view_manager_switch a').click(function() { - self.trigger('switch_mode', $(this).data('view-type')); + self.switch_mode($(this).data('view-type')); }).tipsy(); var views_ids = {}; _.each(this.views_src, function(view) { @@ -439,8 +439,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ } // If no default view defined, switch to the first one in sequence var default_view = this.flags.default_view || this.views_src[0].view_type; - this.on('switch_mode', self, self.switch_mode); - return this.trigger('switch_mode', default_view); + return this.switch_mode(default_view); }, switch_mode: function(view_type, no_store, view_options) { var self = this; @@ -448,9 +447,9 @@ instance.web.ViewManager = instance.web.Widget.extend({ var view_promise; var form = this.views['form']; if (!view || (form && form.controller && !form.controller.can_be_discarded())) { + self.trigger('switch_mode', view_type, no_store, view_options); return $.Deferred().reject(); } - if (!no_store) { this.views_history.push(view_type); } @@ -468,13 +467,12 @@ instance.web.ViewManager = instance.web.Widget.extend({ this.searchview[(view.controller.searchable === false || this.searchview.hidden) ? 'hide' : 'show'](); } - this.$el - .find('.oe_view_manager_switch a').parent().removeClass('active'); + this.$el.find('.oe_view_manager_switch a').parent().removeClass('active'); this.$el .find('.oe_view_manager_switch a').filter('[data-view-type="' + view_type + '"]') .parent().addClass('active'); - return $.when(view_promise).then(function () { + r = $.when(view_promise).then(function () { _.each(_.keys(self.views), function(view_name) { var controller = self.views[view_name].controller; if (controller) { @@ -495,7 +493,9 @@ instance.web.ViewManager = instance.web.Widget.extend({ } } }); + self.trigger('switch_mode', view_type, no_store, view_options); }); + return r; }, do_create_view: function(view_type) { // Lazy loading of views @@ -524,7 +524,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ if (view.embedded_view) { controller.set_embedded_view(view.embedded_view); } - controller.do_switch_view.add_last(_.bind(this.switch_view, this)); + controller.on('switch_mode', self, this.switch_mode); controller.do_prev_view.add_last(this.on_prev_view); var container = this.$el.find(".oe_view_manager_view_" + view_type); @@ -562,7 +562,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ var view_to_select = views[index]; self.$el.show(); if (self.active_view !== view_to_select) { - self.trigger('switch_mode', view_to_select); + self.switch_mode(view_to_select); } }, get_title: function() { @@ -592,14 +592,6 @@ instance.web.ViewManager = instance.web.Widget.extend({ on_reverse_breadcrumb: on_reverse_breadcrumb, }); }, - /** - * Method used internally when a view asks to switch view. This method is meant - * to be extended by child classes to change the default behavior, which simply - * consist to switch to the asked view. - */ - switch_view: function(view_type, no_store, options) { - return this.trigger('switch_mode', view_type, no_store, options); - }, /** * Returns to the view preceding the caller view in this manager's * navigation history (the navigation history is appended to via @@ -617,12 +609,12 @@ instance.web.ViewManager = instance.web.Widget.extend({ if (options.created && current_view === 'form' && previous_view === 'list') { // APR special case: "If creation mode from list (and only from a list), // after saving, go to page view (don't come back in list)" - return this.trigger('switch_mode', 'form'); + return this.switch_mode('form'); } else if (options.created && !previous_view && this.action && this.action.flags.default_view === 'form') { // APR special case: "If creation from dashboard, we have no previous view - return this.trigger('switch_mode', 'form'); + return this.switch_mode('form'); } - return this.trigger('switch_mode', previous_view, true); + return this.switch_mode(previous_view, true); }, /** * Sets up the current viewmanager's search view. @@ -926,7 +918,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({ if (state.view_type && state.view_type !== this.active_view) { defs.push( this.views[this.active_view].deferred.pipe(function() { - return self.trigger('switch_mode', state.view_type, true) + return self.switch_mode(state.view_type, true); }) ); } @@ -1265,6 +1257,7 @@ instance.web.View = instance.web.Widget.extend({ * @param {String} view view type to switch to */ do_switch_view: function(view) { + this.trigger('switch_mode',view); }, /** * Cancels the switch to the current view, switches to the previous one -- cgit v1.2.3 From 46b5ac9a377c9470b20aae0e8bdbdf0d359871af Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Wed, 10 Oct 2012 13:40:07 +0200 Subject: [FIX] Fixed on_button_cancel. bzr revid: vta@openerp.com-20121010114007-3cw3qlxu2zwt1k0s --- addons/web/static/src/js/view_form.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index b41039361c0..b2faa93889e 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -172,10 +172,10 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM } else { this.$el.find('.oe_form_buttons').replaceWith(this.$buttons); } - this.$buttons.on('click','.oe_form_button_create',this.on_button_create); - this.$buttons.on('click','.oe_form_button_edit',this.on_button_edit); - this.$buttons.on('click','.oe_form_button_save',this.on_button_save); - this.$buttons.on('click','.oe_form_button_cancel',this.on_button_cancel); + this.$buttons.on('click', '.oe_form_button_create', this.on_button_create); + this.$buttons.on('click', '.oe_form_button_edit', this.on_button_edit); + this.$buttons.on('click', '.oe_form_button_save', this.on_button_save); + this.$buttons.on('click', '.oe_form_button_cancel', this.on_button_cancel); this.$sidebar = this.options.$sidebar || this.$el.find('.oe_form_sidebar'); if (!this.sidebar && this.options.$sidebar) { @@ -755,6 +755,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM this.on_record_loaded(this.datarecord); } } + this.trigger('on_button_cancel'); return false; }, on_button_new: function() { -- cgit v1.2.3 From f486bf1c9f7f4908e667576c45f07146c459e599 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Wed, 10 Oct 2012 14:08:49 +0200 Subject: [FIX] o2m switch_view bzr revid: al@openerp.com-20121010120849-8qekbmy570zozicn --- addons/web/static/src/js/view_form.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 4bdc122b690..a095ab129c1 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3566,7 +3566,7 @@ instance.web.form.One2ManyViewManager = instance.web.ViewManager.extend({ }); this.__ignore_blur = false; }, - do_switch_view: function(mode, unused) { + switch_mode: function(mode, unused) { if (mode !== 'form') { return this._super(mode, unused); } @@ -4204,7 +4204,7 @@ instance.web.form.FieldMany2ManyKanban = instance.web.form.AbstractField.extend( self.initial_is_loaded.resolve(); loaded.resolve(); }); - this.kanban_view.do_switch_view.add_last(_.bind(this.open_popup, this)); + this.kanban_view.on('switch_mode', this, this.open_popup); $.async_when().then(function () { self.kanban_view.appendTo(self.$el); }); -- cgit v1.2.3